Матрица расстояний между ВСЕМИ объектами в ArcGIS

У меня 20 000 полигонов в наборе данных. Мне нужно иметь евклидово расстояние между всеми полигонами, поэтому матрица расстояний 20 000 x 20 000, где для каждого из полигонов сохраняется расстояние до всех других полигонов.

Я читал в некоторых других темах рекомендацию использовать инструмент «Рядом» в Arcmap. Однако этот инструмент вычисляет только расстояние до БЛИЖАЙШЕГО многоугольника, а мне нужно расстояние от ВСЕХ до ВСЕХ полигонов.

Есть ли решение для этого?

Инструмент «Рядом»: вычисляет расстояние и дополнительную информацию о близости между входными объектами и ближайшим объектом в другом слое или классе объектов.

1 ответ

Решение

Чтобы рассчитать расстояние между центроидами каждого из ваших многоугольников, сначала убедитесь, что ваша карта находится в системе координат проекции. Затем убедитесь, что точки центроида рассчитаны (подробные пошаговые инструкции см. Здесь: https://support.esri.com/en/technical-article/000009381 )

Экспортируйте свою таблицу атрибутов как DBF (нажмите «Параметры»> «Экспорт»).

Добавьте таблицу на свою карту. Щелкните правой кнопкой мыши новую таблицу, отобразите данные XY, выберите долготу для X и широту для Y и выберите систему координат карты, чтобы создать слой событий.

Затем используйте инструмент «Расстояние от точки» (подробности здесь: https://desktop.arcgis.com/en/arcmap/10.3/tools/analysis-toolbox/point-distance.htm ). Точки событий являются как входными, так и ближайшими объектами. Результатом будет таблица, показывающая расстояние между центроидами всех многоугольников на карте.

Другие вопросы по тегам