Краткая информация
Создает таблицу статистики на основании примыкания полигонов (перекрытия, совпадающие ребра или узлы).
Дополнительные сведения о работе инструмента Соседние полигоны (Learn more about how Polygon Neighbors works)
Рисунок
Использование
Инструмент анализирует примыкание полигона, суммируя
- Площадь перекрытий (перекрывающиеся соседи – дополнительно)
- Длину совпадающих ребер (соприкасающиеся соседи).
- Сколько раз границы пересекаются или касаются в точке (соседи по узлу)
Инструмент анализирует и записывает примыкание только первого порядка. Другие отношения не исследуются, т. е. соседи соседей (примыкание второго порядка) не проверяются.
Параметр Поля для отчета (Report By Field(s)) (in_fields в Python) используется для идентификации уникальных полигонов или групп полигонов и составлении отчета об их связях с соседними полигонами. Чтобы найти соседей каждого отдельного полигона во входных данных, укажите одно или несколько входных полей, имеющих уникальное значение или набор значений (в случае использования нескольких полей) для каждого полигона.
Когда заданные поля идентифицируют уникальные группы полигонов, информация о соседских отношениях суммируется и представляется по группам.
Дополнительные сведения об использовании этого параметра см. в разделе Как работает инструмент Соседние полигоны (How Polygon Neighbors works)
Опцию Включить перекрытия областей (Include area overlap) можно использовать для анализа перекрывающихся областей. Когда выбрана опция Включить перекрытия областей (Include area overlap), в выходной таблице содержится поле AREA, в которое записывается площадь перекрытия для проанализированного перекрывающего соседа. Если наложение не обнаружено, значение AREA равно 0.
В выходной таблице нет записей об объектах, не являющихся соседними.
Опция Включить обе стороны отношения-соседства (Include both sides of neighbor relationship) в диалоговом окне инструмента используется для управления отношениями, включенными в выходные данные. Чтобы получить данные обо всех отношениях примыкания, включая взаимно обратные отношения, нужно поставить отметку Включить обе стороны отношения-соседства (both_sides = "BOTH_SIDES" в Python). Например, если OID1 – сосед OID2, в выходную таблицу добавляется запись о том, что у объекта OID1 есть сосед OID2, и запись о том, что у объекта OID2 есть сосед OID1. Если нужно указать связь только для первой стороны, снимите отметку с опции Включить обе стороны отношения-соседства. Если снять отметку с опции Включить обе стороны соседских отношений, то в вышеприведенном примере в выходную таблицу добавляется только запись о том, что у объекта OID1 есть сосед OID2.
Параметр Выходные линейные единицы (Output Linear Units) определяет единицы измерения, в которых задается длина общей границы между соседями. По умолчанию используются единицы измерения, определенные в системе координат входного объекта.
Опция Выходные единицы площади (Output Area Units) используется, только если включен параметр Наложение областей (Area Overlap) (area_overlap = "AREA_OVERLAP" в Python). Когда активирован параметр Перекрытие областей (Area Overlap), для вычисления площади перекрытия соседей используются единицы, указанные в параметре Выходные единицы площади (Output Area Units). По умолчанию используются единицы измерения, заданные в системе координат входного объекта.
В качестве Выходной таблицы (Output Table) может быть таблица файловой базы геоданных, таблица персональной базы геоданных или таблица .dbf.
Выходная таблица содержит следующие поля:
- src_field(s) – приставка src означает источник. field – поле, используемое параметром Отчет по полям (Report By Field(s)). Будет получено столько полей, сколько указано в параметре Поля для отчета (Report By Field(s)).
- nbr_field(s) – приставка nbr означает соседа. field – поле, используемое параметром Отчет по полям (Report By Field(s)). Как и в случае с полями src_field(s), будет получено столько полей, сколько указано вами в параметре Отчет по полям (Report By Field(s)).
- AREA – Это поле содержит общую площадь перекрытия между исходным и соседним полигонами (перекрывающиеся соседи). Это поле включается в выходную таблицу, только когда активирован параметр Включить перекрытия областей (Include area overlap) (area_overlap = "AREA_OVERLAP" в Python ).
- LENGTH – Это поле содержит общую длину совпадающих ребер исходного и соседнего полигонов.
- NODE_COUNT – В это поле записывается, сколько раз исходный и соседний полигоны пересекаются или касаются друг друга в точке.
Если из входных объектов сделана выборка, будут анализироваться только выбранные объекты.
Синтаксис
PolygonNeighbors_analysis (in_features, out_table, {in_fields}, {area_overlap}, {both_sides}, {cluster_tolerance}, {out_linear_units}, {out_area_units})
Параметр | Объяснение | Тип данных |
in_features | Входные полигональные объекты. | Feature Layer |
out_table | Выходная таблица. | Table |
in_fields [field,...] (дополнительно) | Входное поле или поля атрибутов, используемые для идентификации уникальных полигонов или групп полигонов и представления их в выходных данных. | Field |
area_overlap (дополнительно) | Определяет, должны ли перекрывающиеся полигоны анализироваться и включаться в выходные данные.
| Boolean |
both_sides (дополнительно) | Определяет, должны ли включаться в выходные данные обе стороны соседских отношений.
| Boolean |
cluster_tolerance (дополнительно) | Минимальное расстояние между координатами, прежде чем они будут считаться равными. По умолчанию это расстояние равно значению Допуск XY (XY Tolerance) входных объектов. | Linear unit |
out_linear_units (дополнительно) | Единицы измерения, использующиеся для указания общей длины совпадающего ребра соседних полигонов. По умолчанию используются единицы входного объекта.
| String |
out_area_units (дополнительно) | Единицы измерения, используемые для указания площади перекрытия соседних полигонов. По умолчанию используются единицы входного объекта. Параметр доступен только при соблюдении условия area_overlap = "AREA_OVERLAP".
| String |
Пример кода
PolygonNeighbors, пример (Окно Python)
Ищет каждый соседний избирательный округ в провинции Новая Шотландия.
import arcpy
arcpy.env.overwriteOutput = True
arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp",r"Canada_ElectoralDist")
arcpy.SelectLayerByAttribute_management(r"Canada_ElectoralDist", "NEW_SELECTION", "\"PROVCODE\" = 'NS'")
print("Selected feature count: " + str(arcpy.GetCount_management(r"Canada_ElectoralDist")))
arcpy.PolygonNeighbors_analysis(r"Canada_ElectoralDist", "ENNAME", r"C:\Data\Output\NS_elec_neigh.dbf")
print(arcpy.GetMessages())
Параметры среды
Информация о лицензировании
- ArcGIS for Desktop Basic: Да
- ArcGIS for Desktop Standard: Да
- ArcGIS for Desktop Advanced: Да