Multipoint vs point PostGIS


12

Apakah normal untuk menggunakan tipe geometri 'multipoint' daripada 'point' mengetahui bahwa saya menggunakannya untuk menyimpan hanya satu poin?

Bagaimana saya bisa mengonversi dari banyak titik ke titik?


Ada jawaban bagus yang menjelaskan cara memeriksa geometri multi-bagian dan mengonversi tipe kolom dari multi-menjadi geometri di: gis.stackexchange.com/questions/28835/…
John

Jawaban:


16

Untuk mengonversi "Multipoint" ke "Point", Anda harus menggunakan ST_Dump , misalnya:

SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
  FROM MULTIPOINT_table;

Pada pertanyaan tentang penggunaan "Multi" atau geometri tunggal, saya menggunakan logika ini:

  • jika setiap geometri memiliki atribut yang berbeda -> Tunggal
  • jika sekelompok geometri memiliki atribut yang sama -> "Multi"

9

Cara termudah untuk mengekstraksi titik dari satu titik MULTIPOINTadalah ST_GeometryN:

SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)

Ini menghindari potensi masalah dalam situasi di mana fungsi set-return tidak dapat digunakan.

Ada beberapa optimasi penting yang tersedia hanya untuk POINTmengetik geometri (terutama di versi PostGIS sebelumnya), jadi menyimpan poin tunggal seperti POINTpraktik yang baik. A POINTjuga menggunakan sekitar 25% lebih sedikit ruang daripada a MULTIPOINT.

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.