Соседние полигоны (Polygon Neighbors) (Анализ)
Краткая информация
Создает таблицу статистики на основании примыкания полигонов (перекрытия, совпадающие ребра или узлы).
Дополнительные сведения о работе инструмента Соседние полигоны (Learn more about how Polygon Neighbors works)
Рисунок
Использование
Инструмент анализирует примыкание полигона, суммируя
- Площадь перекрытий (перекрывающиеся соседи — дополнительно)
- Длину совпадающих ребер (соприкасающиеся соседи).
- Сколько раз границы пересекаются или касаются в точке (соседи по узлу)
Инструмент анализирует и записывает примыкание только первого порядка. Другие отношения не исследуются, т. е. соседи соседей (примыкание второго порядка) не проверяются.
Параметр Поля для отчета (Report By Field(s)) (in_fields в скрипте) используется для идентификации уникальных полигонов или групп полигонов и составлении отчета об их соседских отношениях по полигонам или группа полигонов. Чтобы найти соседей каждого отдельного полигона во входных данных, укажите одно или несколько входных полей, имеющих уникальное значение или набор значений (в случае использования нескольких полей) для каждого полигона.
Когда заданные поля идентифицируют уникальные группы полигонов, информация о соседских отношениях суммируется и представляется по группам.
Дополнительные сведения об использовании этого параметра см. в разделе Как работает инструмент Соседние полигоны (How Polygon Neighbors works)
Опцию Включить перекрытия областей (Include area overlap) можно использовать для анализа перекрывающихся областей. Когда выбрана опция Включить перекрытия областей (Include area overlap), в выходной таблице содержится поле AREA, в которое записывается площадь перекрытия для проанализированного перекрывающего соседа. Если наложение не обнаружено, значение AREA равно 0.
Подсказка:Расчет площади перекрытия требует большого объема системных ресурсов, и скорость работы инструмента может быть ниже, чем при определении отношений соприкасающихся соседей и соседей по узлу. Если данные не содержат перекрывающихся объектов, или наличие перекрывающихся соседей неважно, рекомендуется снять флажок с опции Включить перекрытия областей (Include area overlap) в диалоговом окне или задать параметру area_overlap скрипта значение NO_AREA_OVERLAP.
Внимание:Чтобы получить записи о соседях, полностью содержащихся в исходном полигоне, необходимо отметить флажком опцию Включить перекрытия областей (Include area overlap) в диалоговом окне или задать параметру area_overlap скрипта значение AREA_OVERLAP. Если не отметить флажком опцию Включить перекрытия областей (Include area overlap), выходная таблица не будет иметь записей о соседях, полностью содержащихся в исходном полигоне.
В выходной таблице нет записей об объектах, не являющихся соседними.
Опция Включить обе стороны соседских отношений (Include both sides of neighbor relationship) в диалоговом окне (параметр both_sides в скрипте) используется для контроля за отношениями, включаемыми в выходные данные. Чтобы получить данные обо всех отношениях примыкания, включая взаимно обратные отношения, нужно отметить флажком опцию Включить обе стороны соседских отношений (Include both sides of neighbor relationship) (значение "BOTH_SIDES" для параметра both_sides скрипта). Например, если OID1 — сосед OID2, в выходную таблицу добавляется запись о том, что у объекта OID1 есть сосед OID2, и запись о том, что у объекта OID2 есть сосед OID1. Если нужно указать связь только для первой стороны, снимите флажок с опции Включить обе стороны соседских отношений (Include both sides of neighbor relationship). Если снять флажок с опции Включить обе стороны соседских отношений (Include both sides of neighbor relationship), то в вышеприведенном примере в выходную таблицу добавляется только запись о том, что у объекта OID1 есть сосед OID2.
Параметр Выходные линейные единицы (Output Linear Units) определяет единицы измерения, в которых задается длина общей границы между соседями. По умолчанию используются единицы измерения, определенные в системе координат входного объекта.
Параметр Выходные единицы площади (Output Area Units) используется, только если активирован параметр Перекрытие областей (Area Overlap) (area_overlap = " = "AREA_OVERLAP"). Когда активирован параметр Перекрытие областей (Area Overlap), для вычисления площади перекрытия соседей используются единицы, указанные в параметре Выходные единицы площади (Output Area Units). По умолчанию используются единицы измерения, заданные в системе координат входного объекта.
Выходная таблица содержит следующие поля:
- src_field(s) — приставка src означает источник. Это одно из полей, используемых параметром Отчет по полям (Report By Field(s)), например src_MYID. Будет получено столько полей, сколько указано в параметре Поля для отчета (Report By Field(s)).
- nbr_field(s) — приставка nbr означает соседа. Это одно из полей, используемых параметром Отчет по полям (Report By Field(s)), например nbr_MYID. Как и в случае с полями src, будет получено столько полей, сколько указано в параметре Отчет по полям (Report By Field(s)).
- AREA — Это поле содержит общую площадь перекрытия между исходным и соседним полигонами (перекрывающиеся соседи). Это поле включается в выходную таблицу, только когда активирован параметр Включить перекрытия областей (Include area overlap) (area_overlap = "AREA_OVERLAP").
- LENGTH — Это поле содержит общую длину совпадающих ребер исходного и соседнего полигонов.
- NODE_COUNT — В это поле записывается, сколько раз исходный и соседний полигоны пересекаются или касаются друг друга в точке.
Если из входных объектов сделана выборка, будут анализироваться только выбранные объекты.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входные полигональные объекты. | Feature Layer |
out_table |
Выходная таблица. | Table |
in_fields [in_fields,...] (дополнительно) |
Входное поле или поля атрибутов, используемые для идентификации уникальных полигонов или групп полигонов и представления их в выходных данных. | 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 |
Пример кода
Ищет каждый соседний избирательный округ в провинции Новая Шотландия.
import arcpy, sys
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()