Краткая информация
Упрощает линию посредством удаления ее лишних изгибов с сохранением основной формы.
Более подробно о том, как работает инструмент Упростить линию
Иллюстрация
Использование
Используется два метода упрощения:
- Метод POINT_REMOVE – более быстрый из двух алгоритмов. Он заключается в удалении избыточных вершин. Используйте этот метод для сжатия данных или более грубое упрощение. Угловатость (зубчатость) получившейся линии при увеличении допуска значительно возрастет, в связи с чем результат может выглядеть хуже оригинала.
- Алгоритм BEND_SIMPLIFY является более медленным, зато обычно позволяет получить более точный результат. Метод заключается в удалении незначительных изгибов линий. Используйте этот метод для точного упрощения.
Значение Допуск упрощения определяет степень упрощения. Это значение рекомендуется установить равным или более минимально допустимого расстояния между графическими элементами. При одинаковом допуске упрощения алгоритм POINT_REMOVE дает менее точные, более упрощенные результаты, чем алгоритм BEND_SIMPLIFY.
Инструмент создает два выходных класса объектов: класс линейных пространственных объектов, в котором сохраняются упрощенные линии, и класс точечных пространственных объектов для сохранения в нем точек, соответствующих линиям, которые в результате обработки стали "нулевыми". Имя и местоположение выходного класса точечных объектов вычисляются автоматически при добавлении суффикса _Pnt. В выходном классе линейных объектов имеются все поля, представленные во входном классе. Выходной класс точечных объектов не содержит ни одного из этих полей.
Предусмотрены разные варианты обработки топологических ошибок выходных данных:
- Параметр Проверка на топологические ошибки выявляет ошибки топологии, получившиеся в результате процесса упрощения линий. Когда эта опция включена, будет активирован параметр Исправлять ошибки топологии. Проверка на топологические ошибки уменьшает скорость обработки.
- Выходной класс линейных пространственных объектов содержат два поля для отображения топологических ошибок. Поля InLine_FID и SimLnFlag содержат, соответственно, идентификаторы объектов и топологические ошибки. Значение 1 означает наличие ошибки; значение 0 означает, что ошибки не обнаружены.
- Метки останутся после исправления топологических ошибок. Для изучения объектов, имеющих топологические ошибки, используйте поле SimLnFlag.
Параметры Проверка на топологические ошибки и Исправлять ошибки топологии не могут использоваться во время сессии редактирования. Выключите параметр Проверка на топологические ошибки, для того чтобы запустить инструмент во время сессии редактирования.
Синтаксис
SimplifyLine_cartography (in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option})
Параметр | Объяснение | Тип данных |
in_features | Линейные объекты, которые необходимо упростить. | Feature Layer |
out_feature_class | Создаваемый выходной класс линейных пространственных объектов. | Feature Class |
algorithm | Определяет используемый алгоритм упрощения линий.
| String |
tolerance | Допуск, определяющий степень упрощения. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта.
| Linear unit |
error_resolving_option (Дополнительный) | Определяет способ обработки топологических ошибок, которые могут появиться в процессе обработки (в том числе пересечения и перекрытия линий, а также образовавшиеся линии нулевой длины). Этот параметр применяется, когда error_checking_option = "CHECK" (значение по умолчанию).
| Boolean |
collapsed_point_option (Дополнительный) | Определяет, необходимо ли сохранять найденные в процессе обработки линии нулевой длины в качестве точечных объектов. Эта опция применяется только в случае, когда выбран параметр NO_CHECK или заданы одновременно обе опции: FLAG_ERRORS и CHECK.
| Boolean |
error_checking_option (Дополнительный) | Определяет способ обработки топологических ошибок, которые могут появиться в процессе обработки (в том числе пересечения и перекрытия линий, а также образовавшиеся линии нулевой длины).
| Boolean |
Пример кода
SimplifyLine, пример 1 (окно Python)
Представленный скрипт Окна Python демонстрирует порядок непосредственного использования инструмента.
import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyLine("roads.shp",
"C:/output/output.gdb/simplified_roads",
"POINT_REMOVE",
20)
SimplifyLine, пример 2 (автономный скрипт)
Этот автономный скрипт демонстрирует пример использования инструмента SimplifyLine.
# Name: SimplifyLine_Example2.py
# Description: Simplify line features from two feature classes, rivers and coastlines,
# while maintaining their connections
# Import system modules
import arcpy
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables
inRiverFeatures = "rivers"
inCoastlineFeatures = "coastlines"
mergedFeatures = "C:/data/PortlandOutput.gdb/merged_lines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/merged_lines_simplified"
tempLayer = "tempLyr"
outRiverFeatureClass = "C:/data/PortlandOutput.gdb/rivers_final"
outCoastlineFeatureClass = "C:/data/PortlandOutput.gdb/coastlines_final"
# Merge rivers and coastlines into one feature class,
# assuming that they have a common f-code field
# with value 40 for rivers and 80 for coastlines.
DM.Merge(inRiverFeatures, inCoastlineFeatures, mergedFeatures)
# Simplify all lines.
CA.SimplifyLine(mergedFeatures,
simplifiedFeatures,
"BEND_SIMPLIFY",
100,
"RESOLVE_ERRORS",
"KEEP_COLLAPSED_POINTS",
"CHECK")
# Select rivers and coastlines by their f-code values
# and put them in separate feature classes.
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 40")
DM.CopyFeatures(tempLayer, outRiverFeatureClass)
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 80")
DM.CopyFeatures(tempLayer, outCoastlineFeatureClass)
Параметры среды
- Текущая рабочая область (Current Workspace)
- Выходное значение Z по умолчанию (Default Output Z Value)
- Выходной домен M (Output M Domain)
- Выходной XY домен (Output XY Domain)
- Выходная система координат (Output Coordinate System)
- Экстент (Extent)
- Выходные данные содержат значения M (Output has M values)
- Выходные данные содержат Z значения (Output has Z values)
- Временная рабочая область (Scratch Workspace)
- Допуск XY (XY Tolerance)
Информация о лицензиях
- ArcGIS Desktop Basic: Нет
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да