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.