Найти конфликты (Покрытие)
Резюме
Находит, где упрощенные здания перекрываются или находятся слишком близко друг к другу, основываясь на заданном расстоянии.
Рисунок
Использование
-
Поиск конфликтов по всему набору зданий представляет собой часть завершающей стадии работы инструмента Упростить здание (Simplify Building). Поэтому входное покрытие зданий должны представлять собой регионы, созданные инструментом Упростить здание (Simplify Building) и затем обработанные инструментом Очистить (Clean) с опцией POLY (Полигоны).
-
Этот инструмент поможет вам установить, где здания находятся в пределах заданного расстояния. Вокруг каждого здания или группы смежных зданий будет создан буфер. Наложение одного буфера на другой будет указывать на наличие конфликта. Элемент под названием частота (FREQUENCY) будет добавлен в out_cover.PAT и будет содержать количество общих буферов для каждого полигона. Значение частоты, равное 1, означает отсутствие конфликта; значения, большие или равные 2, в зависимости от количества перекрывающихся буферов, указывают на наличиеобласти конфликтов. Объединённые в одну группу здания не будут считаться взаимно конфликтующими. В таких группах на предмет конфликтов будут проверяться только соседние здания или группы зданий по внешней границе этих групп.
-
Выходное покрытие создается только в случае, если обнаруживаются конфликты. Поскольку входные здания являются регионами, буферы выходного покрытия также являются регионами с подклассом BUF. Вы можете выбрать и просмотреть области конфликтов (полигоны со значением частоты (FREQUENCY), большим или равным 2) и внести необходимые изменения.
Синтаксис
Параметр | Объяснение | Тип данных |
in_cover |
Входное покрытие, содержащее здания как регионы, с подклассом BLDGSIM и элементом BDS-GROUP, полученные с помощью инструмента Упростить здание (Simplify Building), и затем обработанные инструментом Очистить (Clean) с опцией POLY (Полигоны). | Coverage |
out_cover |
Выходное покрытие, содержащее перекрывающиеся буферы с подклассом BUF, которые указывают на наличие конфликтов между зданиями. Это покрытие создается только если обнаруживаются конфликты. Имя <out_cover> должно отличаться от имени <in_cover>. | Coverage |
conflict_distance |
Устанавливает допуск конфликта в единицах покрытия. Здания, расположенные в пределах этого расстояния, считаются пространственно конфликтующими. Это расстояние должно быть положительным. | Double |
Пример кода
Следующий автономный скрипт демонстрирует пример использования инструмента FindConflicts.
# Name: SimplifyBuilding_Example.py
# Description: Simplifies a building coverage and finds conflicts in the output
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables for SimplifyBuilding
inSimplifyCover = "campus"
outSimplifyCover = "C:/output/tempcampus"
simplificationTolerance = 6
minimumArea = 55
# Set local variables for FindConflicts
inCover = outSimplifyCover
outCover = "C:/output/cartocampus"
conflictDistance = 5.5
# Execute SimplifyBuilding and Clean
arcpy.SimplifyBuilding_arc(inSimplifyCover, outSimplifyCover,
simplificationTolerance, minimumArea, "", "")
arcpy.Clean_arc(outSimplifyCover)
# Execute FindConflicts
arcpy.FindConflicts_arc(inCover, outCover, conflictDistance)