Упростить линию (Картография)

Уровень лицензии:BasicStandardAdvanced

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

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

Более подробно о том, как работает инструмент Упростить линию (Simplify Line)

Рисунок

Иллюстрация упрощения линии

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

Синтаксис

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

Определяет используемый алгоритм упрощения линий.

  • POINT_REMOVEСохраняет критические точки, которые образуют главную форму линии и удаляет все остальные точки. Это значение используется по умолчанию.
  • BEND_SIMPLIFYСохраняет только критические точки, определяющие основную форму линии, и удаляет все остальные точки.
String
tolerance

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

  • Для алгоритма POINT_REMOVE допуск определяет максимально допустимое смещение каждой вершины из исходного местоположения. Это значение можно уменьшить локально, в определенных областях, если опция используется для исправления ошибок топологии.
  • Для алгоритма BEND_SIMPLIFY допуск определяет длину соответствующего изгиба линии.
Linear unit
error_resolving_option
(дополнительно)

Определяет способ обработки топологических ошибок, которые могут появиться в процессе обработки (в том числе пересечения и перекрытия линий, а также образовавшиеся линии нулевой длины). Параметр будет задействован, если опция error_checking_option включена (это значение по умолчанию).

  • FLAG_ERRORSНайденные топологические ошибки помечаются. Это значение используется по умолчанию.
  • RESOLVE_ERRORSНайденные топологические ошибки исправляются.
Boolean
collapsed_point_option
(дополнительно)

Определяет, необходимо ли сохранять найденные в процессе обработки линии нулевой длины в качестве точечных объектов. Опция применяется в случае, когда выбран параметр NO_CHECK или указаны два параметра – FLAG_ERRORS и CHECK – одновременно.

  • KEEP_COLLAPSED_POINTSОбразовавшиеся в результате сворачивания линии нулевой длины сохраняются в виде точечных объектов. Точки концов таких линий сохраняются в классе точечных пространственных объектов под именем, соответствующим имени выходного класса пространственных объектов с суффиксом _Pnt. Это значение используется по умолчанию.
  • NO_KEEPОбразовавшиеся в результате сворачивания линии нулевой длины не сохраняются в виде точек; класс точечных пространственных объектов в этом случае будет пустым.
Boolean
error_checking_option
(дополнительно)

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

  • CHECKВключается проверка на топологические ошибки и параметр error_resolving_option. Это значение используется по умолчанию.
  • NO_CHECKОтключается проверка на топологические ошибки и параметр error_resolving_option.
Boolean

Пример кода

Пример инструмента SimplifyLine (окно 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)
Пример 2 инструмента SimplifyLine (автономный скрипт)

Этот автономный скрипт демонстрирует пример использования инструмента 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)

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
6/5/2014