Сводка
Создает таблицу статистики на основании примыкания полигонов (перекрытия, совпадающие ребра или узлы).
Дополнительные сведения о работе инструмента Соседние полигоны
Иллюстрация
Использование
Инструмент анализирует примыкание полигона, суммируя
- Площадь перекрытий (перекрывающиеся соседи – дополнительно)
- Длину совпадающих ребер (соприкасающиеся соседи).
- Сколько раз границы пересекаются или касаются в точке (соседи по узлу)
Инструмент анализирует и записывает примыкание только первого порядка. Другие отношения не исследуются, т. е. соседи соседей (примыкание второго порядка) не проверяются.
Параметр Поля для отчета (in_fields в Python) используется для идентификации уникальных полигонов или групп полигонов и составлении отчета об их связях с соседними полигонами. Чтобы найти соседей каждого отдельного полигона во входных данных, укажите одно или несколько входных полей, имеющих уникальное значение или набор значений (в случае использования нескольких полей) для каждого полигона.
Когда заданные поля идентифицируют уникальные группы полигонов, информация о соседских отношениях суммируется и представляется по группам.
Дополнительные сведения об использовании этого параметра см. в разделе Как работает инструмент Соседние полигоны.
Опцию Включить перекрывающиеся области можно использовать для анализа перекрывающихся областей. Когда выбрана опция Включить перекрытия областей , в выходной таблице содержится поле AREA, в которое записывается площадь перекрытия для проанализированного перекрывающего соседа. Если наложение не обнаружено, значение AREA равно 0.
В выходной таблице нет записей об объектах, не являющихся соседними.
Опция Включить обе стороны отношения-соседства в диалоговом окне инструмента используется для управления отношениями, включенными в выходные данные. Чтобы получить данные обо всех отношениях примыкания, включая взаимно обратные отношения, нужно поставить отметку Включить обе стороны отношения-соседства (both_sides="BOTH_SIDES" в Python). Например, если OID1 – сосед OID2, в выходную таблицу добавляется запись о том, что у объекта OID1 есть сосед OID2, и запись о том, что у объекта OID2 есть сосед OID1. Если нужно указать связь только для первой стороны, снимите отметку с опции Включить обе стороны отношения-соседства. Если снять отметку с опции Включить обе стороны отношения-соседства, то в вышеприведенном примере в выходную таблицу добавляется только запись о том, что у объекта OID1 есть сосед OID2.
Параметр Выходные линейные единицы определяет единицы измерения, в которых задается длина общей границы между соседями. По умолчанию используются единицы измерения, определенные в системе координат входного объекта.
Опция Выходные единицы площади используется, только если включен параметр Наложение областей (area_overlap="AREA_OVERLAP" в Python). Когда активирован параметр Перекрытие областей, для вычисления площади перекрытия соседей используются единицы, указанные в параметре Выходные единицы площади. По умолчанию используются единицы измерения, заданные в системе координат входного объекта.
В качестве Выходной таблицы может быть таблица файловой базы геоданных, таблица персональной базы геоданных или таблица .dbf.
Выходная таблица содержит следующие поля:
- src_field – приставка src означает источник, а field – поле, используемое параметром Отчет по полям. Будет получено столько полей, сколько указано в параметре Отчет по полям.
- nbr_field – приставка nbr означает соседа, а field – поле, используемое параметром Отчет по полям. Как и в случае с полями src_field, будет получено столько полей, сколько указано вами в параметре Отчет по полям.
- AREA – это поле содержит общую площадь перекрытия между исходным и соседним полигонами (перекрывающиеся соседи). Это поле включается в выходную таблицу, только когда активирован параметр Включить перекрывающиеся области (area_overlap="AREA_OVERLAP" в Python ).
- LENGTH – это поле содержит общую длину совпадающих ребер исходного и соседнего полигонов.
- NODE_COUNT – это поле записывается, сколько раз исходный и соседний полигоны пересекаются или касаются друг друга в точке.
Если из входных объектов сделана выборка, будут анализироваться только выбранные объекты.
Синтаксис
arcpy.analysis.PolygonNeighbors(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 входных объектов. | Linear Unit |
out_linear_units (Дополнительный) | Единицы измерения, использующиеся для указания общей длины совпадающего ребра соседних полигонов. По умолчанию используются единицы входного объекта.
| String |
out_area_units (Дополнительный) | Единицы измерения, используемые для указания площади перекрытия соседних полигонов. По умолчанию используются единицы входного объекта. Параметр доступен только при соблюдении условия area_overlap="AREA_OVERLAP".
| String |
Пример кода
PolygonNeighbors, пример (окно Python)
Ищет каждый соседний избирательный округ в провинции Новая Шотландия.
import arcpy
arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp",
"Canada_ElectoralDist")
arcpy.SelectLayerByAttribute_management("Canada_ElectoralDist", "NEW_SELECTION",
"\"PROVCODE\" = 'NS'")
count = arcpy.GetCount_management("Canada_ElectoralDist")[0]
print("Selected feature count: {}".format(count))
arcpy.PolygonNeighbors_analysis("Canada_ElectoralDist",
r"C:\Data\Output\NS_elec_neigh.dbf", "ENNAME")
print(arcpy.GetMessages())
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да