No momento, um amigo e eu estamos criando uma biblioteca LINQ to ESRI bastante direta que envia consultas HTTP para um ArcGIS MapServer e analisa a resposta JSON adequadamente.
Atualmente, tudo está funcionando lindamente, exceto uma coisa; várias instruções Where. Parece um problema simples de sintaxe, mas não consigo fazê-lo funcionar ou descobrir se é compatível. Estou tentando fazer algo assim.
Não funciona:
MapServer/22/query?where=MY_FIELD='Whatever'&where=MY_OTHER_FIELD='Whatever'&f=json
Funciona:
MapServer/22/query?where=MY_FIELD='Whatever'&f=json
Também funciona:
MapServer/22/query?where=MY_OTHER_FIELD='Whatever'&f=json
Eu tentei várias versões de sintaxe diferentes, mas não consigo obter uma instrução Where múltipla para funcionar. Esta é minha fonte principal de detalhamento dessas consultas. Se alguém conhece a sintaxe para fazer isso, ou conhece a fonte que diz que não é possível.
arcgis-server
rest
json
html
jsmith
fonte
fonte
Respostas:
Atenha-se a um único parâmetro where na sua string de consulta. Aqui está um exemplo de uma cláusula where que atinge vários campos: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects&where=address%3D%278 + ST% 27 + ou + objectid% 3D193510 & returnIdsOnly = false & returnGeometry = true & outFields =% 27status, objectid% 27 & f = html
fonte