Bisakah karakter titik dua (“:”) digunakan dalam nama bidang shapefile?

16

Saya mencoba mencari tahu apakah :karakter tersebut diperbolehkan atas nama bidang shapefile ESRI.

Saya mencari di Google, tetapi saya tidak dapat menemukan jawaban. Berikut adalah kutipan yang menarik dari artikel dari ESRI FAQ yang menyatakan:

Hilangkan semua karakter yang bukan karakter alfanumerik atau garis bawah.

Apakah ini berarti :karakter tidak diperbolehkan? Atau diizinkan untuk menggunakannya, tetapi disarankan untuk tidak menggunakannya? Jika ya, lalu mengapa?

marco
sumber

Jawaban:

22

Pembatasan nama bidang di dalam suatu shapefile ditentukan oleh batasan dBase. Ada empat aturan tunggal:

  1. Maks. Hingga 10 karakter.
  2. Karakter pertama dalam nama bidang harus dimulai dengan huruf.
  3. Nama bidang unik.
  4. Dan, dari Memahami DBF Essentials

(...) mereka dapat berisi kombinasi huruf A hingga Z, digit 0 hingga 9, titik dua (:) (hanya dalam nama bidang dBASE II), dan garis bawah (_).

ESRI Shapefile bekerja dengan dBase III +.

aldo_tapia
sumber
1
Bisakah Anda mengunggah sebagian .omsfile Anda ? Saya ingin memeriksa apa yang terjadi atau apakah ada cara alternatif untuk mengekspor data semacam itu
aldo_tapia
1
Saya mencoba Rmenggunakan osmardan rgdaltanpa masalah, bekerja dengan sempurna. Saya memeriksa nama bidang di QGIS dan benar. Sebuah kode dasar dan sederhana . Dan hasilnya , periksa.
aldo_tapia
1
Karena shapefile memiliki bidang yang sama dari file asli: <node id="32633413" visible="true" version="6" changeset="13406299" timestamp="2012-10-07T23:36:07Z" user="Davlak" uid="217070" lat="41.8994226" lon="12.4969449"/>. Karakter kolom bukan bidang, apakah tag, seperti:, <tag k="bus" v="yes"/> <tag k="highway" v="bus_stop"/> <tag k="internet_access" v="wlan"/> <tag k="internet_access:name" v="AtacWiFi"/> <tag k="internet_access:operator" v="RomaWireless"/> <tag k="name" v="Nazionale/Quattro Fontane"/> <tag k="operator" v="ATAC"/> ...kan?
aldo_tapia
1
Tag seperti deskripsi pada .kmlfile, dalam bidang Anda dapat memiliki banyak tag, bahkan .osmfile memiliki struktur yang mirip .kml. Jika Anda ingin mengekstrak tag menggunakan osmosis , bukan GDAL untuk membuat bidang baru berdasarkan tag tersebut. Apakah Anda mencoba untuk mendapatkan sesuatu seperti ini ?
aldo_tapia
1
Nama bidang tidak dapat menampung titik dua. Solusi: buka .osmfile Anda dengan editor teks apa pun dan ganti titik dua dengan garis bawah, simpan dan ekspor ke shapefile. .osmfile adalah XML, Anda dapat mengelola konten dengan mudah.
aldo_tapia
5

Menurut artikel Esri yang sama yang Anda kutip:

Batas ini diberlakukan agar ArcGIS dapat berfungsi dengan jumlah maksimum tipe data.

Akibatnya, bahkan jika Anda tidak dicegah untuk menggunakan titik dua dalam nama bidang oleh perangkat lunak apa pun yang Anda gunakan untuk membuat shapefile, Anda akan tidak bijaksana untuk menggunakannya dengan ArcGIS.

PolyGeo
sumber