Сводка
Упрощает границы полигонов зданий, сохраняя при этом их форму и размеры.
Иллюстрация
Использование
Параметр Минимальная площадь относится исключительно к упрощаемым зданиям. Все здания, которые меньше заданной минимальной площади, после завершения процесса генерализации будут удалены из выходного класса объектов.
Используйте параметр Входные барьерные слои для указания пространственных объектов, которые не должны пересекаться упрощаемыми зданиями. Объектами-барьерами могут быть полигоны, линии или точки.
Используйте параметр Сохранить линии нулевой длины (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, либо путем интерполяции.
Некорректная (самопересекающаяся) геометрия, получившаяся в результате процесса упрощения зданий, будет лишь исправлена, но не улучшена. Например, полигон, имеющий самопересечения, будет превращен в полигон, состоящий из нескольких частей, но будет выглядеть по-прежнему самопересекающимся.
Домены и подтипы копируются в выходные данные, даже если параметр среды Перенос свойств полей базы геоданных не отмечен.
Обработка больших наборов входных данных может вызвать превышение ограничений использования оперативной памяти. В таком случае попытайтесь разделить входные данные на части, определив соответствующий полигональный класс пространственных объектов с помощью параметра среды Картографические части. Части данных, разделенные между собой границами разделов, будут последовательно обрабатываться отдельно друг от друга. Полученный класс объектов будет бесшовным и совпадать с границами разделов. Более подробно см. Генерализация больших наборов данных путем разделения на части.
Синтаксис
arcpy.cartography.SimplifyBuilding(in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option}, {in_barriers}, {collapsed_point_option})
Parameter | Объяснение | Тип данных |
in_features | Полигоны зданий, которые будут упрощаться. | Feature Layer |
out_feature_class | Создаваемый выходной класс пространственных объектов. | Feature Class |
simplification_tolerance | Допуск упрощения зданий. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. | Linear Unit |
minimum_area (Дополнительный) | Минимальная площадь упрощаемых зданий, которые остаются в выходном слое. Значение по умолчанию – 0; при этом значении остаются все здания из исходного набора. Вы можете выбрать единицы измерения; по умолчанию используются единицы измерения объекта. | Areal Unit |
conflict_option (Дополнительный) | Определяет, будет ли осуществляться проверка потенциальных конфликтов, таких как перекрывания или соприкосновение соседних зданий. К выходному классу объектов добавляется поле SimBldFlag для хранения пометок конфликтов. Значение, равное 0, означает отсутствие конфликтов; значение, равное 1, означает, что имеется конфликт.
| Boolean |
in_barriers [in_barriers,...] (Дополнительный) | Входные слои, содержащие пространственные объекты, которые должны работать как барьеры для упрощения. Выходные упрощенные здания, которые не касаются и не пересекают объекты-барьеры. Например, при упрощении зданий результирующие упрощенные полигоны зданий не будут пересекать объекты-дороги, которые были заданы как барьеры. | Feature Layer |
collapsed_point_option (Дополнительный) | Отметьте, чтобы создать выходной точечный класс пространственных объектов, в котором будут храниться центроиды зданий, удалённых по причине того, что они были меньше значения параметра minimum_area. Получаются выходные точки с тем же именем, как у выходного класса объектов, который вы указали в параметре out_feature_class, но с суффиксом _Pnt, расположенные в той же папке.
| Boolean |
Производные выходные данные
Name | Объяснение | Тип данных |
out_point_feature_class | Выходной класс точечных объектов, хранящий точки, соответствующие зданиям, удаленным из-за того, что они оказались меньше значения параметра Минимальная площадь (minimum_area в Python). Этот параметр используется, только если параметр Сохранить линии нулевой длины отмечен (collapsed_point_option = "KEEP_COLLAPSED_POINTS"ы в 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.
# 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")
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да