Точка в узел (Point Node) (Покрытие)
Резюме
Выполняет пространственное соединение JOINITEM точечного и узлового покрытия. Он переносит атрибуты из класса точечных объектов в класс объектов узлов. Каждый точечный объект покрытия сопоставляется с соответствующим узлом в узловом покрытии. Если в пределах радиуса поиска от узла находится какая-либо точка, атрибуты копируются.
Рисунок
Использование
-
Если в пределах радиуса поиска от узла находится какая-либо точка, атрибуты этой точки копируются. Если узлу соответствуют несколько точек, берется ближайшая из них. Если несколько точек находятся на одинаковом от узла расстоянии, одна из них выбирается случайным образом. Если несколько узлов находятся в пределах радиуса поиска узла, берется ближайший к точке узел.
-
Идентификатор coverage-ID для каждой совпадающей точки сохраняется как номер node-ID в таблице NAT. Если нет совпадений для узла, присваивается node-ID, равный внутреннему номеру узла.
-
Если узловое покрытие не имеет таблицы NAT, она строится с помощью команды Build с указанием типа объектов NODE.
-
Дополнительные поля файла PAT добавляются в файл NAT. Если существующий файл NAT имеет дополнительные атрибуты, поля PAT будут присоединены после них. Значения в полях элементов, не имеющих совпадающих точек, будут пустыми текстовыми строками либо нулевыми – в случае числовых полей. Существующие поля и значения в полях файла NAT будут сохранены.
-
Для работы с данной командой точечное покрытие должно иметь точечную таблицу атрибутов.
-
Узловое покрытие должно быть таким же, как точечное, чтобы атрибуты таблицы PAT были перенесены в таблицу NAT точечного покрытия.
-
Если поле таблицы PAT существует и в NAT, значения в поле NAT замещаются значениями, взятыми из PAT.
Синтаксис
Параметр | Объяснение | Тип данных |
point_cover |
Покрытие, содержащее точечные объекты для переноса атрибутов. | Coverage |
node_cover |
Существующее покрытие, значения атрибутов узлов которого будут замещены либо созданы заново, если таблица NAT отсутствует. | Coverage |
search_radius (дополнительно) |
Максимальное расстояние между точками, атрибуты которых переносятся, и узлами, в которые они переносятся. Радиус указывается в единицах измерения покрытия. По умолчанию радиус поиска равен значению ширины или высоты BND узлового покрытия, деленному на 100, в зависимости от того, какое значение окажется большим. | Double |
Пример кода
Этот автономный скрипт демонстрирует пример использования инструмента Point Node.
# Name: PointNode_Example.py
# Description: Performs PointNode on two coverages.
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
pointCover = "wells142"
nodeCover = "county"
searchRadius = 3600
# Execute PointNode
arcpy.PointNode_arc(pointCover, nodeCover, searchRadius)