Lựa chọn tốt nhất để xây dựng bản đồ tĩnh: PostGIS, SpatiaLite hoặc Shapefile?


10

Tôi thường xây dựng các bản đồ địa hình tĩnh, hầu hết được in. Tôi thường sử dụng OSM và rasterfiles (chủ yếu là các DEM khác nhau). Các khu vực tôi lập bản đồ hiếm khi vượt quá 20.000 km². Tôi đang sử dụng phần mềm nguồn mở độc quyền như QGIS, SAGA và GRASS.

Tôi biết các vấn đề với shapefiles, nhưng chúng rất dễ xử lý. Và tôi không quen thuộc lắm với postgis hoặc SpatiaLite. Tôi đã thử postgis, nhưng gặp rất nhiều vấn đề khi xử lý nó, SpatiaLite dường như dễ dàng hơn với tôi.

Bạn nghĩ gì: Tôi nên ở lại với shapefiles hoặc chuyển sang cơ sở dữ liệu như SpatiaLite hoặc postgis. Những lợi thế và bất lợi trong trường hợp của tôi là gì?


nó dành cho địa phương (chủ yếu để sử dụng trong phần mềm GIS) hoặc để phục vụ qua internet trong bản đồ được lưu trữ?
Bên dưới Radar

Bạn đã gặp phải loại vấn đề nào với PostGIS?
RyanKDalton

Nó chủ yếu để chạy địa phương. Tôi đã tải OSM cho postgis và sử dụng nó trong QGIS. Đó là tất cả những gì tôi đã làm với postgis cho đến bây giờ.
MAP

3
Cơ sở dữ liệu hiệu quả hơn về tính ổn định và hiệu suất, bạn cũng có thể chạy các truy vấn SQL phức tạp trên chúng. Cá nhân tôi chỉ sử dụng shapefiles như định dạng trao đổi. Trong trường hợp của bạn, tôi sẽ thử sử dụng spatialite vì nó không yêu cầu cài đặt máy chủ cơ sở dữ liệu
megadrofan

1
Sớm hay muộn bạn nhấn trường hợp sử dụng trong đó bạn cần lấy lớp chỉ chứa một số mối quan hệ không gian hoặc giá trị cột. PostGis chỉ là một trong đó quy mô từ một người dùng đến khá nhiều thứ. Tôi nghĩ Postgis là công cụ không chỉ là db.
Simplexio

Câu trả lời:


14

Nếu lý do duy nhất bạn dự tính áp dụng một hệ thống mới là "vì có một hệ thống mới sáng bóng" , thì đừng làm điều đó. Cho đến khi và trừ khi bạn thực sự gặp vấn đề với những hạn chế của shapefile hoặc muốn tận dụng một số tính năng cụ thể của postgis / spatialite / bất cứ điều gì, không cần phải thay đổi. Tiếp tục thiết kế và sản xuất bản đồ.

Sớm hay muộn, các vấn đề với shapefiles sẽ xuất hiện và đó là lúc để giải quyết chúng. Hệ thống sáng bóng mới sẽ còn mới hơn và sáng hơn sau đó.

Vẫn là một ý tưởng tốt để theo dõi những gì đang xảy ra "ở đó" và thỉnh thoảng hãy quay lại, nhưng đừng đầu tư vào việc thay đổi toàn bộ quy trình sản xuất của bạn cho đến khi có những lợi thế cụ thể để làm như vậy. Nếu không, tất cả quá dễ dàng để dành nhiều tháng (năm!) Tự mày mò với chiếc xe trong nhà để xe và không thực sự lái xe đi đâu cả.


14

Spatialite có thể thú vị vì nó nhanh để sử dụng tại địa phương. Bạn có thể tải nó trực tiếp vào RAM của máy và nó chỉ là một tệp, vì vậy nó thực sự di động và có thể chia sẻ. Bạn có thể tạo các chỉ mục cây R trên hình học.

Giống như PostGIS, Spatialite tuân theo các tiêu chuẩn OGC và phần lớn các chức năng của nó tương tự như PostGIS và có thể sử dụng được trong SQL. Nó cũng là " [...] một định dạng thay thế cho ESRI Shapefiles, có một số vấn đề di sản (như kiểu lưu trữ và độ dài của tên cột, v.v.) " ( wiki PostGIS ).

Plugin rasterlite cũng rất hiệu quả để quản lý dữ liệu raster bằng cách sử dụng kim tự tháp và nén hình ảnh. ( hướng dẫn sử dụng chính thức của rasterlite )

PostGIS cũng là một lựa chọn tốt, mọi thứ bạn cần đều ở đó. Nó sẽ là một lựa chọn tốt hơn nếu dữ liệu của bạn sẽ được chỉnh sửa bởi nhiều người dùng đồng thời hoặc nếu bạn muốn lưu trữ bộ dữ liệu lớn như vậy OSM. Nhân tiện, osm2pgsql là một công cụ đáng tin cậy để nhập dữ liệu OSM vào PostGIS.

Ưu điểm (trong số những thứ khác) để sử dụng DB là bạn có thể sử dụng SQL cho các truy vấn và tạo các chỉ mục không gian. Hơn nữa, việc di chuyển các lớp giữa định dạng Spatialite, PostGIS và Shapefile tương đối dễ dàng để bạn có thể dễ dàng sử dụng kết hợp cả ba.

CẬP NHẬT 2019: Tôi muốn sử dụng GeoPackage hơn Spatialite cho cơ sở dữ liệu SQL SQLite độc ​​lập


1
Đồng ý với bản cập nhật 2019 vừa được thêm vào. GeoPackage (gpkg) hiện được hỗ trợ tốt trong QGIS và mang lại lợi ích cơ sở dữ liệu được nêu trong các câu trả lời này nhiều năm trước mà không cần chi phí.
Houska

5

Ưu điểm chính của Spatialite là nó chỉ là một tệp, bạn có thể dễ dàng chia sẻ và sao lưu. Postgis cần nhiều nỗ lực hơn để chuyển dữ liệu từ máy tính này sang máy tính khác.

Shapefiles có những hạn chế về tên cột, nhưng có thể dễ dàng xử lý các phép chiếu không phải là EPSG. Chỉnh sửa số lượng lớn dữ liệu trở nên đau đớn với các shapefile đơn giản, vì vậy đó là lý do tại sao tôi chuyển sang spatialite càng sớm càng tốt.

Tôi sử dụng Postgis cho dữ liệu OSM vì nó có thể lấy một lượng dữ liệu khổng lồ mà không giết chết QGIS làm giao diện và nó đáp ứng nhanh chóng. Việc xử lý đa giác của osm2pgsql tốt hơn nhiều so với tất cả các nhà nhập khẩu osm-to-spatialite mà tôi đã thấy cho đến nay.

Vì vậy, effectivley tôi sử dụng cả ba.


Tôi tò mò với lưu ý về shapefiles dễ dàng xử lý các phép chiếu tùy chỉnh; Điều này có thể đặc biệt quan trọng. Điều này có nghĩa là postgis và sqlite không xử lý các hệ tọa độ không phải là EPSG?
matt wilkie

Họ có, nhưng bạn phải thêm CRS tùy chỉnh với SRID tự tạo bổ sung trước. Tôi không chắc chắn nếu điều đó hoạt động dễ dàng khi bạn trao đổi dữ liệu với người khác.
AndreJ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.