У меня есть карта около 3000 полигонов в ArcGIS 10. Я ищу, чтобы найти расстояние между каждым из них. Я знаю, как это сделать, используя координаты широты и долготы центроида, но я ищу самое короткое расстояние по прямой линии от ближайшего края одного многоугольника до ближайшего края другого многоугольника. Любые идеи?
9
Расстояние от A до B такое же, как от B до A, а расстояние от A до A равно нулю, поэтому полуматрица сэкономит вам немного работы.
IProximityOperator возвращает расстояние от края. В приведенном ниже коде используется азимутальная проекция с центром в центре тяжести каждого многоугольника (также должна работать со строками). Если полигоны не слишком сложны (или если у вас много памяти), загружая все геометрии в память, проецирование их будет быстрее. (Это не полностью проверено).
источник
Расчет не является чем-то, что предоставляет ArcGIS изначально, но я дал решение проблемы в Shapely, которая может помочь, или в этой теме на старых форумах ArcGIS.
источник
Я думаю, что инструмент ближайшего стола будет работать для того, что вы хотите:
Просто оставьте радиус поиска пустым.
источник