ESRI HTTP wo Abfrage

9

Ein Freund und ich erstellen derzeit eine ziemlich einfache LINQ to ESRI-Bibliothek, die HTTP-Abfragen an einen ArcGIS MapServer sendet und dann die JSON-Antwort entsprechend analysiert.

Bis auf eine Sache funktioniert derzeit alles wunderbar. mehrere Where-Anweisungen. Dies scheint ein einfaches Syntaxproblem zu sein, aber ich kann es anscheinend nicht zum Laufen bringen oder herausfinden, ob es unterstützt wird. Ich versuche so etwas zu tun.

Funktioniert nicht:

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

Funktioniert:

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

Funktioniert auch:

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

Ich habe verschiedene Syntaxversionen ausprobiert, kann aber anscheinend keine Mehrfach-Where-Anweisung zum Laufen bringen. Dies ist meine Hauptquelle für die Aufschlüsselung dieser Abfragen. Wenn jemand die Syntax dafür kennt oder die Quelle kennt, die besagt, dass dies nicht möglich ist.

jsmith
quelle
1
LINQ to ESRI klingt nach einer großartigen Idee. Lassen Sie uns wissen, wie es geht.
Britt Wescott

Antworten:

8

Halten Sie sich an einen einzelnen where-Parameter in Ihrer Abfragezeichenfolge. Hier ist ein Beispiel für eine where-Klausel, die mehrere Felder trifft: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects&where=address%3D% + ST% 27 + oder + Objekt-ID% 3D193510 & returnIdsOnly = false & returnGeometry = true & outFields =% 27status, Objekt-ID% 27 & f = html

Derek Swingley
quelle
2
+1 Das Dokument gibt an, dass das Argument where "Jede legale SQL where-Klausel sein kann, die für die Felder in der Ebene ausgeführt wird." obwohl ich vermute, dass es legale SQL-Klauseln gibt, die nicht unterstützt werden.
Kirk Kuykendall
Ich kann das sehen, da ESRI einige Klauseln für einfache IQueryFilters nicht unterstützt ...
George Silva