ESRI HTTP, де запит


9

Ми з другом зараз створюємо досить прямий LINQ в бібліотеку ESRI, який надсилає запити HTTP до ArcGIS MapServer і потім відповідним чином аналізує відповідь JSON.

Наразі все працює прекрасно, крім однієї речі; Деякі заяви. Це здається простою проблемою синтаксису, але я не можу змусити його працювати чи дізнатися, чи підтримується він. Я намагаюся зробити щось подібне.

Не працює:

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 для ESRI звучить як чудова ідея, повідомте нам, як це відбувається.
Бріт Вескотт

Відповіді:


8

Дотримуйтесь єдиного, де параметр у рядку запиту. Ось приклад пункту, де пункт потрапляє на кілька полів: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIndsesees+whereDHD+++++%DAR+DREEE+++%DAR+Dec++++%DAR+Dec+++++++++++++++++++%%DAR+DREE++++++%%DAR+Dec++++++++++++++++++++++++++++++++++++++++++++ Приклад прикладу того, де стаття потрапляє на кілька полів: + ST% 27 + або + objectid% 3D193510 & returnIdsOnly = false & returnGeometry = true & outFields =% 27status, objectid% 27 & f = html


2
+1 Документ говорить, де arg може бути "Будь-який законний SQL, де дозволено діюче поле, що працює на полях у шарі." хоча я підозрюю, що існують юридичні SQL, де не підтримуються пропозиції.
Кірк Куйкендалл

Я бачу, що це відбувається, оскільки ESRI не підтримує деякі пункти про прості IQueryFilters ...
Джордж Сільва
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.