Công cụ miễn phí để đơn giản hóa shapefiles bưu kiện?


16

Có công cụ nào có sẵn để tôi chạy hàng triệu shapefile bưu kiện và đơn giản hóa chúng không?


1
bạn có ý nghĩa gì bằng cách đơn giản hóa, các cạnh?
nghệ thuật21

1
Tôi nghĩ rằng tôi sẽ quan tâm đến việc chạy đơn giản hóa trên đa giác mà không cần một số loại cấu trúc liên kết. Tôi thậm chí không nghĩ rằng esri sẽ quản lý hai cạnh được mô phỏng đồng thời để chúng vẫn nhất quán. Có lẽ tôi sai.
Brad Nesom

Câu trả lời:


6

Bạn có thể thử Shapely - API Python được xây dựng dựa trên GEOS . Vì cả Shapely và GDAL đều có thư viện Python, bạn có thể dễ dàng kết hợp chúng với dữ liệu từ nhiều nguồn khác nhau (bao gồm cả shapefile), sau đó đơn giản hóa và xuất theo ý muốn.

Nhược điểm duy nhất có thể là tốc độ nếu bạn đang thực hiện hàng triệu tính năng - có thể nhanh hơn khi sử dụng GEOS hoặc JTS trực tiếp.

Xem phương pháp đơn giản hóa :

Tất cả các điểm trong đối tượng được đơn giản hóa sẽ nằm trong khoảng cách dung sai của hình dạng ban đầu. Theo mặc định, một thuật toán chậm hơn được sử dụng để bảo tồn cấu trúc liên kết. Nếu cấu trúc liên kết bảo toàn được đặt thành Sai, thuật toán Douglas-Peucker nhanh hơn được sử dụng.

>>> p = Point(0.0, 0.0)
>>> x = p.buffer(1.0)
>>> x.area
3.1365484905459389
>>> s = x.simplify(0.05, preserve_topology=False)
>>> s.area
3.0614674589207187

14

Phiên bản 9.0 của GDAL / OGR đã thêm tùy chọn -simplify vào lệnh ogr2ogr . Các tài liệu chỉ ra rằng nó bảo tồn cấu trúc liên kết.

-simplify dung sai: (bắt đầu với GDAL 1.9.0) dung sai khoảng cách để đơn giản hóa. Phương pháp này sẽ bảo tồn cấu trúc liên kết, đặc biệt cho hình học đa giác.

Ví dụ sử dụng:

ogr2ogr outfile.shp infile.shp -simplify 0.000001


6

ogr2ogr có một tùy chọn "phân đoạn" xuất hiện để làm những gì bạn cần: tài liệu GDAL ogr2ogr

Từ trang đó:

-seributionize max_dist: (bắt đầu bằng GDAL 1.6.0) khoảng cách tối đa giữa 2 nút. Được sử dụng để tạo phạm vi truy vấn điểm trung gian



4

Tôi đã thực hiện một số thử nghiệm và cho đến ngày hôm nay, tất cả các phương pháp được đề xuất ở đây và dựa vào GEOS (ogr2ogr với -simplify, shapely, hàm ST_SimplifyPreserveTopology của PostGIS) tạo ra các dị thường tôpô (tức là lỗ hổng / chồng chéo giữa các đa giác). Chỉ với GRASS tôi đã có kết quả tốt.
capooti

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.