ESRI HTTP tempat kueri

9

Seorang teman dan saya saat ini sedang membuat LINQ ke ESRI library yang cukup lurus ke depan yang mengirimkan permintaan HTTP ke ArcGIS MapServer dan kemudian mem-parsing respon JSON dengan tepat.

Semuanya saat ini bekerja dengan indah kecuali satu hal; beberapa pernyataan Where. Ini sepertinya masalah sintaksis yang sederhana, tetapi sepertinya saya tidak bisa membuatnya bekerja, atau mencari tahu apakah itu didukung. Saya mencoba melakukan sesuatu seperti ini.

Tidak bekerja:

MapServer/22/query?where=MY_FIELD='Whatever'&where=MY_OTHER_FIELD='Whatever'&f=json

Apakah Bekerja:

MapServer/22/query?where=MY_FIELD='Whatever'&f=json

Juga Bekerja:

MapServer/22/query?where=MY_OTHER_FIELD='Whatever'&f=json

Saya telah mencoba beberapa versi sintaks yang berbeda, tetapi sepertinya tidak bisa mendapatkan beberapa pernyataan Where untuk bekerja. Ini adalah sumber utama saya untuk memecah pertanyaan ini. Jika ada yang tahu sintaks untuk melakukan ini, atau tahu sumber yang mengatakan itu tidak mungkin.

jsmith
sumber
1
LINQ ke ESRI terdengar seperti ide bagus, beri tahu kami bagaimana kelanjutannya.
Britt Wescott

Jawaban:

8

Tetap pada parameter tunggal di mana di string kueri Anda. Berikut adalah contoh dari klausa mana yang mengenai beberapa bidang: http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/MapServer/0/query?geometryType=esriGeometryPoint&spatialRel=esriSpatialRelIntersects&HOWDalam URL buku alamat + ST% 27 + atau + objectid% 3D193510 & returnIdsOnly = false & returnGeometry = true & outFields =% 27status, objectid% 27 & f = html

Derek Swingley
sumber
2
+1 Doc mengatakan di mana arg bisa menjadi "Setiap SQL hukum tempat klausa yang beroperasi pada bidang di lapisan diizinkan." meskipun saya curiga ada SQL legal di mana klausa yang tidak didukung.
Kirk Kuykendall
Saya dapat melihat hal itu terjadi, karena ESRI tidak mendukung beberapa klausa tentang IQueryFilters sederhana ...
George Silva