Инструмент Расстояние между точками (Point Distance) (Анализ)
Резюме
Определяет расстояния от входных точечных объектов до всех точек среди ближайших объектов на заданном радиусе поиска.
Дополнительные сведения о вычислении близости в инструментах геообработки
Рисунок
Использование
-
Инструмент создает таблицу расстояний между двумя наборами точек. Если используется радиус поиска по умолчанию, вычисляются расстояния от всех входных точек до всех ближайших точек. Выходная таблица может быть достаточно большой. Например, если в классах входных и ближайших объектов хранится по 1000 точек, выходная таблица может содержать миллион записей.
Используйте корректное значение радиуса поиска, чтобы ограничить размер выходных данных и оптимизировать производительность инструмента. Выходная таблица содержит только те записи, у которых ближайшие точки расположены в радиусе поиска.
-
Результаты записываются в выходную таблицу, содержащую следующую информацию:
- INPUT_FID: идентификатор входных объектов.
- NEAR_FID: идентификатор ближайших объектов.
- DISTANCE: расстояние от входного до ближайшего объекта. Значение данного поля представляет собой значение в линейных единицах измерения системы координат входных объектов.
-
И Входные объекты, и Ближайшие объекты могут быть одним и тем же набором данных. В том случае, если входной и ближайший объекты - это одна запись, этот результат будет пропущен, чтобы не сообщать, что каждый объект находится на расстоянии 0 единиц от самого себя.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Точечные объекты, от которых будут вычисляться расстояния до ближайших объектов. | Feature Layer |
near_features |
Точки, до которых будут вычисляться расстояния от входных объектов. Расстояния между точками в одном классе пространственных объектов или слое могут быть определены, если вы зададите один и тот же класс пространственных объектов или слой и для входных, и для ближайших объектов. | Feature Layer |
out_table |
Таблица, в которой содержится перечень входных объектов и информация обо всех ближайших объектах в пределах радиуса поиска. Если не задан радиус поиска, вычисляются расстояния от всех входных объектов до всех ближайших объектов. | Table |
search_radius (дополнительно) |
Расстояние, в пределах которого проводится поиск потенциальных ближайших объектов. В выходной класс записываются только те ближайшие объекты, которые расположены в окружности, определяемой заданным радиусом. Если значение не задано, то есть параметр Радиус поиска (Search radius) оставлен пустым по умолчанию, в вычислениях участвуют все ближайшие пространственные объекты. По умолчанию для радиуса поиска используются единицы измерения, заданные для входных объектов. Эти единицы можно изменить на любые другие. Однако это не скажется на единицах измерения выходного поля DISTANCE (расстояние), которые наследуются из системы координат входных объектов. | Linear unit |
Пример кода
Пример скрипта Python для функции Расстояние между точками (Point Distance) с запуском из окна Python.
import arcpy
arcpy.env.workspace = "C:/data/pointdistance.gdb"
arcpy.PointDistance_analysis("police_stations", "crime_location", "crime_distances")
Пример скрипта Python для функции Расстояние между точками с запуском в автономном скрипте.
# Description: Finds distance of each near point from each input point and outputs to a table.
# import system modules
import arcpy
# set workspace environment
arcpy.env.workspace = "C:/data/pointdistance.gdb"
# set variables
in_features = "police_stations"
near_features = "crime_location"
out_table = "crime_distance4"
search_radius = "22000 Feet"
try:
# find crime locations within the search radius
arcpy.PointDistance_analysis(in_features, near_features, out_table, search_radius)
print arcpy.GetMessages(0)
except arcpy.ExecuteError:
print arcpy.GetMessages(2)
except Exception as ex:
print ex.args[0]