小编tau*_*orf的帖子

C#中使用C#进行用户身份验证

我想在c#中执行以下cURL请求:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \
   -d '<workspace><name>acme</name></workspace>' \
   http://localhost:8080/geoserver/rest/workspaces
Run Code Online (Sandbox Code Playgroud)

我尝试过使用WebRequest:

string url = "http://localhost:8080/geoserver/rest/workspaces";
WebRequest request = WebRequest.Create(url);

request.ContentType = "Content-type: text/xml";
request.Method = "POST";
request.Credentials = new NetworkCredential("admin", "geoserver");

byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes("<workspace><name>my_workspace</name></workspace>");
Stream reqstr = request.GetRequestStream();
reqstr.Write(buffer, 0, buffer.Length);
reqstr.Close();

WebResponse response = request.GetResponse();
...
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:(400)请求不好.

如果我更改请求凭据并在标头中添加身份验证:

string url = "http://localhost:8080/geoserver/rest/workspaces";
WebRequest request = WebRequest.Create(url);

request.ContentType = "Content-type: text/xml";
request.Method = "POST";
string authInfo = "admin:geoserver";
request.Headers["Authorization"] = "Basic " + authInfo;

byte[] …
Run Code Online (Sandbox Code Playgroud)

.net c# authentication curl geoserver

11
推荐指数
2
解决办法
2万
查看次数

没有Google API的地理编码?

我无法找到一种方法,可以在使用谷歌地理编码API的情况下将地址转换为长/纬度坐标.我正在使用Open Layers和Open Street Map,并且因为2.500次/天的限制而不得不避免google api.

google-maps geocoding openlayers openstreetmap

9
推荐指数
1
解决办法
2843
查看次数

Google Maps API密钥提醒

我的Google Maps API密钥存在问题.我得到一个警告说" This web site needs a different Google Maps API key."当我预先确定警报时,地图正在加载并正常工作.

已发布相同的问题: Google Maps API密钥无效

我曾尝试为" http://www.domain.com "和" http://domain.com " 请求API密钥,但我仍然收到警报.当我按照他们的FQA中的说明并使用alert(window.location.host)时,我得到www.domain.com但是api密钥生成器只接受域名,如果前缀是http://

有人有解决方案吗?

google-maps

7
推荐指数
1
解决办法
5465
查看次数

在c#中读取gml

我在c#中读取一些gml文件时遇到问题.我的文件没有架构或命名空间,看起来像这个问题的文件:

使用C#Linq解析GML数据到XML

只有像这样的模式:

<gml:Polygon srsName='http://www.opengis.net/gml/srs/epsg.xml#4283'>
 <gml:outerBoundaryIs>
  <gml:LinearRing>
   <gml:coord>
    <gml:X>152.035953</gml:X>
    <gml:Y>-28.2103190007845</gml:Y>
   </gml:coord>
   <gml:coord>
    <gml:X>152.035957</gml:X>
    <gml:Y>-28.2102020007845</gml:Y>
   </gml:coord>
   <gml:coord>
    <gml:X>152.034636</gml:X>
    <gml:Y>-28.2100120007845</gml:Y>
    </gml:coord>
   <gml:coord>
    <gml:X>152.034617</gml:X>
    <gml:Y>-28.2101390007845</gml:Y>
    </gml:coord>
   <gml:coord>
    <gml:X>152.035953</gml:X>
    <gml:Y>-28.2103190007845</gml:Y>
    </gml:coord>
  </gml:LinearRing>
 </gml:outerBoundaryIs>
</gml:Polygon>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用XDocument.Load方法读取文档时,我得到一个异常说:'gml' namespace is not defined.

我有很多gml文件,所以我不想将架构和命名空间添加到我的所有文件中.有人知道如何阅读我的文件吗?

c# xml gml-geographic-markup-lan

6
推荐指数
1
解决办法
3781
查看次数

哪个是使用PostGIS和OpenLayers的最佳方式?

我有一个带有城市表的postgresql数据库表,该表具有城市坐标的地理字段.

我创建了一个循环遍历这些记录的php页面,转换latit/longit中的geo字段,并在ajax调用期间在OpenLayers地图中绘制一个标记到城市.

我不知道这是否是正确的方法:有没有办法直接将sql查询绑定到地图而不必循环?数据库和OpenLayers地图之间是否存在更直接的关系?

postgresql postgis openlayers

5
推荐指数
1
解决办法
2353
查看次数

PostgreSQL联合两个表并与第三个表连接

我想与表联合并将它们与第三个元数据表连接起来,我想知道哪种方法最好/最快?
该数据库是PostgreSQL.
以下是我的两个建议,但欢迎其他方法.

在两个表上的union之前进行连接:

SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM table1 a, metadata b WHERE a.metadata_id = b.id
UNION ALL
SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM table2 a, metadata b WHERE a.metadata_id = b.id
Run Code Online (Sandbox Code Playgroud)

或者首先进行联合,然后进行联接:

SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM
(
    SELECT id, feature_type, metadata_id FROM table1
    UNION ALL
    SELECT id, feature_type, metadata_id FROM table2
)a, metadata b
WHERE a.metadata_id = b.id
Run Code Online (Sandbox Code Playgroud)

sql postgresql union join query-optimization

3
推荐指数
1
解决办法
7314
查看次数

是否可以在PostgreSQL中创建一个以列名作为输入的函数?

我有两个这样的表:

CREATE TABLE table1_lang
(
  id serial NOT NULL,
  lang1 character varying,
  lang2 character varying,
  ...
)

CREATE TABLE table2_lang
(
  id serial NOT NULL,
  table1_id NOT NULL,
  lang1 character varying,
  lang2 character varying,
  ...
)
Run Code Online (Sandbox Code Playgroud)

每个lang列均包含不同语言的名称。我想创建一个从table1_lang返回所选lang的函数(如果存在)。如果该名称在table1_lang中不存在,则该函数应从table2_lang返回该名称。

到目前为止,我已经使用plpgsql中的此函数解决了我的问题:

CREATE OR REPLACE FUNCTION get_name(integer, text)
  RETURNS character varying AS
$BODY$
DECLARE
    in_id ALIAS FOR $1;
    lang ALIAS FOR $2;
    table1_name varchar;
    table2_name varchar;
BEGIN
    IF lang IS NOT NULL AND lang = 'lang1' THEN
        SELECT a.lang1 INTO table1_name
            FROM table1_lang a …
Run Code Online (Sandbox Code Playgroud)

database postgresql function plpgsql

3
推荐指数
1
解决办法
587
查看次数