Mengubah tipe data dalam tabel atribut ArcGIS?


9

Bagaimana saya bisa mengubah tipe data dalam tabel atribut di ArcGIS untuk beberapa bidang?

Misalnya, jika bidang telah diekspor sebagai string dari Excel, dan saya ingin menggunakannya sebagai nilai numerik?


1
Anda tidak dapat melakukan table to table jika Tipe Data tidak cocok. Saya tahu saya sudah mencoba.
Sam

tolong hindari format dan versi sumber data. (Ent database, shapefile, filegdb, gdb pribadi?)
Brad Nesom

@Brad bekerja dengan shapefile di arcgis 10.2, sumber data secara lokal di komputer saya
Berjuang

Jawaban:



3

Anda tidak menyebutkan versi ArcGIS untuk Desktop yang Anda gunakan atau di mana data Anda disimpan, tetapi ada halaman Memodifikasi properti bidang yang menjelaskan caranya, menggunakan ArcGIS 10.2 (atau lebih baru):

Beberapa properti bidang dapat diubah setelah tabel atau kelas fitur dibuat

... tetapi ini hanya berlaku untuk bidang kosong.

Dari 10.3 fungsionalitas di atas juga tersedia melalui alat Alter Fields :

Ganti nama bidang dan alias bidang, atau ubah properti bidang.


butuh ketelitian. sejak 10.2.1
GeoStoneMarten

Bidang @GeoStoneMarten Alter di 10.2.1 tampaknya hanya untuk mengganti nama bidang sedangkan jawaban saya terkait dengan memodifikasi tipe data dan saya pikir tetap valid. Namun, jawaban oleh @ Paul menyarankan Alter Fields memperluas fungsinya untuk memasukkan modifikasi tipe data di 10.3.
PolyGeo

Tidak hanya tetapi ya jika ada data yang ada ... Oke untuk yang lain
GeoStoneMarten

2

Anda bisa mengubah tipe data bidang untuk bidang yang Anda miliki di kelas fitur Anda. Namun, Anda tidak akan dapat mengonversi bidang teks ke angka. Namun, Anda bisa mengonversi bidang angka Anda menjadi string. Lihatlah halaman bantuan Esri . Ini bukan hanya untuk Enterprise geodatabase, ia berfungsi dengan baik bahkan untuk desktop geodatabases seperti file geodatabase.

Jika tabel atau kelas fitur dalam perusahaan, workgroup, atau geodatabase desktop , Anda harus terhubung sebagai pemilik tabel untuk memodifikasi properti bidang.

Karena Anda berurusan dengan Excel, cara terbaik untuk memastikan tipe data Anda benar adalah dengan menentukan tipe data sel secara langsung di Excel sebelum mengimpor data apa pun. Namun, jika Anda memiliki bidang teks dengan angka, tentu saja Anda dapat membuat bidang baru dari tipe numerik (bilangan bulat atau ganda, misalnya) dan menghitung nilai berdasarkan bidang teks ini. Ini akan berfungsi dengan baik jika angka Anda benar-benar angka ("12" akan berfungsi, tetapi "12-1" tidak akan).


2

Setahu saya, ini tidak mungkin. Di 10.3, Alter Field diperluas untuk memungkinkan mengubah jenis bidang; Namun, itu hanya berfungsi ketika tabel tidak memiliki catatan.

Berikut adalah satu pendekatan untuk melakukan ini:

  1. Tambahkan bidang baru dengan nama sementara dan tipe data yang benar
  2. Gunakan Calculate Fieldatau cursors(dengan casting, jika perlu)
  3. Hapus bidang yang lama
  4. Alter Field untuk mengganti nama bidang sementara
  5. (Opsional) Salin tabel dengan beberapa pemetaan bidang untuk mengembalikan pesanan awal

Saya belum pernah menyelidikinya, tetapi pemetaan lapangan mungkin berfungsi untuk melemparkan bidang ke tipe data baru, yang akan sangat menyederhanakan proses ini. Sesuatu untuk dipastikan ....


1
Saya biasanya mengganti nama bidang lama terlebih dahulu. dengan cara itu saya bisa -membuat kembali bidang baru, menghitung nilai-nilai, dan kemudian menghapus bidang lama.ketika Anda mulai menghitung nilai-nilai Anda mungkin perlu memilih semua nilai-nilai non-nol. dan atau mengonversi / membagi nilai string apa pun
Brad Nesom

1
Juga alat et memiliki beberapa fungsi gratis yang akan sangat membantu. ian-ko.com Lihatlah fungsi bebas geo-penyihir.
Brad Nesom

@Brad Saya telah mencari fungsi gratis, xtools telah membantu tetapi saya selalu terbuka untuk opsi yang lebih baik. terima kasih atas masukannya
Berjuang

@BradNesom, poin bagus! Itu akan jauh lebih masuk akal.
Paul

1

Cara alternatif terdiri dari membuka .dbffile Anda di OpenOffice Calc (atau yang setara) dan memodifikasi dengan hati-hati header kolomnya. Misalnya mengubah jenis dari C(Karakter) ke N(Numerik). Saran sederhana: buat cadangan file Anda sebelum mencoba.


1

Meskipun Anda tidak dapat mengubah nama bidang dan tipe data dalam dataset itu sendiri, dimungkinkan untuk membuat salinan dengan perubahan yang diinginkan menggunakan alat ArcGIS "Kelas fitur ke kelas fitur". Dalam pengaturan, Anda dapat mengubah, nama, tipe data, dan karakteristik bidang lainnya.


1

Sebelum hal lain, orang harus mencoba memahami mengapa ArcGIS mengimpor bidang sebagai tipe string, bukan tipe data numerik / ganda. Saya menemukan bahwa meskipun sel Anda (dalam Excel) kosong, jika memiliki "spasi" di dalamnya (seperti ketika Anda menekan bilah spasi), ArcGIS akan menafsirkan ini sebagai karakter. Jika Anda menghapusnya, Anda akan melihat bahwa mereka sekarang akan mendaftar sebagai bidang angka.


0

Lihatlah dokumen ini . Anda biasanya harus memastikan data dalam format yang benar sebelum dan sesudah mengimpor.

"ArcGIS biasanya mengubah bidang numerik spreadsheet menjadi presisi ganda (Gandakan), yang mungkin tidak memenuhi kebutuhan Anda. Jika perlu, buat bidang baru dari jenis yang diinginkan dan hitung nilainya ke dalamnya"


0

Jika tujuan Anda adalah untuk menambahkan data dari tabel X ke tabel lain Y , tetapi Anda tidak bisa karena tipe data tidak sesuai , Anda juga dapat mengikuti langkah-langkah ini:

  1. Ekspor kedua tabel (.dbf)

  2. Buka tabel Y di excel.

  3. Buka tabel X dalam excel.

  4. Salin dan tempel data dari tabel X ke tabel Y dengan memastikan bahwa Anda hanya menyalin nilai, bukan formulir.

  5. Anda sekarang memiliki tabel baru yang berisi data dari kedua tabel, dengan tipe data yang sesuai.

6. Impor tabel ini di ArcMap


0

Tidak ada yang menyebutkan alat X-Ray untuk ArcGIS. Lakukan pencarian Google untuk "X-Ray ArcGIS". Ada beberapa varian untuk setiap versi dan platform ArcGIS (ArcCatalog, ArcMap). Ini ada satu versi. Ini satu lagi. Ini mendukung banyak fungsi terkait Bidang dan Domain, termasuk mengubah jenis bidang, nama, alias, domain, dll. Di MS Excel dan mengunggah perubahan kembali ke GDB.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.