Сводка
Упрощает границы полигонов зданий, сохраняя при этом их форму и размеры.
Более подробно о том, как работает инструмент Упростить здание (набор инструментов Покрытие)
Иллюстрация
Использование
Входное покрытие должно иметь полигональную топологию.
Ввиду возможности создания перекрывающихся границ предварительные регионы используются как итоговые пространственные объекты. Чтобы создать окончательные регионы из предварительных, обработайте выходное покрытие out_cover инструментом Очистить (Clean) с опцией POLY.
Выполнение этого инструмента может занять продолжительное время, если входное покрытие in_cover большое. Чтобы ускорить работу, примените к входному покрытию команду Arc INDEX (сведения о команде см. в Справке ArcInfo Workstation), создающую пространственный индекс.
Будут созданы следующие таблицы info: output_coverage.bnd, output_coverage.tic, output_coverage.aat и output_coverage.patbldgsim.
Таблица out_cover.aat предназначена для хранения новых дуг; информация из таблицы input_coverage.aat в нее не переносится.
Все атрибуты и топология маршрутов и регионов из входного покрытия in_cover будут потеряны.
Все атрибуты из таблицы input_coverage.pat, за исключением ПЛОЩАДЬ (AREA) и ПЕРИМЕТР (PERIMETER), будут скопированы в таблицу output_coverage.patbldgsim. Инструмент не вычисляет значения площади (AREA) предварительных регионов, а принимает их равными нулю в output_coverage.PATBLDGSIM и вычисляет периметр (PERIMETER). Инструмент Очистить (Clean) с опцией POLY вычисляет значения площади (AREA).
Таблица output_coverage.patbldgsim будет содержать также два новых поля: BDS-STATUS и BDS-GROUP. В поле BDS-STATUS записываются следующие состояния упрощения:
- Упрощенное отдельное здание
- Отдельное здание, упрощенное частично из-за пространственного конфликта
- В итоговом здании обнаружена короткая сторона
- Упрощенные или частично упрощенные здания, соединенные прямыми линиями
- Не упрощенное
В поле BDS-GROUP хранится уникальное положительное значение для каждой группы соединенных зданий. Для одиночного здания значение BDS-GROUP будет равно 0. Внешним и внутренним границам одиночного колодцеобразного здания будет присвоено уникальное отрицательное значение.
Если файл выборки не указан, или в нем нет полигонов, то для упрощения будут выбраны все полигоны входного покрытия. Если файл выборки не содержит класс полигональных объектов или не соответствует входному покрытию (то есть получен не из входного покрытия), выполнение программы прекращается.
Если в группе обнаружено более 500 смежных полигонов, инструмент прекращает работу и выдает сообщение: "Обнаружено более 500 смежных полигонов. Процесс остановлен."
Синтаксис
arcpy.arc.SimplifyBuilding(in_cover, out_cover, simplification_tolerance, {minimum_area}, {selection_file}, {CheckConflict})
Параметр | Объяснение | Тип данных |
in_cover | Входное покрытие, содержащее полигоны зданий. | Coverage |
out_cover | Выходное покрытие, содержащее упрощенные здания в виде предварительных регионов с подклассом BLDGSIM. Имя выходного покрытия должно отличаться от имени входного покрытия. | Coverage |
simplification_tolerance | Задает допуск упрощения в единицах покрытия. Допуск должен быть указан, и его значение должно быть больше нуля. | Double |
minimum_area (Дополнительный) | Задает минимальную сохраняемую площадь в единицах покрытия. По умолчанию она равна квадрату допуска упрощения. Чтобы включить все здания, введите 0. | Double |
selection_file (Дополнительный) | Специальный файл, создаваемый с помощью команды ArcPlot WRITESELECT (сведения о команде см. в Справке ArcInfo Workstation). Он идентифицирует объекты покрытия, выбранные в ArcPlot. Эта опция позволяет упростить выбранные здания во входном покрытии. | File |
CheckConflict (Дополнительный) | Определяет, будет ли осуществляться проверка потенциальных конфликтов, таких как перекрывания или соприкосновение соседних зданий.
| Boolean |
Пример кода
Буфер. Пример (автономный скрипт)
В следующем автономном скрипте показано, как упрощается покрытие зданий.
# Name: SimplifyBuilding_Example.py
# Description: Simplifies a building coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "campus"
outCover = "C:/output/cartocampus"
simplificationTolerance = 6
minimumArea = 55
checkConflict = "CHECK_CONFLICT"
# Execute SimplifyBuilding
arcpy.SimplifyBuilding_arc(inCover, outCover, simplificationTolerance,
minimumArea, "", checkConflict)
arcpy.Clean_arc(outCover)
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Требуется установленная ArcInfo Workstation