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.
quelle
Antworten:
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
quelle