Упростить здание (Картография)

Краткая информация

Упрощает границы полигонов зданий, сохраняя при этом их форму и размеры.

Иллюстрация

Иллюстрация опций инструмента Упростить здание
Используя допуск упрощения, вы можете упростить геометрию зданий и удалить мелкие детали, узкие коридоры и объекты, которые меньше заданной площади.

Использование

  • Параметр Минимальная площадь относится исключительно к упрощаемым зданиям. Все здания, которые меньше заданной минимальной площади, после завершения процесса генерализации будут удалены из выходного класса объектов.

  • Используйте параметр Входные барьерные слои для указания пространственных объектов, которые не должны пересекаться упрощаемыми зданиями. Объектами-барьерами могут быть полигоны, линии или точки.

  • Используйте параметр Сохранить линии нулевой длины (collapsed_point_option в Python), чтобы создать выходной класс точечных объектов, который будет представлять точки зданий, удалённых из-за того, что их размеры меньше минимальной площади. Получаются выходные точки, у которых будут такие же же имя и местоположение, как в параметре Выходной класс пространственных объектов (out_feature_class в Python), но с суффиксом _Pnt. В выходном полигональном классе пространственных объектов имеются все поля, представленные во входном классе. Выходной класс точечных объектов не содержит ни одного из этих полей.

  • Выходной класс объектов будет содержать поле BLD_STATUS в целях отображения следующих статусов упрощения:

    • 1 - одно здание упрощено
    • 2 - одно здание упрощено и имеет форму и размер минимального ограничивающего прямоугольника
    • 3 - здание, имеющее размер, меньший значения допуска, возведенного в квадрат, упрощено и имеет форму и размер минимального ограничивающего прямоугольника.
    • 5 - здание не было упрощено
    Прежние версии:

    Для версий ArcGIS ранее 10 BLD_STATUS = 4, соответствует упрощенным или частично упрощенным зданиям, соединенным прямыми линиями. BLD_STATUS = 4 более не используется.

    Внимание:

    Если во входном классе объектов уже существует поле BLD_STATUS, то оно будет присутствовать и в выходном классе объектов, но иметь новые значения. Существующие значения будут перезаписаны. Если вы желаете сохранить существующие значения, создайте новое поле во входном классе и скопируйте в него значения из поля BLD_STATUS.

  • Если используется параметр Проверить на пространственные конфликты, инструмент найдет пространственные конфликты и добавит к атрибутам выходного слоя новое поле с именем SimBldFlag, используемое для хранения пометок конфликтов. Значение, равное 0, означает отсутствие конфликтов; значение, равное 1, - что имеется конфликт.

    Внимание:

    Если во входном классе объектов уже существует поле SimBldFlag, то оно будет присутствовать и в выходном классе объектов, но иметь новые значения. Существующие значения будут переписаны даже, если параметр не отмечен (conflict_option = "NO_CHECK" в Python). При отсутствии отметки у пространственных конфликтов, это существующее поле будет перезаписано со значениями NULL. Если вы желаете сохранить существующие значения, создайте новое поле во входном классе и скопируйте в него значения из поля SimBldFlag.

  • Инструмент не может быть запущен во время сеанса редактирования.

  • Входящие значения z могут быть сохранены, если это указано в Параметрах среды. Если выходные вершины совпадают с исходными, значения z будут перенесены и присвоены вершинам выходных объектов. В остальных случаях значения z будут вычислены либо из существующих значений z, либо путем интерполяции.

  • Некорректная (самопересекающаяся) геометрия, получившаяся в результате процесса упрощения зданий, будет лишь исправлена, но не улучшена. Например, полигон, имеющий самопересечения, будет превращен в полигон, состоящий из нескольких частей, но jy будет выглядеть по-прежнему самопересекающимся.

  • Домены и подтипы копируются в выходные данные, даже если параметр среды Перенесение свойств полей базы геоданных не отмечен.

  • Обработка больших наборов входных данных может вызвать превышение ограничений использования оперативной памяти. В таком случае попытайтесь разделить входные данные на части, определив соответствующий полигональный класс пространственных объектов с помощью параметра среды Картографические разделы. Части данных, разделенные между собой границами разделов, будут последовательно обрабатываться отдельно друг от друга. Полученный класс объектов будет бесшовным и совпадать с границами разделов. Более подробно см. Генерализация больших наборов данных с использованием разделов.

Параметры

ПодписьОписаниеТип данных
Входные объекты

Полигоны зданий, которые будут упрощаться.

Feature Layer
Выходной класс пространственных объектов

Создаваемый выходной класс пространственных объектов.

Feature Class
Допуск упрощения

Допуск упрощения зданий. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта.

Linear Unit
Минимальная площадь
(Дополнительный)

Минимальная площадь упрощаемых зданий, которые остаются в выходном слое. Значение по умолчанию – 0; при этом значении остаются все здания из исходного набора. Вы можете выбрать единицы измерения; по умолчанию используются единицы измерения объекта.

Areal Unit
Проверить на пространственные конфликты
(Дополнительный)

Определяет, будет ли осуществляться проверка пространственных конфликтов, таких как перекрывания или соприкосновение соседних зданий. К выходному классу объектов добавляется поле SimBldFlag для хранения пометок конфликтов. Значение, равное 0, означает отсутствие конфликтов; значение, равное 1, - что имеется конфликт.

  • Не отмечено — Пространственные конфликты не будут идентифицированы; в результате здания могут перекрываться. Это значение по умолчанию
  • Отмечено — пространственные конфликты будут идентифицированы, и конфликтующие здания будут помечены.

Boolean
Входные барьерные слои
(Дополнительный)

Входные слои, содержащие пространственные объекты, которые должны работать как барьеры для упрощения. Выходные упрощенные здания, которые не касаются и не пересекают объекты-барьеры. Например, при упрощении зданий результирующие упрощенные полигоны зданий не будут пересекать объекты-дороги, которые были заданы как барьеры.

Feature Layer
Сохранить линии нулевой длины
(Дополнительный)

Отметьте, чтобы создать выходной точечный класс пространственных объектов, в котором будут храниться центроиды зданий, удалённых по причине того, что они были меньше значения параметра Минимальной площади. Получаются выходные точки с тем же именем, как у выходного полигонального класса объектов, который вы указали в параметре Выходной класс пространственных объектов, но с суффиксом _Pnt, расположенные в той же папке.

  • Отмечено - будет создан выходной точечный класс объектов, хранящий центры удаляемых зданий.
  • Не отмечено – выходной точечный класс создан не будет. Это значение по умолчанию
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Полигоны, сжатые в точки

Выходной класс точечных объектов, хранящий точки, соответствующие зданиям, удаленным из-за того, что они оказались меньше значения параметра Минимальная площадь (minimum_area в Python). Этот параметр используется, только если параметр Сохранить линии нулевой длины отмечен (collapsed_point_option = "KEEP_COLLAPSED_POINTS" в Python).

Feature Class

arcpy.cartography.SimplifyBuilding(in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option}, {in_barriers}, {collapsed_point_option})
ИмяОписаниеТип данных
in_features

Полигоны зданий, которые будут упрощаться.

Feature Layer
out_feature_class

Создаваемый выходной класс пространственных объектов.

Feature Class
simplification_tolerance

Допуск упрощения зданий. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта.

Linear Unit
minimum_area
(Дополнительный)

Минимальная площадь упрощаемых зданий, которые остаются в выходном слое. Значение по умолчанию – 0; при этом значении остаются все здания из исходного набора. Вы можете выбрать единицы измерения; по умолчанию используются единицы измерения объекта.

Areal Unit
conflict_option
(Дополнительный)

Определяет, будет ли осуществляться проверка пространственных конфликтов, таких как перекрывания или соприкосновение соседних зданий. К выходному классу объектов добавляется поле SimBldFlag для хранения пометок конфликтов. Значение, равное 0, означает отсутствие конфликтов; значение, равное 1, - что имеется конфликт.

  • NO_CHECKПространственные конфликты не будут идентифицированы; в результате здания могут перекрываться. Это значение по умолчанию
  • CHECK_CONFLICTSПространственные конфликты будут идентифицированы, и конфликтующие здания будут помечены.
Boolean
in_barriers
[in_barriers,...]
(Дополнительный)

Входные слои, содержащие пространственные объекты, которые должны работать как барьеры для упрощения. Выходные упрощенные здания, которые не касаются и не пересекают объекты-барьеры. Например, при упрощении зданий результирующие упрощенные полигоны зданий не будут пересекать объекты-дороги, которые были заданы как барьеры.

Feature Layer
collapsed_point_option
(Дополнительный)

Отметьте, чтобы создать выходной точечный класс пространственных объектов, в котором будут храниться центроиды зданий, удалённых по причине того, что они были меньше значения параметра minimum_area. Получаются выходные точки с тем же именем, как у выходного класса объектов, который вы указали в параметре out_feature_class, но с суффиксом _Pnt, расположенные в той же папке.

  • KEEP_COLLAPSED_POINTSБудет создан выходной точечный класс объектов, хранящий центры удаляемых зданий
  • NO_KEEPВыходной класс точечных объектов создан не будет. Это значение по умолчанию
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_point_feature_class

Выходной класс точечных объектов, хранящий точки, соответствующие зданиям, удаленным из-за того, что они оказались меньше значения параметра Минимальная площадь (minimum_area в Python). Этот параметр используется, только если параметр Сохранить линии нулевой длины отмечен (collapsed_point_option = "KEEP_COLLAPSED_POINTS" в Python).

Feature Class

Пример кода

SimplifyBuilding, пример 1 (окно Python)

В следующем скрипте окна Python показано, как используется функция SimplifyBuilding в режиме прямого запуска.

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)
SimplifyBuilding, пример 2 (автономный скрипт)

В следующем автономном скрипте показано использование функции SimplifyBuilding.

# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them.

# Import system modules
import arcpy
import arcpy.cartography as CA

# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Buildings"

# Set local variables
inBuildingFeatures = "houses"
inBarrierFeatures = "roads"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/residential_areas"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/residential_simplified"

# Aggregate house polygons
CA.AggregatePolygons(inBuildingFeatures, aggregatedFeatures, 10, 100, 100, 
                     "ORTHOGONAL")

# Simplify residential building polygons
CA.SimplifyBuilding(aggregatedFeatures, simplifiedFeatures, 10, 100, 
                    "CHECK_CONFLICTS", inBarrierFeatures, 
                    "KEEP_COLLAPSED_POINTS")

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

Связанные разделы