Apakah ada cara untuk memilih nilai yang berbeda dari kolom di ArcMap? Saya memiliki data dalam format GDB dan SHP. Saya telah mencari cara untuk memilih menggunakan SQL, QueryLayers, ModelBuilder dan masing-masing kotak alat dan tampaknya semua pilihan pilihan selalu SELECT * FROM tableName WHERE ...
Dalam SQL saya akan menulis SELECT DISTINCT columnName FROM tableName.
arcgis-desktop
arcmap
select
Steve
sumber
sumber
Gunakan pemahaman daftar Python.
Untuk dataset besar, metode yang efisien memori adalah menggunakan ekspresi generator .
sumber
fields
argumen opsional , misalnyamyList = set([row.getValue(fldName) for row in arcpy.SearchCursor(fcName, fields=fldName)])
Jika data Anda dalam format PGDB, Anda bisa melakukan hal berikut dalam dialog pembuat kueri (kueri definisi, pilih berdasarkan atribut, ekspresi kotak peralatan, dll.) Menggunakan subquery:
SELECT * FROM tableName WHERE ...
Ini akan mengembalikan catatan yang nilainya unik dalam kolom_to_test_for_unique_values.
sumber
Jika Anda hanya memiliki lisensi Basic (sebelumnya disebut ArcView), Anda bisa membuka tampilan Table, klik kanan kolom, dan pilih Summarize.
sumber
Jika data Anda berada di SDE (mesin basis data spasial) seseorang dapat menggunakan objek ArcSDESQLExecute python dan arcpy. Satu dapat melewati sql kompleks menggunakan "metode."
sumber
Atau gunakan skrip Python Anda untuk mengekspor ke CSV dan kemudian gunakan Python API dari basis data lain (katakanlah SpatiaLite) untuk membaca csv dan lakukan kueri SQL yang tepat di dalamnya dari dalam skrip yang sama. Untuk sebuah meja besar, ini mungkin sedikit lebih cepat daripada menggulung pembuat daftar Anda sendiri - tidak tahu.
Bagaimanapun Anda melakukannya, ini masih merupakan "fitur" yang sangat mengganggu dari ArcGIS.
sumber
Bagaimana dengan menggunakan a
distinct
di dalam subquery (berikut ini ada pada sebuah Featureseclass FGDB):Perhatikan dari bantuan (10.0) bahwa ini memang memiliki batasan:
sumber
Seperti yang disarankan Justin. Saya biasanya melakukan ringkasan pada bidang yang saya inginkan, kemudian melakukan pilih yang berbeda pada dbf menjalankan sedikit perhitungan untuk mengkategorikan setiap nilai yang berbeda kemudian bergabung kembali ke yang asli.
Ini masih jauh, dan Anda harus fenagel dengan metode caclulation favorit Anda. tapi ...
Apapun yang menyelesaikan pekerjaan.
sumber