Menggunakan ArcGIS 10.0, apakah mungkin untuk menyusun ulang bidang dalam file geodatabase, dan apakah urutannya tetap ada di database?
Kami mempertimbangkan untuk mengekspor ke XML, dan menulis parser untuk mengubah urutan bidang, kemudian membuat kembali database baru dari XML. Ini seperti proses yang melelahkan.
Gagasan lain adalah mengimpor definisi bidang yang ada ke Excel, memesan ulang, mengekspor ke CSV, lalu menulis skrip Python untuk membuat bidang ini dalam Geodatabase baru. Apakah ada skrip seperti ini, sebelum kita menulisnya dari awal?
Sayangnya Diagrammer ArcGIS tampaknya tidak mendukung pemesanan ulang bidang.
Apakah ada skrip atau retas yang dapat kita gunakan untuk menyederhanakan proses ini?
Jawaban:
Seperti yang disebutkan dalam komentar Anda dapat menyusun ulang bidang dengan ArcGIS Diagrammer. Saya memposting langkah yang lebih umum dalam jawaban ini: Bagaimana cara memperbarui properti panjang bidang kelas fitur?
sumber
Sebagai jawaban atas pertanyaan lain saya katakan bahwa adalah mungkin untuk menggunakan Statistik Ringkasan untuk melakukan yang setara dengan PULLITEMS (bahasa lama untuk bidang pemesanan ulang). Itu teknik bekerja dengan baik pada Tabel hanya tetapi ada lagi naskah tersedia sekarang yang mengatakan itu bekerja pada kedua kelas fitur dan meja.
Saya juga akan merekomendasikan bidang Jawab untuk Memesan Ulang bidang secara permanen menggunakan alat ArcGIS Make Query Table? yang terinspirasi oleh Jawaban @klewis untuk yang satu ini.
sumber
Versi gratis ET Geowizards akan melakukan ini. Dasar -> Sortir bentuk. Saya baru saja mengujinya pada File Geodatabase v10 dan berfungsi. Itu harus membuat kelas fitur baru.
sumber
Jika Anda tidak memiliki Visio untuk Diagramer- Semua jawaban lain di sini memecah semua gabungan. Saya menemukan ini berfungsi dengan baik dalam kasus saya:
sumber
Anda perlu menjalankan MakeTableQuery dari toolset Layers dan Table Views untuk menyusun ulang bidang. Dari dokumentasi, Urutan bidang dalam daftar bidang menunjukkan urutan bidang akan muncul di tampilan lapisan atau tabel. Juga, Jika kolom Bentuk ditambahkan ke daftar bidang, hasilnya adalah lapisan; jika tidak, ini adalah tampilan tabel. Ini tersedia dengan tingkat lisensi apa pun.
sumber
Dengan Alat Gabung , Anda dapat dengan mudah memesan ulang bidang secara permanen. Ini bekerja dengan tabel dan kelas fitur. Penataan ulang dapat dilakukan melalui skrip python dan bahkan dengan dialog Alat (Dengan menghapus bidang dan menambahkannya kembali dalam dialog). Meskipun pemesanan ulang melalui dialog bukanlah pendekatan yang sempurna.
Dianjurkan untuk menggunakan alat Gabung sekali dan kemudian menggunakan Salin Sebagai Potongan Python dan kemudian secara manual mengubah perintah bidang dan kemudian menempelkan kode python di jendela python.
Berikut ini adalah skrip python yang menggunakan Gabung Alat untuk menyusun ulang bidang (Disalin dari sini )
PEMAKAIAN:
sumber
Ada ekstensi gratis dari Esri yang disebut X-Ray yang berisi alat yang dibuat untuk Menyusun ulang bidang. Telah bekerja dengan baik untuk kami dan mudah digunakan.
sumber
Sejauh ini metode yang paling efisien yang saya temukan untuk mengubah nama bidang, mengubah urutan defaultnya, dan sejumlah hal lain adalah menggunakan Microsoft Access:
GDB_
, buka tabel dalam mode desain tabelCatatan:
Selalu buat cadangan saat ini. Anda mengacaukan langsung dengan struktur GDB internal dan Anda dapat dengan mudah membuang data Anda dengan mengubah DB ke titik. ArcGIS tidak tahu bagaimana cara membacanya lagi.
Ada beberapa kata kunci yang dicadangkan di sisi ArcGIS yang tidak dapat digunakan untuk nama bidang. Access akan dengan senang hati membuat atau mengganti nama bidang dengan kata kunci ini, tetapi ketika Anda mengembalikannya, secara otomatis ditambahkan garis bawah. Jadi
Current
menjadiCurrent_
. Juga ada catatan kata kunci Access reserved sebagian tumpang tindih .Personal GDB memiliki batas ukuran file 2GB, sehingga ukuran total semua tabel dan kelas fitur dalam GDB tidak dapat melebihi itu.
Mungkin tergoda untuk selalu menggunakan GDB pribadi untuk proyek kecil (<2GB). Jangan. Kinerja sangat buruk dan ada perbedaan halus dalam sintaks SQL Access 'yang membuat Label Expressions, Definition Queries, dan sebagainya non-portable.
sumber
Ada Esri Cara: Mengubah urutan nama bidang dalam solusi tabel atribut .
Ini membutuhkan pengeditan XML, tetapi begitu Anda mendapatkan skema yang tepat Anda baik.
sumber
Skrip Python ini adalah semacam metode "lakban" untuk melakukan ini. Ini terbatas pada 20 bidang tetapi dapat dengan mudah ditambahkan untuk memungkinkan menjalankannya untuk berapa pun bidang yang dimiliki data Anda.
Script dirancang untuk dijalankan sebagai alat skrip, jadi Anda perlu mengatur parameter dalam ArcCatalog.
Parameternya harus sebagai berikut:
Kode:
Saya menyadari ini bukan cara yang paling cantik atau paling efisien untuk melakukan ini tetapi itu sebenarnya bekerja cukup baik dan hanya butuh sekitar setengah jam untuk menulis. Saya menggunakan ini sepanjang waktu ketika saya perlu menyusun ulang bidang, dan itu tidak memerlukan Diagrammer atau Microsoft Access. Tentu saja jumlah maksimum bidang dapat menjadi masalah tetapi sekali lagi yang dapat disesuaikan dalam skrip.
sumber