Un amigo y yo estamos creando una biblioteca LINQ to ESRI bastante sencilla que envía consultas HTTP a un ArcGIS MapServer y luego analiza la respuesta JSON de manera adecuada.
Actualmente todo funciona a la perfección, excepto una cosa; múltiples declaraciones Where. Esto parece un simple problema de sintaxis, pero parece que no puedo hacer que funcione, o averiguar si es compatible. Estoy tratando de hacer algo como esto.
No 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
También funciona:
MapServer/22/query?where=MY_OTHER_FIELD='Whatever'&f=json
He intentado varias versiones de sintaxis diferentes, pero parece que no puedo obtener una instrucción Where múltiple que funcione. Esta es mi fuente principal para desglosar estas consultas. Si alguien conoce la sintaxis para hacer esto, o conoce la fuente que dice que no es posible.
arcgis-server
rest
json
html
jsmith
fuente
fuente
Respuestas:
Apéguese a un solo parámetro where en su cadena de consulta. Aquí hay un ejemplo de una cláusula where que golpea múltiples campos: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelInterse+&HHD75% + ST% 27 + o + objectid% 3D193510 & returnIdsOnly = false & returnGeometry = true & outFields =% 27status, objectid% 27 & f = html
fuente