Pilihan terbaik untuk membuat peta statis: PostGIS, SpatiaLite atau Shapefile?

10

Saya biasanya membuat peta topografi statis, yang sebagian besar dicetak. Saya sering menggunakan OSM dan rasterfiles (terutama DEM yang berbeda). Area yang saya pemetaan jarang melebihi 20.000 km². Saya menggunakan perangkat lunak sumber terbuka eksklusif seperti QGIS, SAGA dan GRASS.

Saya tahu masalah dengan shapefile, tetapi mudah ditangani. Dan saya tidak terlalu terbiasa dengan postgis atau SpatiaLite. Saya mencoba postgis, tetapi banyak masalah yang menanganinya, SpatiaLite menurut saya lebih mudah.

Bagaimana menurut Anda: Haruskah saya tinggal dengan shapefile atau beralih ke database seperti SpatiaLite atau postgis. Apa kelebihan dan kekurangan dalam kasus saya?

PETA
sumber
apakah itu untuk lokal (terutama untuk digunakan dalam perangkat lunak SIG) atau untuk melayani melalui internet di peta yang dihosting?
Di bawah Radar
Jenis masalah apa yang Anda hadapi dengan PostGIS?
RyanKDalton
Ini terutama untuk lari lokal. Saya memuat OSM ke postgis dan menggunakannya di QGIS. Itulah yang saya lakukan dengan postgis sampai sekarang.
PETA
3
Database lebih efisien dalam hal stabilitas dan kinerja, Anda juga dapat menjalankan query SQL yang kompleks. Secara pribadi saya menggunakan shapefile hanya sebagai format pertukaran. Dalam kasus Anda, saya akan mencoba menggunakan spatialite cos itu tidak memerlukan instalasi server database
megadrofan
1
Cepat atau lambat Anda menekan use case di mana Anda perlu mendapatkan lapisan yang hanya berisi beberapa hubungan spasial atau nilai kolom. PostGis hanya satu yang berkembang dari satu pengguna ke apa saja. Saya pikir Postgis sebagai alat bukan hanya db.
simplexio

Jawaban:

15

Jika satu-satunya alasan Anda berpikir untuk mengadopsi sistem baru adalah "karena ada sistem baru yang mengkilap" , jangan lakukan itu. Sampai dan kecuali Anda benar-benar mengalami masalah dengan keterbatasan shapefile, atau ingin mengambil keuntungan dari beberapa fitur spesifik postgis / spatialite / apa pun, tidak perlu diubah. Terus merancang dan menghasilkan peta.

Cepat atau lambat masalah dengan shapefile akan muncul, dan itulah saatnya untuk mengatasinya. Sistem mengkilap baru akan lebih baru dan lebih bersinar.

Itu masih merupakan ide yang baik untuk mengawasi apa yang terjadi "di sana", dan membawanya untuk berputar dari waktu ke waktu, tetapi jangan berinvestasi dalam mengubah seluruh alur kerja produksi Anda sampai ada keuntungan konkret khusus untuk melakukannya. Kalau tidak, akan sangat mudah untuk menghabiskan waktu berbulan-bulan (bertahun-tahun!) Untuk mengutak-atik mobil di garasi dan tidak benar-benar pergi berkendara ke mana pun.

matt wilkie
sumber
14

Spasial bisa menarik karena cepat untuk penggunaan lokal. Anda dapat memuatnya langsung ke dalam RAM mesin Anda dan itu hanya satu file, sehingga sangat portabel dan dapat dibagikan. Anda dapat membuat indeks R-tree pada geometri.

Sama seperti PostGIS, Spatialite mengikuti standar OGC dan banyak fungsinya mirip dengan PostGIS dan dapat digunakan dalam SQL. Ini juga " [...] format alternatif untuk ESRI Shapefile, yang memiliki beberapa masalah lama (seperti jenis penyimpanan dan panjang nama kolom, dll.) " ( Wiki PostGIS ).

Plugin rasterlite juga sangat berperan untuk mengelola data raster menggunakan piramida dan kompresi gambar. ( manual pengguna resmi rasterlite )

PostGIS juga merupakan pilihan yang baik, semua yang Anda butuhkan ada di sana. Ini akan menjadi pilihan yang lebih baik jika data Anda akan diedit oleh banyak pengguna secara simultan atau jika Anda ingin meng-host dataset besar OSM tersebut. Omong-omong, osm2pgsql adalah alat yang dapat diandalkan untuk mengimpor data OSM ke PostGIS.

Keuntungan (antara lain) untuk menggunakan DB adalah Anda dapat menggunakan SQL untuk kueri dan membuat indeks spasial. Lebih lanjut, relatif mudah untuk memigrasikan layer antara format Spatialite, PostGIS dan Shapefile sehingga Anda dapat dengan mudah menggunakan campuran ketiganya.

UPDATE 2019: Saya lebih suka menggunakan GeoPackage daripada Spatialite untuk database SQLIS GIS mandiri

Di bawah Radar
sumber
1
Setuju dengan pembaruan 2019 yang baru saja ditambahkan. GeoPackage (gpkg) sekarang didukung dengan baik di QGIS, dan membawa manfaat basis data yang diuraikan dalam jawaban ini bertahun-tahun yang lalu tanpa overhead.
Houska
5

Keuntungan utama dari Spatialite adalah ia hadir hanya sebagai satu file, yang dapat Anda bagikan dan backup dengan mudah. Postgis membutuhkan lebih banyak upaya untuk mem-port data dari satu komputer ke komputer lainnya.

Shapefile memiliki batasan pada nama kolom, tetapi dapat dengan mudah menangani proyeksi non-EPSG. Mengedit data dalam jumlah yang lebih besar menjadi menyakitkan dengan shapefile sederhana, jadi itu sebabnya saya beralih ke spatialite sesegera mungkin.

Saya menggunakan Postgis untuk data OSM karena dapat mengambil banyak data tanpa membunuh QGIS sebagai frontend, dan merespons dengan cepat. Penanganan poligon osm2pgsql jauh lebih baik daripada semua importir osm-to-spatialite yang saya lihat sejauh ini.

Jadi, effectivley saya menggunakan ketiganya.

AndreJ
sumber
Saya tertarik dengan catatan tentang shapefile yang mudah menangani proyeksi kustom; ini bisa sangat penting. Apakah ini berarti postgis dan sqlite tidak menangani sistem koordinat non-EPSG?
matt wilkie
Ya, tetapi Anda harus menambahkan CRS khusus dengan SRID tambahan yang dibuat sendiri sebelumnya. Saya tidak yakin apakah itu bekerja dengan mudah ketika Anda bertukar data dengan orang lain.
AndreJ