ESRI HTTP哪里查询


9

我和一个朋友目前正在创建一个非常简单的LINQ to ESRI库,该库将HTTP查询发送到ArcGIS MapServer,然后适当地解析JSON响应。

除了一件事情外,目前一切都运转良好。多个Where语句。这似乎是一个简单的语法问题,但我似乎无法使其正常运行,也无法确定它是否受支持。我正在尝试做这样的事情。

不起作用:

MapServer/22/query?where=MY_FIELD='Whatever'&where=MY_OTHER_FIELD='Whatever'&f=json

是否有效:

MapServer/22/query?where=MY_FIELD='Whatever'&f=json

也可以:

MapServer/22/query?where=MY_OTHER_FIELD='Whatever'&f=json

我尝试了几种不同的语法版本,但似乎无法使用多个Where语句来工作。这是分解这些查询的主要来源。如果有人知道这样做的语法,或者知道说这是不可能的消息来源。


1
LINQ to ESRI听起来是个好主意,让我们知道它的发展过程。
Britt Wescott

Answers:


8

坚持查询字符串中的单个where参数。这是一个where子句击中多个字段的示例:http : //sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query? geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects&where=address%3D%27875+ HOWARD + ST%27 + or +或objectid%3D193510&returnIdsOnly = false&returnGeometry = true&outFields =%27status,objectid%27&f = html


2
+1 文档说where arg可以是“允许在层中的字段上运行的任何合法SQL where子句”。尽管我怀疑存在不支持的合法SQL where子句。
Kirk Kuykendall

我可以看到这种情况的发生,因为ESRI不支持有关简单IQueryFilters的某些子句...
George Silva
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.