ESRI HTTP, где запрос

9

В настоящее время мы с другом создаем довольно простую библиотеку LINQ to 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. Это мой основной источник для разбивки этих запросов. Если кто-то знает синтаксис для этого или знает источник, который говорит, что это невозможно.

JSmith
источник
1
LINQ to ESRI звучит как отличная идея, дайте нам знать, как это происходит.
Бритт Уэскотт

Ответы:

8

Придерживайтесь одного параметра where в строке запроса. Вот пример предложения where, попадающего в несколько полей: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects+WW8827W278 + ST% 27 + или + ObjectID% 3D193510 & returnIdsOnly = ложно & returnGeometry = истина & outFields =% 27status, ObjectID% 27 & F = HTML

Дерек Суингли
источник
2
+1 В документе сказано, что аргумент where может быть следующим: «Допустим любой допустимый оператор SQL where, работающий с полями в слое». хотя я подозреваю, что есть законные SQL, где предложения не поддерживаются.
Кирк Куйкендалл
Я вижу, что это происходит, так как ESRI не поддерживает некоторые пункты о простых IQueryFilters ...
Джордж Сильва