Konvensi penamaan kolom geometri - 'geom' atau 'the_geom'?


22

Saya memulai proyek PostGIS pertama saya, dan di berbagai buku dan tutorial saya telah melihat kolom geometri diberi label 'geom' atau 'the_geom'. Apakah yang satu lebih konvensional daripada yang lain?

Selain itu, adakah alasan yang baik untuk menggunakan 'geom' / 'the_geom' alih-alih nama yang lebih deskriptif untuk kolom geometri? (Misalnya 'centre_point' untuk titik pusat fitur.) Kami tidak memberi label pada kolom db konvensional 'the_int' atau 'the_string', jadi mengapa memberi label pada kolom geometri dengan cara ini?

Jawaban:


17

Pada PostGIS versi 2.0, "geom" adalah nama kolom umum. (Setidaknya saya melihatnya dokumentasi, dll.) Sebelum itu adalah "the_geom", dan saya hanya bisa berspekulasi mengapa.

Anda dapat menggunakan keduanya dengan aman, tetapi saya senang menggunakan "geom" di PostGIS dan SpatiaLite.

Sunting: Karena saya benar-benar melewatkan bagian kedua dari pertanyaan.
Secara umum, nama umum mudah digunakan karena biasanya perangkat lunak SIG mengharuskan geometri dalam tabel dibatasi ke tipe spesifik tunggal, SRID, dll. Oleh karena itu, nama tabel cenderung lebih deskriptif daripada nama kolom geometri. Misalnya, Anda akan menemukan tabel dengan nama "school_zone_polygons", "school_zone_centroids" masing-masing dengan kolom "geom"; bukan tabel "school_zones" dengan kolom "geom_polygon", "geom_centroid".

Memiliki nama umum berarti Anda tidak perlu memeriksa skema setiap kali Anda ingin referensi kolom geometri.


2
Adalah umum dalam pemrograman berorientasi objek untuk memberi nama objek tingkat atas dengan menambahkan sebuah artikel. Ini membedakan 'the_chair' dari instance 'chair' yang lebih baru. Tetapi PostGIS tidak benar-benar berfungsi seperti itu, dan beralih ke 'geom' yang sederhana mungkin membuat implementasi lintas platform lebih mudah.
L_Holcombe

Ya, saya selalu menebak bahwa itu untuk mencegah tabrakan (kemungkinan masa depan) dengan kata yang dipesan. Tidak ada yang suka mengetikkan tanda kutip ganda.
Scro

1
Terima kasih Scro untuk klarifikasi. Meskipun dalam contoh di mana Anda memiliki beberapa kolom geometri dalam sebuah tabel (bukan yang saya rencanakan), sampel tandingan Anda tampaknya merupakan konvensi yang ideal. Yaitu tabel "school_zones" dengan "geom_polygon", "geom_centroid" dll.
Nick

6

Salah satu alasan potensial mengapa "geom" atau "the_geom" dipilih sebagai nama generik untuk bidang "bentuk" adalah karena Anda sebenarnya dapat menyimpan beberapa jenis geometri (titik, garis, poli, dll.) Di satu bidang "geom" di meja yang sama. Anda bahkan dapat melihat kembali ke tahun 2005 ketika hal ini dibahas pada daftar email PostGIS.

Misalnya, Anda bisa menyimpan semua rumah, jalan, dan batas wilayah di bidang "geom" yang sama di satu meja Anda. Jelas ada alasan mengapa Anda dapat memilih untuk melakukan sebaliknya, tetapi ini bisa mewakili alasan mengapa nama kolom "geom" generik digunakan.

Mudah-mudahan beberapa pengguna lama PostGIS akan berpadu dengan rincian lebih lanjut tentang mengapa "geom" sebenarnya dipilih.


1

Saat menggunakan api Geoserver REST dalam menerbitkan tabel PostGis yang ada, perintah REST akan gagal jika kolom geometri tidak bernama "geom".


2
Saya cukup yakin bahwa perilaku ini adalah bug dengan Geoserver, dan setelah diselesaikan, seharusnya tidak lagi menjadi pertimbangan
Devdatta Tengshe
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.