SpatiaLite có phải là định dạng trao đổi tệp / db duy nhất được kích hoạt không gian không?


13

Tôi đang cố gắng tìm hiểu xem có các định dạng trao đổi khả thi khác cho dữ liệu được kích hoạt không gian hay không. Cho đến nay, có vẻ như SpatiaLite là người duy nhất ngoài đó, nhưng nó vẫn chưa được ngành công nghiệp chấp nhận.


Bạn đang tìm kiếm một định dạng trao đổi hoặc một định dạng lưu trữ di động? Nó sẽ giúp mô tả vấn đề bạn đang cố gắng giải quyết. GML là một định dạng trao đổi tuyệt vời nhưng bạn sẽ không sử dụng nó làm kho dữ liệu cho ứng dụng web.
Sean

Câu trả lời:


10

Về mặt thông số kỹ thuật SQL của tính năng đơn giản OGC, Spatialite là triển khai nguồn mở duy nhất trên một tệp cơ bản duy nhất. Vì lý do này (và những người khác!), Nó có lợi ích lớn so với các định dạng véc tơ phẳng khác như shapefile, v.v ...

Được hỗ trợ đầy đủ bởi GDAL với tư cách là trình điều khiển OGR "chính thức" [0], đây là bảo hành cho sự hỗ trợ trong tương lai của phần mềm GIS Desktop (tất cả đều sử dụng GDAL phổ quát).

Hiện tại chỉ có QGIS mới có thể đọc (và viết) nó, vì vậy nếu bạn muốn một định dạng trao đổi có thể đọc / ghi trực tiếp từ phần mềm của bạn mà không xuất sang các định dạng khác thì có thể đó vẫn không phải là lựa chọn tốt nhất của bạn, nếu bạn không sử dụng QGIS.

Nếu bạn cần một hình thức trao đổi, như đã đề xuất, bạn có thể sử dụng bất kỳ định dạng được hỗ trợ nào từ GDAL / OGR [0] và sau đó nhập trở lại vào db không gian.

Lưu ý rằng nếu Spatialite sẽ triển khai cấu trúc liên kết, như tôi đã nghe, nó sẽ có lợi ích lớn so với các định dạng kế hoạch khác (ví dụ như shapefiles).

[0] http://www.gdal.org/ogr/drv_sqlite.html

[1] http://www.gdal.org/ogr/ogr_formats.html


Tôi đã nghe thấy những tin đồn rằng spatialite vẫn là một mục tiêu di chuyển và phát triển rất chậm và đó là lý do tại sao tôi tự hỏi nếu có bất kỳ lựa chọn nào khác ngoài đó.
GuidoS

1
Đối với tốc độ phát triển, tôi sẽ mô tả nó là điên cuồng, không chậm. Tôi muốn nói rằng SpatiaLite là một phần của mục tiêu di động bởi vì nó vẫn còn tương đối trẻ. SQL tuân thủ khá chuẩn, vì vậy mã truy vấn sẽ không thay đổi nhiều. Phiên bản 2.4 gần như là bản cuối cùng, nhưng không, như bạn đề xuất, tương thích với các thư viện máy khách 2.3.
DavidF

Vậy, sự thay đổi từ 2.3 đến 2.4 ảnh hưởng đến người dùng cuối như thế nào? Nếu cách hiện tại của tôi để truy cập nó là thông qua ogr, bạn có nghĩ rằng tôi thậm chí sẽ biết sự khác biệt không?
GuidoS

5

Nó thực sự phụ thuộc vào nhu cầu của bạn. Tôi cũng nghĩ Geojson , gml , citygml và google kml cũng có thể được coi là các định dạng trao đổi không gian.


Tôi đang tìm kiếm một cái gì đó có thể được sử dụng để thay thế các tập tin hình dạng và đó là truy vấn sql. Tôi nghĩ sqlite là một nền tảng tuyệt vời nhưng đã nghe thấy một số tin đồn về cộng đồng spatialite và tự hỏi liệu có giải pháp nào khác hiện nay không.
GuidoS

Vấn đề là đối với một cái gì đó có thể truy vấn SQL nguyên bản, nó phải cụ thể cho một cơ sở dữ liệu cụ thể. Và với OGR, mọi thứ đều có thể truy vấn SQL ở một số dạng.
Matthew Snape

1
Là định dạng thay thế shapefile, thực sự, tôi đọc rằng spatialite là ứng cử viên tốt . Tôi chưa bao giờ nghe về các định dạng khác cho điều đó.
simo

Tôi nghĩ thật tuyệt khi định dạng trao đổi này được xây dựng dựa trên định dạng sql được sử dụng nhiều. sqlite là siêu ... nhưng spatialite là người duy nhất ngoài đó sử dụng nó?
GuidoS

Nghe có vẻ như bạn đang tìm kiếm SpatiaLite, nhưng chỉ khi đó không phải là SpatiaLite. Tôi tò mò không biết sự thiên vị của bạn là gì. (Có lẽ bạn đã trả lời nó trong bình luận của bạn dưới đây.)
DavidF

2

Mặc dù nó thiếu hỗ trợ bên ngoài ESRI, Cơ sở dữ liệu địa lý cá nhân sẽ là một lựa chọn tốt và được áp dụng trong ngành. Về mặt áp dụng các định dạng AutoCAD cũng có thể được xem xét.


2

Tôi nghĩ rằng điều khó khăn là khi bạn nói, 'được ngành công nghiệp chấp nhận'. Có giá trị cho các công ty phần mềm GIS độc quyền lớn để kiểm soát định dạng dữ liệu.

SpatiaLite hoạt động tuyệt vời với QGIS. Bạn có thể xây dựng các lớp bản đồ dựa trên các truy vấn SQL.

Nếu bạn muốn kết hợp tất cả các tính năng không gian và tất cả các bảng có liên quan trong một tệp để trao đổi, SpatiaLite là tuyệt vời. Nếu bạn chỉ muốn trao đổi các tính năng với các thuộc tính, một shapefile được nén vẫn là lựa chọn tốt nhất của bạn.


Tôi muốn tránh xa các shapefile trong nhiều reaons, bao gồm: nó yêu cầu nhiều tệp, nó có giới hạn đặt tên trường, nó chỉ cho phép một lớp / lớp tính năng, nó không cho phép truy vấn sql trực tiếp
GuidoS

Tôi không nghĩ rằng nhiều người trong chúng ta sẽ ngại di chuyển khỏi shapefiles. Truy vấn SQL RE, đó có phải là định dạng tệp không cho phép truy vấn SQL trực tiếp hay đây là phần mềm bạn đang sử dụng không cho phép truy vấn SQL trực tiếp?
DavidF

1
Đó là nhiều hơn về việc có một tiêu chuẩn robost cho phép bạn sử dụng các công cụ khác để truy cập dữ liệu của mình thông qua các truy vấn sql, do đó là sqlite.
GuidoS

2

Với giá trị của nó, phiếu bầu của tôi thuộc về Spatialite dưới dạng giải pháp tệp duy nhất, có thể trao đổi với mọi người. Cơ sở dữ liệu địa lý cá nhân của Esri (.mdb) rất tuyệt nhưng không hoạt động với nhiều ngăn xếp hệ thống GIS, chủ yếu là các cơ sở dựa trên Linux, vì định dạng tệp yêu cầu trình điều khiển cơ sở dữ liệu Microsoft độc quyền không có sẵn cho nhiều người. Các biện pháp khắc phục tập tin duy nhất khác cung cấp nạng duy nhất để lấy dữ liệu của bạn từ nhiều nơi khác nhau - dịch vụ trực tuyến, thiết bị GPS, v.v. (KML, GPX) .. hoặc từ những người dùng GIS khác đã thu thập dữ liệu để chia sẻ với bạn ở định dạng shapefile. dxf và dwg và các định dạng CAD khác không cung cấp chức năng mà người dùng GIS mong đợi. Tất nhiên, nếu bạn đang đặt dữ liệu của mình trên một máy chủ để được cung cấp cho nhiều người, thì bạn không cần một định dạng tệp duy nhất. PostGIS sẽ là giải pháp cơ sở dữ liệu phi máy chủ (máy chủ).


1

Bây giờ OGC GeoPackage là cơ sở dữ liệu không gian cho các tính năng vector và tiêu chuẩn gạch raster. Tuy nhiên, bạn không thể thực hiện các thao tác / chức năng / truy vấn không gian trên gpkg. Bạn có thể tạo một virtualgpkg trong spatialite và sử dụng spatialite cho các hoạt động không gian đó.


0

Bản thân SQLite có phần không gian. OGR hỗ trợ viết cho nó. Ngoài SpatiaLite (được hỗ trợ kém) còn có định dạng SDF của Autodesk. Các phiên bản mới nhất thực sự là các tệp SQLite.

http://en.wikipedia.org/wiki/Spatial_data_file


1
Với GDAL v> 1.7.0, Spatialite được hỗ trợ khá tốt. gdal.org/ogr/drv_sqlite.html Bạn có thể đọc / ghi. Các chỉ mục không gian không được hỗ trợ, nhưng nếu câu hỏi chỉ là trao đổi dữ liệu, thì đó không phải là một vấn đề lớn.
DavidF

Phải, đó là thịt bò của tôi. Để có một định dạng tệp trao đổi / trao đổi thực sự, nó cần phải được đọc bởi các ứng dụng máy tính để bàn và máy chủ phổ biến nhất. Mặc dù bản thân tôi không gặp vấn đề gì khi triển khai OGR, khách hàng của tôi thậm chí sẽ không bao giờ biết làm điều đó.
James Phí

Tôi muốn chỉ ra rằng câu hỏi này liên quan trực tiếp đến một phiên mà James đã có tại WhereCamp PDX. Lý thuyết của ông là chúng ta không cần một định dạng trao đổi và cách duy nhất để có một định dạng trao đổi mới là lấy định dạng nói được chấp nhận bởi các nhà cung cấp lớn.
GuidoS

@James - Vậy thì tập tin geodatabase là thế! ; / Công nghiệp GIS = ESRI, phải không? Họ đã phát hành API. Ném vào một số 'gói lớp' để đóng băng trên bánh ...
DavidF

1
FGDB có tất cả các vấn đề tương tự như định dạng SpatiaLite, nhưng vì lý do ngược lại. Thư viện chỉ hoạt động trên Windows và một vài hệ thống Linux "độc quyền" (RHEL, SuSE).
James Phí
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.