Lỗi hình học khi nhập dữ liệu từ cơ sở dữ liệu địa lý tệp ESRI sang PostGIS


8

Khi tôi chạy lệnh sau để nhập theo dữ liệu từ ESRI fgdb sang postgis ...

ogr2ogr -f "PostgreSQL" -a_srs "EPSG:28355" -t_srs "EPSG:3857" PG:"dbname=tp_test user=postgres port=54321 password=xxxxxxx host=localhost" -overwrite P:\2012\183_TownPlanning_Symbology\Working\QueryLayer\TP_Query_Final_28355.gdb

...Tôi có...!

Cảnh báo 1: tổ chứcPolygons () đã nhận được một hình dạng bất ngờ. Hoặc là một đa giác với các vòng bên trong, hoặc một đa giác có ít hơn 4 điểm, hoặc một hình học không đa giác. Trả về các đối số dưới dạng một bộ sưu tập. Cảnh báo 1: Hình học của đa giác không thể được dịch thành Hình học đơn giản. Tất cả các gon poly sẽ được chứa trong một đa giác.

Tôi đã kiểm tra hình học trong ESRI và nó báo cáo không có lỗi. Tôi đang chạy nhiều phần cho một phần để xem điều này có giải quyết được vấn đề không nhưng điều này đang làm sập arcmap 10.1 như đã giải thể. Nó chạy một loại mà không có vấn đề và bạn có thể mở tập dữ liệu.

Tôi đã nhập thành công bộ dữ liệu trước đó nhưng sau đó phải chạy công cụ Dice ESRI để phân chia các đa giác lớn thành không quá 15.000 đỉnh để nó xử lý nhanh hơn. nhập mô tả hình ảnh ở đây

Tôi là người mới đến postgis.

Có cách nào để sửa các vấn đề trong gdb mới hoặc để phân chia các đa giác trong chính postgis không?

Câu trả lời:


2

Nếu dữ liệu của bạn đã có trong PostGIS, hãy thử chạy:

select * from table where ST_NPoints(the_geom) < 4

Điều này sẽ trả về tất cả các hàng gây ra cảnh báo, nghĩa là nó sẽ giúp bạn theo dõi các lỗi dữ liệu trong PostGIS.


Tôi chỉ có tập dữ liệu trong postgis từ TRƯỚC chạy Dice. Nếu tôi sẽ sử dụng bộ dữ liệu postgis hiện tại, tôi cần một công cụ tương tự như Dice để chia mỗi đa giác thành <15.000 đỉnh.
GeorgeC

bạn có thể thử nếu lỗi xuất phát từ dữ liệu đó bởi runni isValid () và ST_NPoints () sang dữ liệu
simplexio
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.