Tôi có một tập hợp các điểm dưới dạng shapefile và tôi muốn tìm (tọa độ) của một điểm mới sẽ có khoảng cách dài nhất có thể từ mỗi điểm hiện có. Điều đó có thể không? Nếu có, có mã VB mẫu nào không? Cảm ơn Demetris
Tôi có một tập hợp các điểm dưới dạng shapefile và tôi muốn tìm (tọa độ) của một điểm mới sẽ có khoảng cách dài nhất có thể từ mỗi điểm hiện có. Điều đó có thể không? Nếu có, có mã VB mẫu nào không? Cảm ơn Demetris
Câu trả lời:
Đề xuất của Kirk Kuykendall để xây dựng một sơ đồ Voronoi hình cầu (đa giác Thiessen) là một cách tốt, nhưng có thể có một số trở ngại kỹ thuật để giải quyết. Trong khi đó, như một giải pháp thay thế, người ta có thể áp dụng giải pháp raster tiêu chuẩn như được mô tả trong một luồng khác . Sử dụng khoảng cách hình cầu thay vì khoảng cách Euclide.
Đây là một ví dụ sử dụng năm điểm, ở đây được đưa ra là (lat, lon):
82.7051 -145.256
60.3321 81.2881
-17.076 105.125
-38.792 -122.686
0.000 180.000
Bản đồ khoảng cách hình cầu này trải dài toàn cầu từ -180 đến 180 độ theo chiều ngang và -90 đến 90 độ theo chiều dọc. Các điểm được hiển thị với các chấm đỏ lớn. Khoảng cách tăng theo độ sáng. Các đường gờ rõ ràng phải là một phần của các vòng tròn lớn. Chấm đen nhỏ gần (-15.3268, -2.04352) đánh dấu điểm có khoảng cách tối đa là 11.227 km. (Khoảng cách đã được tính toán trong mốc đo lường elip ITRF00.)
Độ phân giải của lưới này là một độ. Để có được giải pháp chính xác hơn, người ta có thể phóng to một điểm như vậy (và vào bất kỳ mức tối đa cục bộ nào khác có giá trị gần đủ với mức tối đa toàn cầu) và lặp lại phép tính trên lưới nhỏ hơn nhưng độ phân giải cao hơn.
Tôi chưa bao giờ thử điều này nhưng có vẻ như điều này sẽ hoạt động:
Tạo một sơ đồ voronoi 3D của hình cầu. Đa giác kết quả này sẽ được tập trung đại khái vào các điểm (hạt giống) ban đầu.
Lặp lại qua từng đỉnh kết quả để tìm một đỉnh xa nhất từ điểm hiện tại gần nhất của nó. Điểm này phải là điểm xa nhất trên toàn cầu.
Bạn có thể sử dụng Hàm Khoảng cách theo Chi phí để xác định khoảng cách mọi ô trong raster của bạn cách tất cả các điểm khác.
Theo như tôi biết, phân tích " Cực không thể tiếp cận " này phải được thực hiện lặp đi lặp lại.
Một cách tiếp cận raster lặp đi lặp lại sẽ phù hợp miễn là bạn đang nhìn vào một khu vực nhỏ với độ méo tối thiểu từ phép chiếu. Đối với mỗi ô, tính khoảng cách đến tất cả các điểm, sau đó lấy khoảng cách tối thiểu. Các tế bào có giá trị cao nhất là cực. Bạn cũng có thể sử dụng Khoảng cách Euclide trong Phân tích không gian để thực hiện việc này.
Một cách tiếp cận vector lặp lại phức tạp hơn. Garcia-Castellanos et al 2007 mô tả một phương pháp lặp dựa trên một trái đất hình cầu. Có vẻ như họ đã làm cho mã C của họ có sẵn trực tuyến . Tôi có thể tưởng tượng các cách làm điều này trong Arc với bộ đệm, nhưng nó vẫn lặp và chậm.
bạn có thể sử dụng Khoảng cách điểm (Phân tích) Công cụ tạo một bảng có khoảng cách giữa hai bộ điểm. nếu bán kính tìm kiếm mặc định được sử dụng, khoảng cách từ tất cả các điểm đầu vào đến tất cả các điểm gần được tính toán. Bảng đầu ra có thể khá lớn. Ví dụ: nếu cả hai tính năng đầu vào và gần có 1.000 điểm, thì bảng đầu ra có thể chứa một triệu bản ghi.
Điểm xa nhất với tập hợp điểm của bạn sẽ là điểm tương ứng với điểm bên trong nhất trong tập hợp của bạn. Chẳng hạn, nếu điểm bên trong nhất trong tập hợp của bạn có tọa độ 49 độ Bắc và -144 độ Đông, thì điểm đối ứng và điểm xa nhất sẽ có tọa độ 49 độ Nam và 36 độ Tây. Điều này không chính xác bởi vì Trái đất không hoàn toàn hình cầu, thay vào đó là địa chất; do đó, tính chính xác của điểm kết quả của bạn rất nhiều phụ thuộc vào hệ thống chiếu và địa lý (chỉnh hình, chỉnh hình ...) mà bạn sử dụng. Có thể hữu ích để tìm một đối ứng cho toàn bộ tập hợp (chuyển một antipode cho một tập hợp) và sau đó chạy phân tích bề mặt trong địa hình được bao phủ bởi tập hợp các điểm cực âm, vì địa hình có thể rất. Tôi cho rằng câu hỏi của bạn không phải là về bất kỳ điểm nào trên các vật thể ngoài trái đất, chẳng hạn như các hành tinh khác hoặc mặt trăng. Lấy làm tiếc, Tôi không có mã VB cho bạn. 🙄