Lebih banyak lagi

Pilih dan salin ciri atribut di ArcMap menggunakan alat tambah Python?

Pilih dan salin ciri atribut di ArcMap menggunakan alat tambah Python?


Saya cuba menambahkan alat ke bar alat tambahan untuk memilih ciri dari kelas ciri yang ada dan menyalin atribut ke kelas ciri lain, dari satu titik ke satu titik.

TopoHeight_Field_Name = Ujian def '' Comment '(mxd, Transfare_Anno_row): for lyr in arcpy.mapping.ListLayers (mxd): if lyr.name == "sManhole": msg = "Lapisan Anda adalah" + str (lyr) dengan arcpy. da.UpdateCursor (lyr, TopoHeight_Field_Name) sebagai kursor: pythonaddins.MessageBox (msg, "My Layer") untuk baris dalam kursor: pythonaddins.MessageBox (msg, "My Layer") baris [0] = Transfare_Anno_row kursor.up class SelectByLine (objek): "" "Pelaksanaan untuk SelectByLine_addin.tool (Tool)" "" def __init __ (self): self.enabled = True self.shape = 3 def onMouseDownMap (self, x, y, button, shift): mxd = arcpy.mapping.MapDocument ("CURRENT") pointGeom = arcpy.PointGeometry (arcpy.Point (x, y), mxd.activeDataFrame.spatialReference) searchdistance = getSearchDistanceInches (mxd.activeDataFrame.scale) lyr = arcpy. (mxd) [0] # menganggap anda ingin memilih ciri dari lapisan pertama di TOC arcpy.SelectLayerByLocation_management (lyr, "INTERSECT", pointGeom, "% d INCHES"% searchdistance) dengan arcpy.da.SearchCursor (lyr, TextString_Field_Name) sebagai kursor: untuk Anoorow di kursor: Anno_row = Anoorow [0] SourceFlag = 1 message = "Tetikus anda diklik:" + str (x) + "," + str (y) + "Lapisan Anda adalah" + str ( lyr) + "Your Anno Filed is" + str (Anno_row) pythonaddins.MessageBox (mesej, "Koordinat Saya") jika SourceFlag: testing (mxd, Anno_row)

Apabila Saya Memanggil fungsi ujian, ia akan menghantar kotak mesej pertama tetapi tidak dapat menghantar kotak mesej kedua dan tidak mengemas kini baris.


Saya rasa soalan anda membincangkan sama ada mungkin menggunakan satu klik pada alat Python AddIn agar pengguna secara interaktif menentukan agar lebih daripada satu geometri (dalam kes ini dua titik) digunakan dalam pemprosesannya, dan saya rasa jawapannya adalah "Tidak".

Untuk mencapai matlamat anda di sini, dengan hanya menggunakan Python AddIn, saya pada mulanya berpendapat bahawa anda mungkin perlu menggunakan dua alat.

  • Yang pertama menunjukkan ciri yang atributnya ingin anda salin ke nilai pemboleh ubah global.
  • Yang kedua menunjukkan ciri yang anda ingin mengemas kini atribut menggunakan nilai pemboleh ubah global.

Namun, alternatifnya adalah dengan menggunakan satu klik untuk menarik garis dua titik dari ciri yang atributnya ingin anda salin menjadi nilai pemboleh ubah global, ke ciri yang ingin anda kemas kini atribut menggunakan nilai pemboleh ubah global. Anda kemudian boleh menggunakan koordinat kedua ujung tersebut untuk memilih dan menggunakan ciri tersebut.


Awas:

Alat ini mengubah data input. Lihat Alat yang mengubah atau mengemas kini data input untuk lebih banyak maklumat dan strategi untuk mengelakkan perubahan data yang tidak diingini.

Sekiranya medan POINT_X, POINT_Y, POINT_Z, dan POINT_M wujud, nilainya dikira semula.

Nilai medan output POINT_X dan POINT_Y didasarkan pada sistem koordinat set data, bukan sistem koordinat paparan peta. Untuk memaksa nilai POINT_X dan POINT_Y berada dalam sistem koordinat yang berbeza daripada set data input, tetapkan persekitaran Sistem Koordinat Output.

Sekiranya titik dipindahkan setelah menggunakan Koordinat Tambah XY, nilai POINT_X dan POINT_Y mereka, dan nilai POINT_Z dan POINT_M — jika ada — mesti dikira semula dengan menjalankan Tambah Koordinat XY sekali lagi.

Alat Projek tidak mengubah nilai medan POINT_X, POINT_Y, POINT_Z, atau POINT_M.

Sekiranya ciri input berada dalam sistem koordinat geografi, POINT_X dan POINT_Y masing-masing mewakili garis bujur dan garis lintang.


Prosedur

Gunakan mana-mana alat di bawah ini untuk mengekstrak nilai raster untuk menunjukkan lokasi di ArcMap.

Ekstrak Nilai ke Mata

Gunakan alat Ekstrak Nilai ke Mata untuk membuat kelas ciri titik baru yang mengandungi nilai ekstrak lapisan raster.

  1. Di ArcMap, klik Cari ikon dan cari Ekstrak Nilai ke Mata (Penganalisis Spatial).
  2. Di dalam Ekstrak Nilai ke Mata kotak dialog, konfigurasikan seperti berikut:
    1. Untuk Ciri titik input, pilih lapisan titik. Dalam contoh ini, ia adalah Stesen_SW_LA.
    2. Untuk Input raster, pilih lapisan raster. Dalam contoh ini, ia adalah Ketinggian.
    3. Untuk Ciri titik keluaran, tetapkan nama dan lokasi untuk kelas ciri output.
    4. Klik okey.

    Gambar di bawah menunjukkan kelas ciri titik baru dibuat di pangkalan data geodatabase dan Isi kandungan. Dalam jadual atribut, a RASTERVALU lajur dibuat untuk menunjukkan nilai raster yang diekstrak untuk setiap ciri titik.

    Ekstrak Nilai Berbilang ke Mata

    Gunakan alat Ekstrak Multi Nilai ke Mata untuk menambahkan nilai yang diekstrak dari beberapa lapisan raster ke lapisan titik input.

    1. Di ArcMap, klik Cari ikon dan cari Ekstrak Nilai Berbilang ke Mata (Penganalisis Spatial).
    2. Di dalam Ekstrak Nilai Berbilang ke Mata kotak dialog, konfigurasikan seperti berikut:
      1. Untuk Ciri titik input, pilih lapisan titik. Dalam contoh ini, ia adalah Stesen_SW_LA.
      2. Untuk Input raster, pilih beberapa lapisan raster. Dalam contoh ini, mereka adalah Ketinggian, PGA, dan PGV.
      3. Klik okey.

      Gambar di bawah menunjukkan nilai dari tiga lapisan raster yang ditentukan yang dilampirkan ke lapisan titik input.

      Gunakan alat Sampel untuk membuat jadual baru yang mengandungi maklumat mengenai ciri-ciri titik input dan nilai raster masing-masing berdasarkan teknik pengambilan sampel.

      1. Di ArcMap, klik Cari ikon dan cari Contohnya (Penganalisis Spatial).
      2. Di dalam Contohnya kotak dialog, konfigurasikan seperti berikut:
        1. Untuk Input raster, pilih lapisan raster yang dikehendaki. Dalam contoh ini, mereka adalah Ketinggian, PGA, dan PGV.
        2. Untuk Masukkan raster lokasi atau ciri titik, pilih lapisan titik. Dalam contoh ini, ia adalah Stesen_SW_LA.
        3. Konfigurasikan nilai pilihan jika perlu. Klik okey.

        Gambar di bawah menunjukkan nilai raster diekstrak ke setiap ciri titik dalam jadual yang ditambahkan dalam pangkalan data geodatabase dan Isi kandungan. Dalam contoh ini, alat ini dijalankan berkali-kali menggunakan tiga teknik pengambilan sampel: Paling hampir, Bilinear, dan Kubik.

        Tambah Maklumat Permukaan

        Gunakan alat Tambah Maklumat Permukaan untuk menambahkan nilai lapisan raster ke lapisan titik input.

        1. Di ArcMap, klik Cari ikon dan cari Tambah Maklumat Permukaan (Penganalisis 3D).
        2. Di dalam Tambah Maklumat Permukaan kotak dialog, konfigurasikan seperti berikut:
          1. Untuk Kelas Ciri Input, pilih lapisan titik. Dalam contoh ini, ia adalah Stesen_SW_LA.
          2. Untuk Permukaan Input, pilih lapisan raster. Dalam contoh ini, ia adalah Ketinggian.
          3. Untuk Harta Keluaran, pilih atribut yang akan dilampirkan. Dalam contoh ini, ia adalah Z nilai.
          4. Konfigurasikan nilai pilihan jika perlu. Klik okey.

          Gambar di bawah menunjukkan atribut yang dipilih dari lapisan raster ditambahkan ke lapisan titik input.

          Nilai Nilai ke Jadual

          Gunakan alat Ekstrak Nilai Ke Jadual untuk membuat jadual baru yang mengandungi maklumat mengenai ciri titik input dan nilai raster masing-masing.

          1. Di ArcMap, klik Cari ikon dan cari Nilai Nilai ke Jadual (Penganalisis Geostatistik).
          2. Di dalam Nilai Nilai ke Jadual kotak dialog, konfigurasikan seperti berikut:
            1. Untuk Ciri input, pilih lapisan titik. Dalam contoh ini, ia adalah Stesen_SW_LA.
            2. Untuk Input raster, pilih lapisan raster yang dikehendaki. Dalam contoh ini, mereka adalah Ketinggian, PGA, dan PGV.
            3. Klik okey.

            Gambar di bawah menunjukkan jadual output yang mengandungi nilai raster yang diekstrak untuk setiap ciri titik di pangkalan data geodatabase dan Isi kandungan. Dalam contoh ini, perhatikan bahawa jumlah ciri adalah 294 dan bukannya 98. Nilai setiap lapisan raster (tiga lapisan raster dijalankan) untuk setiap ciri titik disenaraikan dengan berbeza OID nilai. Ini adalah versi transposed dari Contohnya jadual output alat. Untuk memahami bagaimana pengekstrakan nilai berfungsi menggunakan peluasan Penganalisis Geostatistik, rujuk Bagaimana Cara Ekstrak Nilai Ke Jadual berfungsi dan Bagaimana Simulasi Geostatistik Gauss berfungsi.


            Pertama, anda akan memuat turun dan membuka data projek lalai di ArcGIS Pro.

            Bergantung pada penyemak imbas web anda, anda mungkin diminta untuk memilih lokasi fail sebelum memulakan muat turun. Sebilangan besar penyemak imbas memuat turun ke folder Muat turun anda secara lalai.

            Folder mengandungi fail projek paket ArcGIS Pro (.ppkx) dan jadual nilai dipisahkan koma (.csv).

            Sekiranya anda tidak mempunyai akaun ArcGIS Pro atau ArcGIS, anda boleh mendaftar untuk percubaan percuma ArcGIS.

            Projek ini mengandungi peta yang menunjukkan sekolah-sekolah di Chatham County, Georgia, Amerika Syarikat, dan zon kehadiran untuk sekolah menengah. Sekolah diwakili sebagai ciri titik, dan zon diwakili sebagai ciri poligon.

            Kedua-dua lapisan ini dimuat turun dari SAGIS Open Data Portal, pusat penjelasan data yang berwibawa untuk kawasan tersebut.


            Rangkaian Sosial dan Web Makanan Ekologi

            Saya membaca artikel menarik baru-baru ini yang membincangkan digital & # 8220autopsi & # 8221 rangkaian sosial Friendster. Friendster adalah datuk dari rangkaian sosial, mendahului MySpace dan Facebook. Pada puncaknya ia mempunyai lebih dari 100 juta pengguna dan tawaran pembelian $ 30 juta dari Google (yang mereka tolak). Walau bagaimanapun, berikutan beberapa masalah teknikal dan reka bentuk semula laman pada tahun 2009, rangkaian mengalami bencana lalu lintas ketika pengguna berpindah ke rangkaian lain seperti Facebook.

            Dalam & # 8220autopsi & # 8221 ini penulis melihat sebab-sebab di sebalik Friendsters & # 8220death & # 8221 dan membincangkan dua sebab umum kegagalan tersebut:

            1. Faktor pertama adalah nisbah kos-faedah: apabila kos, dari segi masa dan usaha yang dilakukan dengan menjadi anggota rangkaian sosial lebih besar daripada faedah yang diperoleh, syarat-syarat ditetapkan untuk pengguna keluar.
            2. Di sinilah pentingnya topologi rangkaian & # 8217s. Sekiranya sebilangan besar orang dalam rangkaian hanya mempunyai dua rakan, maka apabila salah seorang dari mereka pergi, yang lain ditinggalkan sendirian di rangkaian dan kemungkinan akan keluar juga. Ini mengakibatkan lata pengguna meninggalkan rangkaian. Namun, jika orang mempunyai banyak rakan di rangkaian (banyak sambungan), kehilangan satu rakan tidak mungkin mengakibatkan mereka keluar dari rangkaian dan tidak mungkin akan mencetuskan rentetan pengguna yang keluar.

            Penulis menyimpulkan bahawa & # 8220 penyebab kematian & # 8221 disebabkan oleh penurunan nisbah kos-manfaat yang dialami oleh pengguna akibat masalah teknikal dan reka bentuk semula laman web. Namun, ini diperburuk oleh struktur rangkaian.

            Jadi, titik utama di sini adalah bahawa ketahanan rangkaian ditentukan oleh bilangan sambungan yang dimiliki oleh setiap orang dalam rangkaian. Jadi untuk rangkaian tertentu, bahagian rangkaian yang mengandungi sebilangan pecahan rakan dari rangkaian dengan sebilangan rakan dengan sedikit sambungan boleh menjadi petunjuk penting bagi ketahanan keseluruhan rangkaian dari lata.

            Dalam ekologi, web makanan adalah & # 8220jaringan & # 8221 yang menggambarkan komuniti biologi dari segi interaksi antara pengguna dan sumber. Interaksi dimodelkan sebagai hubungan antara pengguna dan sumber yang berkaitan dengan mewakili perpindahan tenaga dan jirim antara keduanya. Interaksi tersebut digambarkan sebagai garis yang menghubungkan pengguna dan sumber daya mereka & # 8211 yang boleh menjadi pemangsa dan mangsa, herbivora dan tumbuhan, tumbuh-tumbuhan dan tanah, dll.

            Apa yang menarik mengenai artikel Friendster adalah sejajar dengan sistem ekologi seperti jaring makanan. Kedua-dua rangkaian sosial dan jaringan makanan memerlukan banyak hubungan untuk kestabilan dan ketahanan. Seperti Friendster, jaring makanan dengan sedikit peserta sangat terdedah kepada keruntuhan atau perubahan radikal secara tiba-tiba dalam strukturnya (disebut & # 8220trophic cascade & # 8220), di mana kehilangan atau penambahan satu atau lebih peserta utama dengan berkesan mengubah keseluruhan web makanan dengan mengubah pautan utama antara peserta rangkaian. (Contohnya, mustahil untuk bermain permainan Kevin Bacon jika dia bukan sebahagian daripada jaringan).

            Untuk rangkaian sosial, kunci kestabilan adalah setiap orang mempunyai banyak Rakan sehingga kehilangan mana-mana rakan dari rangkaian itu ditopang oleh banyak hubungan yang dimiliki oleh setiap orang dengan rakan-rakan yang lain. Untuk jaring makanan, kestabilan berasal dari struktur yang serupa: mereka memerlukan banyak peserta dalam jaringan makanan (rangkaian) untuk membuat banyak jalan yang berbeza antara sumber. Mempunyai banyak peserta memerlukan pelestarian biodiversiti. Sekiranya keanekaragaman hayati sistem diubah terlalu banyak dengan kehilangan pemangsa teratas atau pengenalan spesies invasif, & # 8220jaringan & # 8221 dapat berubah. Apabila ini berlaku, hubungan penting antara spesies dapat terputus dan hubungan lain dapat timbul ketika spesies yang baru diperkenalkan bersaing untuk sumber yang sama yang sebelumnya hanya dihubungkan dengan spesies asli. Sekiranya rangkaian tidak mengandungi banyak peserta dan mempunyai sedikit sambungan, walaupun perubahan kecil dalam rangkaian akan memberi kesan drastik & # 8211 dalam keadaan terburuk, ia boleh mengakibatkan lata trofik, seperti yang & # 8220kawan & # 8221 Friendster .

            Gambar pilihan dari: http://coralreef.noaa.gov/education/educators/resourcecd/posters/images/iyor_foodweb.jpg


            FeatureLayerCollection¶

            A FeatureLayerCollection adalah kumpulan lapisan dan jadual ciri, dengan hubungan yang berkaitan antara entiti.

            Dalam GIS web, koleksi lapisan fitur ditampilkan sebagai perkhidmatan fitur dengan beberapa lapisan fitur.

            Contoh FeatureDatasets dapat diperoleh dari Item perkhidmatan ciri dalam GIS menggunakan FeatureLayerCollection.fromitem (item), dari titik akhir perkhidmatan ciri menggunakan konstruktor, atau dengan mengakses atribut set data objek lapisan fitur.

            FeatureDatasets dapat dikonfigurasi dan dikendalikan menggunakan objek penolong pengurus mereka.

            Sekiranya set data menyokong operasi penyegerakan, objek penolong replika membolehkan pengurusan dan penyegerakan replika untuk pengeditan terputus koleksi lapisan ciri.

            Catatan: Anda boleh menggunakan lapisan dan jadual harta untuk pergi ke lapisan dan jadual individu dalam koleksi lapisan ciri ini.

            ekstrak_tukar ( lapisan , pelayan , pertanyaan = Tiada , geometri = Tiada , geometri_jenis = Tiada , in_sr = Tiada , versi = Tiada , return_inserts = Salah , return_updates = Salah , return_deletes = Salah , return_ids_only = Salah , return_extent_only = Salah , return_attachments = Salah , lampiran_by_url = Salah , data_format = 'json' , change_extent_grid_cell = Tiada ) ¶

            Penjejakan perubahan perkhidmatan ciri adalah mekanisme penjejakan perubahan yang efisien untuk aplikasi. Aplikasi dapat menggunakan pelacakan perubahan untuk membuat pertanyaan perubahan yang telah dibuat pada lapisan dan tabel dalam layanan. Untuk perkhidmatan ciri berasaskan geodatabase perusahaan yang diterbitkan dari ArcGIS Pro 2.2 atau lebih tinggi, keupayaan ChangeTracking memerlukan semua lapisan dan jadual untuk diaktifkan arkib atau versi cawangan dan mempunyai lajur globalid. Penjejakan perubahan juga boleh diaktifkan untuk perkhidmatan ciri dihoskan ArcGIS Online. Sekiranya semua lapisan dan jadual dalam perkhidmatan mempunyai kemampuan ChangeTracking, operasi extract_changes dapat digunakan untuk mendapatkan perubahan.

            Penerangan

            Senarai Wajib. Senarai lapisan (mengikut nilai indeks) dan jadual untuk disertakan dalam output.

            Senarai Wajib. Nombor servergen membolehkan pelanggan menentukan nombor generasi lapisan terakhir (nilai masa Unix dalam milisaat) untuk perubahan yang diterima dari pelayan. Semua perubahan yang dibuat setelah nilai ini akan dikembalikan.

            • minServerGen: Ia adalah generasi perubahan data pelayan. Pelanggan dengan layerServerGens yang kurang dari minServerGen tidak dapat mengekstrak perubahan dan perlu membuat pertanyaan pelayan / lapisan penuh dan bukannya mengekstrak perubahan.

            • serverGen: Ini adalah jumlah perubahan generasi pelayan semasa. Setiap fitur yang diubah mempunyai versi atau nombor generasi yang diubah setiap kali fitur tersebut diperbarui.

            Nilai id untuk lapisan adalah indeks lapisan dari atribut lapisan pada FeatureLayerCollection. Nilai serverGen adalah nilai cap waktu Unix dalam milisaat.

            Kamus Pilihan. Sebagai tambahan kepada parameter lapisan dan geometri, parameter pertanyaan dapat digunakan untuk menentukan lebih lanjut perubahan yang akan dikembalikan. Parameter ini membolehkan anda menetapkan sifat pertanyaan pada setiap lapisan atau per-jadual. Sekiranya ID lapisan terdapat dalam parameter lapisan dan hilang dari pertanyaan lapisan, ciri yang berubah yang bersilang dengan geometri penapis dikembalikan.

            Hartanah ini merangkumi yang berikut:

            • di mana - Mendefinisikan pertanyaan atribut untuk lapisan atau jadual. Fasalnya ialah klausa no mana.

            • useGeometry - Menentukan sama ada menerapkan geometri untuk lapisan atau tidak. Lalai adalah benar. Sekiranya disetel ke false, ciri dari lapisan yang bersilang dengan geometri tidak akan ditambahkan.

            • includeRelated - Menentukan sama ada mahu menambah baris yang berkaitan atau tidak. Lalai adalah benar. Nilai benar dihormati hanya untuk queryOption = tidak ada. Ini hanya berlaku jika data anda mempunyai kelas hubungan. Hubungan hanya diproses ke arah hadapan dari asal ke destinasi.

            • queryOption - Menentukan sama ada atau bagaimana penapis akan diterapkan pada lapisan. QueryOption ditambahkan pada 10.2. Lihat topik nota Keserasian untuk maklumat lebih lanjut. Nilai yang sah adalah Tiada, useFilter atau semua. Lihat juga lajur layerQueries dalam jadual Permintaan Parameter dalam bantuan Ekstrak Perubahan (Perkhidmatan Ciri) untuk perincian dan contoh kod.

            • Apabila nilainya tidak ada, tidak ada ciri yang dikembalikan berdasarkan geometri tempat dan tapisan.

            • Sekiranya includeRelated salah, tidak ada ciri yang dikembalikan.

            • Sekiranya includeRelated benar, ciri-ciri dalam lapisan ini (yang berkaitan dengan ciri-ciri pada lapisan lain dalam replika) dikembalikan.

            • Apabila nilainya adalah useFilter, ciri yang memuaskan penapisan berdasarkan geometri dan di mana dikembalikan. Nilai includeRelated tidak diambil kira.

            Geometri / Luas Pilihan. Geometri untuk digunakan sebagai penapis ruang untuk perubahan. Semua ciri yang berubah dalam lapisan yang bersilangan dengan geometri ini akan dikembalikan. Struktur geometri adalah sama dengan struktur objek geometri JSON yang dikembalikan oleh ArcGIS REST API. Sebagai tambahan kepada struktur JSON, untuk sampul surat dan titik anda boleh menentukan geometri dengan sintaks yang dipisahkan koma.

            Rentetan Pilihan. Jenis geometri yang ditentukan oleh parameter geometri. Jenis geometri boleh menjadi sampul surat, titik, garis atau poligon. Jenis geometri lalai adalah sampul surat.

            Nilai: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, esriGeometryEnvelope

            Integer Pilihan. Rujukan spasial geometri input.

            Integer / Rentetan Pilihan. Rujukan spatial output dari perubahan yang dikembalikan.

            Rentetan Pilihan. Sekiranya versi cabang diaktifkan, pengguna dapat menentukan nama versi cabang untuk mengekstrak perubahan dari.

            Boolean Pilihan. Sekiranya benar, ciri yang baru dimasukkan akan dikembalikan. Lalai adalah salah.

            Boolean Pilihan. Sekiranya benar, ciri yang dikemas kini akan dikembalikan. Lalai adalah salah.

            Boolean Pilihan. Sekiranya benar, ciri yang dipadam akan dikembalikan. Lalai adalah salah.

            Boolean Pilihan. Sekiranya benar, tindak balas merangkumi pelbagai ID objek sahaja. Lalai adalah salah.

            Boolean Pilihan. Sekiranya benar, perubahan lampiran dikembalikan sebagai tindak balas. Jika tidak, lampiran tidak termasuk. Lalai adalah salah. Parameter ini hanya berlaku jika layanan fitur mempunyai lampiran.

            Boolean Pilihan. Sekiranya benar, rujukan ke URL akan diberikan untuk setiap lampiran yang dikembalikan. Jika tidak, lampiran disertakan dalam tindak balas. Lalai adalah benar.

            Rentetan Pilihan. Format perubahan dikembalikan dalam tindak balas. Lalai adalah json. Nilai: sqllite atau json

            Rentetan Pilihan. Untuk mengoptimumkan tahap penyetempatan perubahan, medium nilai adalah grid 8x8 yang mengikat tahap perubahan. Digunakan hanya apabila return_extent_only benar. Lalai adalah tidak ada. Nilai: Tiada, besar, sederhana, atau kecil

            kamus yang mengandungi layerServerGens dan pelbagai suntingan

            objek penolong untuk menguruskan koleksi lapisan ciri, mengemas kini definisi, dll

            Sifat-sifat objek ini

            pertanyaan ( layer_defs_filter = Tiada , geometri_filter = Tiada , time_filter = Tiada , return_geometry = Betul , return_ids_only = Salah , return_count_only = Salah , return_z = Salah , return_m = Salah , out_sr = Tiada ) ¶

            menanyakan koleksi lapisan ciri

            Query_domains mengembalikan maklumat domain penuh untuk domain yang dirujuk oleh lapisan dalam koleksi lapisan ciri. Operasi ini dilakukan pada koleksi lapisan ciri. Operasi mengambil pelbagai ID lapisan dan mengembalikan kumpulan domain yang dirujuk oleh lapisan.

            Penerangan

            Senarai Wajib. Pelbagai lapisan. Kumpulan domain yang akan dikembalikan adalah berdasarkan domain yang dirujuk oleh lapisan ini. Contoh: [1,2,3,4]

            pertanyaan_berkaitan_kod ( objek_id , hubungan_id , out_fields = '*' , definition_expression = Tiada , return_geometry = Betul , max_allowable_offset = Tiada , geometri_precision = Tiada , out_wkid = Tiada , gdb_version = Tiada , return_z = Salah , return_m = Salah ) ¶

            Operasi Query dilakukan pada sumber lapisan perkhidmatan ciri. Hasil operasi ini adalah set ciri yang dikelompokkan berdasarkan lapisan sumber / ID objek jadual. Setiap set fitur mengandungi objek Feature termasuk nilai untuk bidang yang diminta oleh pengguna. Untuk lapisan yang berkaitan, jika anda meminta maklumat geometri, geometri setiap ciri juga dikembalikan dalam set ciri. Untuk jadual yang berkaitan, set ciri tidak termasuk geometri.

            Penerangan

            Rentetan pilihan. ID objek jadual / lapisan yang akan ditanyakan.

            Rentetan pilihan. ID hubungan yang akan ditanyakan.

            String pilihan. Senarai medan dari jadual / lapisan yang berkaitan untuk dimasukkan ke dalam set ciri yang dikembalikan. Senarai ini adalah senarai nama bidang yang dipisahkan koma. Sekiranya anda menentukan bidang bentuk dalam senarai medan pengembalian, maka ia akan diabaikan. Untuk meminta geometri, tetapkan return_geometry ke true. Anda juga boleh menentukan wildcard "*" sebagai nilai parameter ini. Dalam kes ini, hasilnya akan merangkumi semua nilai medan.

            Rentetan pilihan. Ungkapan definisi yang akan digunakan pada jadual / lapisan yang berkaitan. Dari senarai objekId, hanya rekod yang sesuai dengan ungkapan ini yang ditanyakan untuk rekod yang berkaitan.

            Boolean pilihan. Sekiranya benar, set ciri merangkumi geometri yang berkaitan dengan setiap ciri. Lalai adalah benar.

            Apungan pilihan. Pilihan ini dapat digunakan untuk menentukan max_allowable_offset yang akan digunakan untuk generalisasi geometri yang dikembalikan oleh operasi pertanyaan. Max_allowable_offset terdapat dalam unit outSR. Sekiranya outSR tidak ditentukan, maka max_allowable_offset dianggap berada dalam unit rujukan spasial peta.

            Bilangan bulat pilihan. Pilihan ini boleh digunakan untuk menentukan bilangan tempat perpuluhan dalam geometri tindak balas.

            Bilangan bulat pilihan. Rujukan spasial geometri yang dikembalikan.

            Rentetan pilihan. Versi geodatabase untuk pertanyaan. Parameter ini hanya berlaku jika sifat isDataVersioned lapisan yang ditanyakan adalah benar.

            Boolean pilihan. Sekiranya benar, nilai Z dimasukkan dalam hasil jika ciri tersebut mempunyai nilai Z. Jika tidak, nilai Z tidak dikembalikan. Lalai adalah salah.

            Boolean pilihan. Sekiranya benar, nilai M dimasukkan dalam hasil jika ciri mempunyai nilai M. Jika tidak, nilai M tidak dikembalikan. Lalai adalah salah.

            Properti hubungan memberikan maklumat hubungan untuk lapisan dan jadual dalam koleksi lapisan ciri.

            Sumber hubungan merangkumi maklumat mengenai peraturan hubungan dari kelas hubungan belakang, selain maklumat hubungan yang terdapat dalam lapisan dan jadual individu.

            Koleksi lapisan ciri yang menyokong sumber hubungan akan mempunyai "mendukungRelationshipsResource": harta sebenarnya pada sifat mereka.

            memuat naik ( jalan , keterangan = Tiada ) ¶

            Memuat naik item baru ke pelayan. Setelah operasi berjaya diselesaikan, struktur JSON item yang dimuat naik akan dikembalikan.

            Penerangan

            Rentetan pilihan. Laluan fail untuk dimuat naik.

            Rentetan pilihan. Teks deskriptif untuk item yang dimuat naik.

            Mengembalikan VersionManager untuk membuat, mengemas kini dan menggunakan versi pada FeatureLayerCollection. Sekiranya versi tidak diaktifkan pada perkhidmatan, Tidak ada yang dikembalikan.


            3.2.3 Mengambil rekod menggunakan pertanyaan atribut

            Contoh sebelumnya menggunakan objek SearchCursor untuk membaca setiap catatan dalam set data. Anda boleh mendapatkan yang lebih spesifik dengan kursor carian dengan memerintahkannya untuk mengambil hanya subkumpulan rekod yang atributnya memenuhi beberapa kriteria, misalnya, "hanya catatan dengan populasi lebih dari 10000" atau "semua rekod yang dimulai dengan huruf P - Z . "

            Untuk semakan, ini adalah bagaimana anda membina kursor carian untuk beroperasi pada setiap rekod dalam set data menggunakan modul arcpy.da:

            Sekiranya anda mahu kursor carian hanya mengambil subkumpulan rekod berdasarkan beberapa kriteria, anda boleh memberikan ungkapan SQL (klausa mana) sebagai argumen ketiga dalam konstruktor (pembina adalah kaedah yang membuat SearchCursor). Sebagai contoh:

            Contoh di atas menggunakan ungkapan SQL POP2018 & gt 100000 untuk mendapatkan hanya catatan yang populasinya lebih besar daripada 100000. SQL bermaksud "Struktur Berseri Bahasa" dan merupakan sintaks khas yang digunakan untuk membuat set data. Sekiranya anda pernah menggunakan Definition Query untuk menyaring data lapisan dalam Pro, maka anda mempunyai beberapa pendedahan mengenai jenis pertanyaan SQL ini. Sekiranya SQL baru bagi anda, luangkan masa beberapa minit sekarang untuk membaca Tulis pertanyaan di Pembangun Pertanyaan dalam Bantuan ArcGIS Pro. Topik ini adalah pengenalan sederhana untuk SQL dalam konteks ArcGIS.

            Ungkapan SQL boleh mengandungi kombinasi kriteria yang memungkinkan anda menentukan subkumpulan rekod yang sangat fokus. Kerumitan pertanyaan anda hanya dibatasi oleh data yang ada. Sebagai contoh, anda boleh menggunakan ungkapan SQL untuk mencari hanya keadaan dengan kepadatan penduduk lebih dari 100 orang per batu persegi yang bermula dengan huruf M dan diselesaikan setelah tahun 1850.

            Perhatikan bahawa ungkapan SQL yang anda berikan untuk kursor carian adalah untuk pertanyaan atribut, bukan pertanyaan spatial. Anda tidak dapat menggunakan ungkapan SQL untuk memilih catatan yang jatuh "di sebelah barat Sungai Mississippi", atau "di dalam sempadan Kanada" melainkan anda sebelum ini telah menambah dan mengisi beberapa atribut yang menyatakan sama ada keadaan itu benar (contohnya, REGION = 'Western' atau CANADIAN = True). Kemudian dalam pelajaran ini kita akan membincangkan bagaimana membuat pertanyaan spatial menggunakan alat geoprosesing Pilih Dengan Lokasi.

            Sebaik sahaja anda mengambil subset rekod, anda boleh mengikuti corak lelaran yang sama melalui mereka menggunakan loop for.

            Mengendalikan tanda petikan

            Apabila anda memasukkan ungkapan SQL dalam konstruktor SearchCursor anda, anda mesti memberikannya sebagai rentetan. Di sinilah keadaan boleh menjadi rumit dengan tanda petik kerana bahagian ungkapan mungkin juga perlu dikutip (khususnya nilai rentetan, seperti singkatan keadaan). Peraturan untuk menulis pertanyaan dalam ArcGIS Pro adalah bahawa nilai rentetan mesti disertakan dalam tanda petik tunggal. Oleh itu, anda harus memasukkan ungkapan keseluruhan dalam petikan ganda.

            Sebagai contoh, andaikan skrip anda membenarkan pengguna memasukkan ID bungkusan dan anda perlu mencarinya dengan kursor carian. Ungkapan SQL anda mungkin kelihatan seperti ini: "PARCEL = 'A2003KSW'".

            Mengendalikan tanda petikan dipermudahkan dalam Pro berbanding dengan ArcMap. Dalam ArcMap, format data tertentu memerlukan nama bidang dimasukkan dalam tanda petik ganda, yang apabila digabungkan dengan nilai rentetan yang ada dalam ekspresi, dapat membuat pembinaan ekspresi dengan betul cukup menyakitkan. Sekiranya anda merasa perlu menulis skrip ArcMap yang meminta data, periksa halaman selari dalam versi ArcMap pelajaran ini (lihat pautan navigasi kursus di sebelah kanan).

            Memilih rekod mengikut atribut

            Sebagai pengguna ArcGIS Pro, anda mungkin telah mengklik Pilih Mengikut Atribut butang, yang terletak di bawah tab Peta, untuk melakukan pertanyaan atribut. Apa yang telah kita bicarakan dalam bahagian pelajaran ini mungkin mengingatkan anda untuk melakukan pertanyaan seperti itu, tetapi penting untuk diperhatikan bahawa membuka kursor carian dengan ungkapan SQL (atau di mana klausa) seperti yang dijelaskan di atas tidak sama jenis operasi. Kursor carian digunakan dalam situasi di mana anda ingin melakukan semacam pemprosesan rekod satu persatu. Sebagai contoh, seperti yang kita lihat, mencetak nama bandar atau mengira jumlah penduduknya.

            Sebilangan situasi sebaliknya memerlukan membuat pilihan pada kelas ciri (iaitu, memperlakukan ciri yang dikenal pasti oleh pertanyaan sebagai satu unit). Ini dapat dilakukan dalam skrip Python dengan menggunakan alat Select Layer By Attribute (yang sebenarnya adalah alat yang terbuka ketika anda mengklik butang Select By Attribut di Pro). Keluaran dari alat ini - disebut sebagai Lapisan Ciri - kemudian dapat digunakan sebagai input ke banyak alat lain (Hitung Medan, Salin Fitur, Hapus Ciri, untuk beberapa nama). Pemprosesan alat kedua ini akan terbatas pada pemilihan yang diadakan dalam input.

            Sebagai contoh, mari kita lihat pertanyaan populasi yang digunakan di atas. Katakanlah kita mahu melakukan analisis di mana bandar-bandar berpenduduk tinggi dikecualikan. Kami mungkin memilih bandar-bandar tersebut dan kemudian menghapusnya:

            Dalam coretan kod ini, perhatikan bahawa yang sama di mana klausa dilaksanakan, kali ini untuk membuat pilihan pada kelas ciri Kota berbanding menghasilkan kursor rekod untuk dilanjutkan. The PilihLayerByAttribute alat mengembalikan Lapisan Ciri, yang merupakan objek dalam memori yang merujuk kepada ciri yang dipilih. Objek disimpan dalam variabel, bigCities, yang kemudian digunakan sebagai input ke PadamFitur alat. Ini akan menghapus bandar berpenduduk tinggi dari kelas ciri Bandar yang mendasari.

            Sekarang, mari kita lihat bagaimana menangani pertanyaan dengan kekangan ruang.


            Gunakan carian untuk mencari lokasi dan ciri

            Untuk menggunakan carian untuk mencari lokasi dan ciri, selesaikan langkah-langkah berikut:

            1. Buka Map Viewer Classic atau aplikasi yang boleh dikonfigurasi yang mengandungi widget carian bersepadu.
            2. Masukkan kata kunci ke dalam kotak carian. Kata kunci boleh merangkumi alamat, persimpangan jalan, tempat, tempat menarik, koordinat garis bujur dan garis lintang, ID ciri, dan sebagainya.

            Semasa anda menaip, carian atau cadangan terkini yang serupa berdasarkan kata kunci serupa muncul. Anda melihat cadangan ciri dari lapisan ciri yang dihoskan, alamat jalan, persimpangan jalan, tempat menarik mengikut nama atau mengikut jenis (contohnya, Riverside Hospital atau hospital), nama tempat (seperti bandar, daerah, wilayah, dan sebagainya) , dan poskod. Pencari mungkin atau mungkin tidak mengaktifkan cadangan.

            Peta anda diperbesar secara automatik ke pertandingan terdekat, dan pop-up muncul di lokasi.


            Ciri Pelabelan ArcMap 10.6 - SOS

            Ini adalah masalah yang sangat mudah, saya tidak menggunakan ArcGIS sejak kuliah dan saya baru mendapat pekerjaan baru dan akhirnya saya menggunakannya lagi tetapi saya tidak pernah tahu berapa banyak yang saya lupakan sehingga sekarang.

            Oleh itu, saya mempunyai lapisan bangunan yang saya bekerjasama dan vendor mahukan bangunan berlabel sehingga mereka tahu jenis strukturnya, tetapi beberapa atribut 'type' tidak diperlukan jadi saya ingin mengemukakannya dan hanya memberi label untuk rumah, perniagaan, dan unit pelbagai unit. Di tab label terdapat butang ekspresi dan kelihatan biasa dengan kotak pertanyaan lain tetapi pengurai adalah VBScript, Python, atau JScript. Saya telah membuat beberapa penyelidikan dan cuba membuat ungkapan untuk mengeluarkan atribut yang saya tidak mahukan tetapi tidak ada yang berjaya. Adakah ada yang mempunyai pengalaman atau bimbingan untuk saya? Saya tidak mempunyai banyak pengalaman dengan kod, saya lebih berorientasikan sains fizikal menggunakan GIS untuk menyokong penemuan, dll.


            Pilih dan salin ciri atribut di ArcMap menggunakan alat tambah Python? - Sistem Maklumat Geografi

            Alat Geoprocessing GeoJSON untuk ArcGIS

            GeoJSON adalah beberapa format baru baru yang muncul dalam beberapa minggu terakhir. Berikut adalah sekumpulan alat untuk mengeluarkan GeoJSON / keluar dari ArcGIS.

            Usage should be self-explanatory: open up the toolbox in ArcCatalog/ArcMap, select your features to export or import, and there you go. Easy in/out of most GeoJSON you'll find out there on the internet.

            This tool always exports to WGS 1984, because most people on the internet shuffling GeoJSON around are barbarians who don't know the first thing about spatial reference systems*. The same applies for import, right now it assumes coordinates are all in WGS 1984.

            * This is tongue-in-cheek, you guys. Who outside of the geospatial professions knows about this stuff? Or even needs to? Some software developer who found a GeoJSON Gist on GitHub just wants to look at it on a map without needing to take a semester long course to understand the theory behind the dang coordinate pair numbers in the dang data that's just dang old sitting there.

            Theoretically Asked Questions (TAQ)

            Nobody has asked me these yet, but these are the questions I anticipate coming up at some point. Now you don't need to ask them. You're welcome, I've just saved both of us some time.

            What is this?

            This conversion tool is meant to do one thing quickly, smoothly, and well. I have a feature layer in my ArcMap table of contents I want to make into GeoJSON. I have GeoJSON somewhere on the internet and want a feature layer in my table of contents to do some geoprocessing on. Ok. Here you go. Do it with this tool.

            Why GeoJSON?

            GeoJSON is a format that is obviously missing from the ArcGIS stack. I wanted to provide a stupidly easy way of getting this format in and out so we could all go back and live our lives without the specter of "well what about GeoJSON. " hanging over us.

            Why not other formats like WKT or WKB?

            As of 10.1 SP1, arcpy.da cursors have [email protected] / [email protected] tokens, and arcpy geometry has .WKT / .WKT attributes, and the arcpy.FromWKT and arcpy.FromWKB functions, and as of 10.2 you can make SpatialLite databases and they even show up in the ArcCatalog window with all their feature classes. So there's enough other open formats already there and ready to go. GeoJSON's mostly just to fill the lightweight-data-shuffled-over-HTTP niche.

            What about Esri2Open? Doesn't that accomplish the same goals?

            I was not aware that project existed until after I'd written this. Esri2Open seems to be quite a bit more ambitious with what sorts of format it supports and what it does (merge/append) and is therefore quite a bit more complex. Some of the formats it does like the aforementioned WKT and WKB are trivially handled by ArcGIS' Python functions in new versions of ArcGIS so I fail to see the utility except as a stopgap for users on 10.0 waiting to upgrade to 10.1 or 10.2.

            Licensed under the Apache License, Version 2.0 (the "License") you may not use this project except in compliance with the License. You may obtain a copy of the License at

            Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


            Tonton videonya: Python Window in ArcMap