Nhận khoảng cách ngắn nhất giữa hai hình học trong ArcPy


8

Tôi đang sử dụng ArcPy và sử dụng một con trỏ để bước qua một lớp tính năng đa giác. Đối với mỗi đa giác 'nguồn' này, tôi đang tạo một SearchCoder để tìm tất cả các đa giác trong một lớp tính năng thứ hai có chung một thuộc tính. Đối với mỗi đa giác phù hợp này, tôi muốn đo khoảng cách giữa nó và đa giác tìm kiếm. Tôi cũng có kế hoạch đo lường sự khác biệt hình học khác (để xác định xem nó vừa được dịch chuyển, xoay, thu nhỏ, v.v.).

Mục đích của công việc này là xây dựng lịch sử thay đổi giữa các bộ dữ liệu đa giác thể hiện các tính năng tại các thời điểm khác nhau.

Tôi đã thấy phương thức ReturnDistance được đề cập trong ArcObjects, nhưng không thể tìm ra cách chạy phương thức này bằng ArcPy. Có thể không, và nếu vậy, bất cứ ai cũng có thể giúp với một số mã mẫu thô? Nếu không, có lẽ tôi sẽ dùng đến việc đo lường sự thay đổi vị trí trung tâm giữa các đa giác.

Cảm ơn, Steve

Câu trả lời:


1

Câu trả lời này có thể không được coi là chính xác vì nó loại trừ việc sử dụng ArcPy. Tôi không chắc chắn, nếu bạn có thể truy cập ReturnDistance trong ArcPy. Tuy nhiên, bạn có thể truy cập ArcObjects trực tiếp từ Python. Hướng dẫn này của Mark Cederholm sẽ giúp bạn bắt đầu http://www.pierssen.com/arcgis/upload/misc/python_arcobjects.pdf . Nó sẽ đòi hỏi từ bạn một số kỹ năng lập trình hướng đối tượng, nếu bạn biết cơ bản, là đủ. Nếu không thì đọc hướng dẫn. Trong tài liệu tham khảo, bạn sẽ tìm thấy một số liên kết đến đoạn mã, nếu bạn đủ kiên nhẫn, bạn sẽ tìm ra nó.

Ở đây bạn sẽ có một số cách tiếp cận khác nhau đối với ArcObjects trong Python: Truy cập ArcObjects từ Python?

Và đây là một ví dụ về ArcObjects trong Python (cuộc đấu tranh của tôi với vấn đề này): Arcobjects trong Python: gán giao diện cho các đối tượng có hình dạng đặc trưng (hình dạng)

Tôi mất khoảng 3 ngày để viết chương trình của riêng mình và tôi không có bất kỳ manh mối nào về lập trình hướng đối tượng, chúc may mắn.


Tôi nghi ngờ đây có thể là những gì tôi cần làm. Cảm ơn tất cả các liên kết và thông tin về kinh nghiệm của bạn với điều này. Sẽ cho nó đi một mình.
Steve

11

Câu trả lời này trễ 3 năm nên có lẽ bạn đã có cách giải quyết. Nhưng để hoàn thiện, đây là một phương pháp phức tạp để đo khoảng cách giữa 2 đối tượng.

Hình học có một phương pháp distanceTo:

Trả về khoảng cách tối thiểu giữa hai hình học. Nếu hình học cắt nhau, khoảng cách tối thiểu là 0.

Cả hai hình học phải có cùng một hình chiếu.

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.