Сгладить полигоны (Smooth Polygon) (Картография)

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

Резюме

Улучшает визуальное и картографическое качество линий границ полигонов посредством сглаживания их углов.

Рисунок

Иллюстрация сглаживания полигонов

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

Синтаксис

SmoothPolygon_cartography (in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option})
ПараметрОбъяснениеТип данных
in_features

Полигональные объекты, которые необходимо сгладить.

Feature Layer
out_feature_class

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

Feature Class
algorithm

Определяет алгоритм сглаживания.

  • PAEKPAEK – аббревиатура, означающая полиномиальную аппроксимацию с использованием экспоненциального ядра. Вычисляет сглаженный полигон, линии границ которого не будут проходить через вершины исходного полигона. Это значение используется по умолчанию.
  • BEZIER_INTERPOLATIONСтроит между вершинами кривые Безье. Получившийся полигон проходит через вершины исходного полигона. Этот алгоритм не требует указания допуска. Кривые Безье будут аппроксимированы приблизительно в выходном шейп-файле.
String
tolerance

Устанавливает допуск, используемый алгоритмом PAEK. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать единицы измерения; по умолчанию используются единицы измерения объекта. Необходимо ввести «0» при использовании алгоритма сглаживания BEZIER_INTERPOLATION.

Linear unit
endpoint_option
(дополнительно)

Определяет, следует ли сохранять концевые точки кольцевых полигонов. Эта опция доступна только для алгоритма PAEK.

  • FIXED_ENDPOINTСохраняет конечную точку замкнутого кольцевого полигона. Это значение используется по умолчанию.
  • NO_FIXEDСглаживает замкнутую линию в районе конечной точки кольцевого полигона.
Boolean
error_option
(дополнительно)

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

  • NO_CHECKТопологические ошибки не выявляются. Это значение используется по умолчанию.
  • FLAG_ERRORSНайденные топологические ошибки помечаются.
String

Пример кода

Пример инструмента SmoothPolygon (Окно Python)

Представленный скрипт Окна Python демонстрирует порядок непосредственного использования инструмента SmoothPolygon.

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)
Пример инструмента SmoothPolygon (автономный скрипт)

Этот автономный скрипт демонстрирует пример использования инструмента SmoothPolygon.

# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
import arcpy.management as DM
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inLakeFeatures = "lakes"
eliminatedFeatures = "C:/data/PortlandOutput.gdb/lakes_eliminated"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/lakes_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/lakes_smoothed"

# Eliminate small islands in lake polygons.
DM.EliminatePolygonPart(inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")
 
# Simplify lake polygons.
CA.SimplifyPolygon(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")
 
# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS")

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

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

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/11/2013