Sự khác biệt giữa Bảo hiểm, Shapefiles và Cơ sở dữ liệu địa lý trong ArcGIS là gì?


24

Tôi đã tự hỏi về sự khác biệt trong phương pháp lưu trữ dữ liệu không gian được sử dụng bởi Coverages, Shapefiles và Geodatabase trong ArcGIS. Bảo hiểm là định dạng ban đầu, tiếp theo là Shape Files và giờ là Cơ sở dữ liệu địa lý. Vì vậy, những gì đã được cải thiện trong các định dạng mới hơn của Shapefiles và Geodatabase?

Sẽ thật tuyệt nếu ai đó có thể vui lòng giải thích nó bằng các ví dụ.


1
Tôi nghĩ rằng shapefiles luôn được chia sẻ dữ liệu nhiều hơn so với lưu trữ chính. Đó chắc chắn là cách chúng được sử dụng theo kinh nghiệm của tôi.
Russell tại ISC

3
Không có gì. Shapefiles là định dạng dữ liệu chính cho ArcView 1/2 / 3.x. Chúng chắc chắn là một định dạng sử dụng (nếu chúng là định dạng chuyển, chúng sẽ không có trong nhiều tệp)
Vince

Câu trả lời:


22

Đây là một câu hỏi tuyệt vời. Các trang bìa, cơ sở dữ liệu Shapefile và cơ sở dữ liệu địa lý là những kho lưu trữ dữ liệu không gian địa lý khác nhau về cơ bản từ quan điểm thực hiện cũng như từ quan điểm triết học. Tôi sẽ cố gắng tóm tắt mà không đi sâu vào nó.

1. Bảo hiểm:

Bảo hiểm là cấu trúc dữ liệu không gian địa lý thú vị . Họ tập trung vào việc lưu trữ cấu trúc liên kết. Vì vậy, bạn sẽ thấy rằng sự nhấn mạnh là trong việc lưu trữ các yếu tố hình học trước tiên, đó là các nút, các cạnh tạo nên tất cả các hình học. Sau đó, bạn sẽ thấy một tập hợp các bảng riêng biệt liên quan đến các hình học đó với các thuộc tính (và do đó chúng "trở thành" các tính năng).

Từ trợ giúp ESRI

Một "sạch" bảo hiểm đảm bảo quy tắc nhất định, ví dụ, rằng có những nút ở mỗi ngã tư nút, bạn sẽ không có hai (hoặc nhiều hơn) các nút trên đầu trang của mỗi khác (hoặc thậm chí trong một khoảng cách khoan dung mờ), mà không có hai cạnh trên nhau, v.v ... Chúng cũng có cảm giác về hướng (từ-> đến) và có thể phân biệt giữa những gì ở bên trái và bên phải của nó.

Làm sạch vùng phủ sóng từ trợ giúp ESRI

Bảo hiểm hoạt động thực sự tốt cho các chỉnh sửa đòi hỏi nhận thức về các mối quan hệ tôpô (tưởng tượng chỉnh sửa một ranh giới bưu kiện). Ngoài ra, lớp phủ nén rất tốt vì chúng loại bỏ sự dư thừa hình học theo thiết kế. Trên thực tế, bạn sẽ thấy rằng ngày nay, các định dạng hiện đại như TopoJSON bắt đầu sử dụng các kỹ thuật tương tự mà chúng ta đã học được từ các trang bìa vài thập kỷ trước.

Độ che phủ có thể phức tạp hơn một chút khi xử lý dữ liệu 3D (ví dụ: mô hình hóa một cây cầu có mặt trên và mặt dưới bên phải) bởi vì các thuật toán mà chúng ta thường sử dụng để đối phó với chúng cho toán học đồ thị phẳng 2D .

Vậy tại sao chúng ta lại rời xa nó? Điều đó sẽ mất một câu trả lời dài hơn, nhưng có lẽ chúng ta nên giải thích thêm một chút điều gì đã khiến ESRI Shapefiles trở nên phổ biến trước tiên.

2. Hình dạng ESRI:

Cùng đến Shapefile. Có lẽ đặc điểm quan trọng nhất mà nó có là nó là / là một Đặc tả mở (tương đối) đơn giản để thực hiện. Các thuộc tính tận dụng các tệp DBF , vì vậy đã có nhiều thư viện triển khai phần lớn thông số kỹ thuật. Không có khái niệm "sạch", điều đó có nghĩa là mỗi hình học riêng lẻ chỉ phải lo lắng về việc thể hiện chính nó mà không xem xét các hình học xung quanh chúng hoặc chúng giao nhau. Điều này có nghĩa là chúng tôi không phải thực hiện bất kỳ phép toán phức tạp nào để đảm bảo rằng một shapefile là chính xác (không giống như đối tác bảo hiểm).

Có nhiều hình học mà giao nhau? Chắc chắn tại sao không. Hai điểm chồng lên nhau? Hãy là khách của tôi

Đôi khi, định dạng "tốt nhất" (được cho là) ​​không phải là định dạng chiến thắng, mà là định dạng được chấp nhận. Nếu một định dạng dễ thực hiện, nó có cơ hội được chấp nhận tốt hơn một định dạng phức tạp. Đó là Shapefile.

Thật bất ngờ khi bạn có một số thư viện (nguồn mở và độc quyền) và các nhà cung cấp phần mềm hỗ trợ nó. Vì vậy, tất cả đều tuyệt vời.

Câu hỏi rõ ràng là sau đó - tại sao Cơ sở dữ liệu địa lý?

3. Cơ sở dữ liệu địa lý:

Tôi tin rằng Cơ sở dữ liệu địa lý là một trong những kho lưu trữ dữ liệu không gian địa lý bị hiểu lầm nhiều nhất. Mọi người thường nghĩ về chúng như là "một định dạng không gian địa lý". Một vài năm trước, có người đã hỏi "Cơ sở dữ liệu địa lý ESRI là gì?" . Thay vì lặp lại câu trả lời của tôi là gì, tôi hoan nghênh bạn đọc nó trước. Tôi sẽ đợi :)

Bây giờ bạn đã đọc câu trả lời đó và biết Geodatabase là gì, tôi có thể mở rộng thêm một chút về câu trả lời đó. Vào thời điểm đó, có rất nhiều nghiên cứu tối ưu hóa SQL và viết các trình tối ưu hóa truy vấn tận dụng các chỉ mục, lưu trữ cột, v.v. (vẫn còn). Bằng cách xây dựng Cơ sở dữ liệu địa lý trên đầu kho dữ liệu SQL, chúng tôi có thể tận dụng tất cả các nghiên cứu đó miễn phí. Chúng ta chỉ cần tập trung vào các khái niệm không gian địa lý và khi các kho lưu trữ dữ liệu SQL trở nên tốt hơn, Geodatabase cũng trở nên tốt hơn, miễn phí . Một đề xuất không tồi nhỉ?

Ngày nay, có một số thông số kỹ thuật cho dữ liệu không gian địa lý xuất hiện. Ban bồi thẩm vẫn chưa biết về những gì sẽ thay thế các công nghệ này (nếu có). Tuy nhiên, nếu bạn quan tâm đến chủ đề này, tôi khuyên bạn nên đọc câu trả lời cho câu hỏi được hỏi ở đây trong GIS.SE vài năm trước: "Có bất kỳ nỗ lực nào để thay thế tệp hình dạng"

Tôi hi vọng cái này giúp được!


12

Hầu hết các thông tin có thể được tìm thấy trong Esri Help và một số tìm kiếm, vì vậy tôi vừa biên soạn một số bài đọc hay.

Làm thế nào bảo hiểm được lưu trữ? Vì nó là định dạng độc quyền, bạn sẽ không tìm thấy bất kỳ thông số kỹ thuật nào về cách triển khai thuật toán (trừ khi @Vince sẽ làm sáng tỏ).

Shapefiles xuất hiện sau đó và được thực hiện như một tiêu chuẩn cung cấp một mức độ tương tác nhất định. Mô tả kỹ thuật Shapefile ESRI chứa mô tả đầy đủ.

Cơ sở dữ liệu địa lý đã được giới thiệu sau này. Cơ sở dữ liệu địa lý cá nhân đầu tiên xuất hiện (MS Access), sau đó nộp cơ sở dữ liệu địa lý (định dạng mã hóa nhị phân) và cơ sở dữ liệu địa lý doanh nghiệp (hoặc ArcSDE), tận dụng công nghệ ArcSDE và DBMS. Bạn có thể đọc thêm về cơ sở dữ liệu địa lý tại đây: Các loại cơ sở dữ liệu địa lýKiến trúc của cơ sở dữ liệu địa lý .

Đọc tốt trên GIS.SE: Có nên sử dụng Cơ sở dữ liệu địa lý tệp (* .gdb), Cơ sở dữ liệu địa lý cá nhân (* .mdb) hoặc shapefiles?

Liên quan đến hiệu suất, có nhiều điểm chuẩn được thực hiện và cơ sở dữ liệu địa lý tệp cho thấy là nhanh nhất về thông tin đọc / ghi. Cơ sở dữ liệu địa lý cá nhân và shapefile chậm hơn rất nhiều và có lẽ lý do duy nhất để sử dụng chúng là để hỗ trợ các hệ thống cũ được xây dựng với một số logic kinh doanh MS Access hoặc đọc / chuyển đổi shapefile.

Cơ sở dữ liệu địa lý dựa trên ArcSDE thường thực hiện gần như cơ sở dữ liệu địa lý tệp khi DBMS được điều chỉnh, nhưng tất cả phụ thuộc vào loại dữ liệu được lưu trữ, mạng và phần cứng. Để biết thêm thông tin về điểm chuẩn, hãy tham khảo tài nguyên chiến lược thiết kế hệ thống Esri (và tại đây ).


2
Các định dạng tệp bảo hiểm đã được ghi lại trong tài liệu FORTRAN SDK (các nguyên hàm LAB, ARC và TXT, cộng với các bảng xếp hạng PAT, AAT, PAL, RAT và phần lớn bảng chữ cái). Hầu hết các "thuật toán" không phụ thuộc vào định dạng tệp và do đó không được ghi lại trong SDK.
Vince

2
Tôi nghĩ rằng Cơ sở dữ liệu địa lý cá nhân xuất hiện sau Cơ sở dữ liệu địa lý ArcSDE / SDE / SDBE nhưng trước Cơ sở dữ liệu địa lý tệp.
PolyGeo

3
Sau SDBE và SDE chắc chắn, nhưng việc thay đổi tên ArcSDE đồng thời với việc phát hành định dạng PGDB. FGDB đã đến sau.
Vince

Daniel Morisette đảo ngược đủ các định dạng bảo hiểm là hữu ích, giờ đây nó là một phần của bộ GDAL / OGR. avce00.maptools.org/docs/v7_bin_cover.html
matt wilkie

1
@PolyGeo Bạn nói đúng. Sự thật thú vị: SDE hỗ trợ cơ sở dữ liệu Access tại một điểm. Bạn có thể thấy rằng trong API ArcSDE để lấy thông tin kết nối: help.arcgis.com/en/geodatabase/10.0/sdk/arcsde/api/capi/ trộm SE_DBMS_IS_JET dành cho MS Jet Engine en.wikipedia.org/wiki/Microsoft_Jet
Ragi Yaser Burhum

8

Sự khác biệt chính giữa các định dạng này là cách các tính năng liên quan đến hình học. Quay trở lại thời kỳ hoàng kim của các trang bìa, ngôn ngữ mã hóa là FORTRAN, có nghĩa là kích thước bộ đệm cố định trong các khối CommON. Hạn chế nhất trong số này là 500 đỉnh trên mỗi dòng nguyên thủy ("cung"). Hạn chế này đã đưa ra khái niệm "nút giả" (nơi mà các cung chỉ tham gia với một cung khác) và làm phức tạp nhiều hoạt động truy cập dữ liệu khác.

Mô hình bao phủ đã sử dụng "danh sách cung đa giác" (PAL) để mô tả đa giác, yêu cầu thuật toán tạo bóng đa giác để đọc một tệp để lấy danh sách các cung, sau đó đọc chính các cung để lấy số lượng đỉnh, sau đó phân bổ đủ RAM cho lưu trữ tất cả các đỉnh, sau đó quay lại để đọc lại các cung, lần này sao chép các đỉnh theo thứ tự tiến hoặc lùi để lắp ráp một đa giác hoàn chỉnh. Chỉ sau hai lần truy cập vào tệp ARC, đa giác mới có thể được mô tả đầy đủ, và sau đó nhiều vòng cung giống nhau sẽ cần được truy cập (theo hướng ngược lại) để che cho các lân cận đa giác.

Khi so sánh, shapefile và các định dạng cơ sở dữ liệu địa lý khác nhau lưu trữ hình học hoàn chỉnh dưới dạng một đối tượng (với các chi tiết triển khai khác nhau về cách đối tượng được triển khai thực tế). Điều này có những hạn chế khi cố gắng chỉnh sửa các ranh giới được chia sẻ, nhưng hoạt động đó ít thường xuyên hơn so với tô bóng đa giác.

Mô hình lưu trữ "toàn bộ hình dạng" là sự khác biệt chính giữa định dạng bảo hiểm và định dạng mới và sự khác biệt này rất cơ bản đến nỗi khó có thể thấy bất kỳ sự khác biệt thực sự nào giữa shapefile và các định dạng cơ sở dữ liệu địa lý khác nhau. Trên thực tế, định dạng shapefile đã được sử dụng để truy cập hình học FGDB thông qua API FGDB, mặc dù FGDB không sử dụng định dạng chính xác đó, chỉ vì nó đơn giản hơn so với việc giới thiệu bố cục đỉnh mới.


5

Một điểm khác biệt nữa giữa các định dạng là cơ sở dữ liệu địa lý có thể mô hình hóa các mối quan hệ giữa các lớp đối tượng . Như Ragi đã lưu ý,

Bảo hiểm hoạt động thực sự tốt cho các chỉnh sửa đòi hỏi nhận thức về các mối quan hệ tôpô (tưởng tượng chỉnh sửa một ranh giới bưu kiện).

Nhưng nhận thức này chỉ tồn tại trong một phạm vi bảo hiểm duy nhất - nếu bạn muốn mô hình hóa các mối quan hệ giữa 2 hoặc nhiều bảo hiểm, bạn có trách nhiệm viết mã kiểm tra mọi mối quan hệ tôpô "bất hợp pháp".

Ví dụ: nếu đa giác bưu kiện không thể có khoảng trống và ranh giới bưu kiện phải căn chỉnh chính xác với đường, với lớp phủ hoặc hình dạng thì bạn phải xác minh rằng đây là trường hợp và khắc phục thủ công mọi lỗi mà các quy tắc này không được duy trì.

Một geodatabase có thể tùy chọn hỗ trợ một Topology đối tượng, cho phép bạn xác định các quy tắc topo cho phép đối với dữ liệu của bạn. Điều quan trọng, các quy tắc này có thể xảy ra cả bên tronggiữa các lớp tính năng trong cơ sở dữ liệu địa lý của bạn.

Các công cụ chỉnh sửa cấu trúc liên kết trong ArcMap giúp bạn tìm ra các vi phạm tô pô và trong một số trường hợp để tự động sửa chúng .

Trước khi giới thiệu cấu trúc liên kết cơ sở dữ liệu địa lý ("ngày xưa tốt đẹp"), người ta thường viết các tập lệnh AML dài và phức tạp để phát hiện các vi phạm tô pô, sau đó chỉnh sửa các trang bìa theo cách thủ công trong ArcEdit (không thú vị lắm).

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.