Razem z przyjacielem tworzymy teraz całkiem prostą bibliotekę LINQ do biblioteki ESRI, która wysyła zapytania HTTP do ArcGIS MapServer, a następnie odpowiednio analizuje odpowiedź JSON.
Obecnie wszystko działa pięknie, z wyjątkiem jednej rzeczy; wiele instrukcji Where. Wydaje się, że to prosty problem ze składnią, ale wydaje mi się, że nie mogę go uruchomić ani dowiedzieć się, czy jest obsługiwany. Próbuję zrobić coś takiego.
Nie działa:
MapServer/22/query?where=MY_FIELD='Whatever'&where=MY_OTHER_FIELD='Whatever'&f=json
Działa:
MapServer/22/query?where=MY_FIELD='Whatever'&f=json
Działa również:
MapServer/22/query?where=MY_OTHER_FIELD='Whatever'&f=json
Wypróbowałem kilka różnych wersji składni, ale wydaje się, że nie można uzyskać wielu instrukcji Where do działania. To jest moje główne źródło do dzielenia tych zapytań. Jeśli ktoś zna składnię, aby to zrobić, lub zna źródło, które mówi, że nie jest to możliwe.
arcgis-server
rest
json
html
jsmith
źródło
źródło
Odpowiedzi:
Trzymaj się pojedynczego parametru where w ciągu zapytania. Oto przykład klauzuli where uderzającej w wiele pól: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incident/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects&where=address%HD + ST% 27 + lub + objectid% 3D193510 & returnIdsOnly = false & returnGeometry = true & outFields =% 27status, objectid% 27 & f = html
źródło