Làm cách nào để loại bỏ các gai trong đa giác bằng ArcGIS 10 / Python?


8

Trong hình bên dưới, bạn có thể thấy một lớp đa giác, đại diện cho các sườn dốc, được trích xuất từ ​​một TIN. Các đa giác có rất nhiều gai trong đó. Tôi muốn loại bỏ các gai này trong khi phần còn lại của biên giới nằm trên cùng một vị trí. Tôi muốn làm điều này trong một kịch bản Python, sử dụng các hàm arcpy hoặc Python.

Thông tin thêm: ArcGIS 10.0, Python 2.6.5, lớp đa giác nằm trong GDB

hình ảnh


3
Tôi không chắc chắn bạn sẽ tìm thấy một phương pháp tự động để sửa các gai của bạn. Vấn đề là, làm thế nào để bạn phân biệt giữa các góc nhọn bên trong đa giác so với bên ngoài? Hoặc làm thế nào để bạn nói với phần mềm của bạn một spike vs nonspike là gì? Và vì bạn không muốn phần còn lại của đa giác di chuyển / thay đổi, điều đó giới hạn những công cụ nào sẽ hoạt động. Đó là một trong những khó khăn.
Baltok

Bạn đang làm việc với mức độ không gian nào? Bạn có sẵn sàng chỉnh sửa thủ công dữ liệu vectơ của mình (nếu khả thi) không?
Aaron

1
Nếu bạn có thể truy cập vào FME, công cụ SpikeRemover có thể thực hiện những gì bạn đang theo đuổi. Không thực sự là giải pháp bạn yêu cầu, nhưng nó sẽ nhanh chóng.
Fezter

@Baltok cảm ơn câu trả lời của bạn. Không có gì là không thể phải không?;) Tôi đồng ý rằng đó là một điều khó khăn ...
Vincent Udo

@Aaron Phạm vi không gian quá lớn để làm điều này bằng tay. Phải làm điều này cho một phần lớn của Hà Lan.
Vincent Udo

Câu trả lời:


2

Tôi khuyên bạn nên chơi xung quanh với công cụ Đơn giản hóa Đa giác (đầu tiên) hoặc công cụ Đa giác trơn (thứ hai), để xem họ đáp ứng yêu cầu của bạn như thế nào rằng "phần còn lại của đường viền nằm trên cùng một vị trí".


Cảm ơn câu trả lời! Thật không may, cả đơn giản hóa và trơn tru đều không cho kết quả mà tôi đang tìm kiếm.
Vincent Udo

Xin chào Vincent - bạn có thể cung cấp thêm một số thông tin về cách kết quả lệch khỏi yêu cầu của bạn không? Điều đó có thể giúp chúng tôi tìm hiểu xem một số điều chỉnh tham số có thể cung cấp một số đầu ra chấp nhận được không, hoặc liệu một giải pháp khác hoàn toàn sẽ tốt hơn.
andytilia

Tôi phải sử dụng các đa giác để chọn các đường nằm trên đường viền của đa giác, nhưng tôi không muốn chọn các đường giao nhau giữa các gai. Đơn giản hóa và Smooth thay đổi các đường viền, khiến cho không thể chọn đúng dòng. Các dòng được sử dụng để xây dựng TIN, vì vậy chúng nằm trên cùng một vị trí với đường viền của đa giác.
Vincent Udo

0

Từ hình ảnh của bạn tôi có thể nói này cách tiếp cận sẽ giúp bạn.

Thủ tục đơn giản

  1. Đầu tiên đệm lớp gốc với một số khoảng cách hợp lý.

  2. Sau đó thực hiện bộ đệm ngược với cùng khoảng cách trên kết quả của bước một.

  3. Sau clip này, lớp ban đầu của bạn với kết quả của bước 2.

bạn có thể cần thực hiện đơn giản hóa trên lớp cuối cùng của bạn.

Hy vọng rằng sẽ giúp bạn.


Cảm ơn câu trả lời của bạn. Thật không may, phương pháp này không có kết quả mà tôi đang tìm kiếm. Nó lấp đầy khoảng trống giữa các gai và sườn. Tôi muốn tìm một cách để loại bỏ các gai bằng cách loại bỏ các đỉnh trong điểm của gai.
Vincent Udo
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.