ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

Сгладить полигоны

  • Краткая информация
  • Рисунок
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензировании

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

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

Рисунок

Сгладить полигон; иллюстрация

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

  • Можно выбрать один из двух методов сглаживания:

    • Метод PAEK (Полиномиальная аппроксимация с использованием экспоненциального ядра) сглаживает полигоны на основе допуска сглаживания. Каждый сглаженный полигон может иметь большее количество вершин, чем исходный. Параметр Допуск сглаживания (Smoothing Tolerance) определяет длину сдвига кривой и используется при вычислении координат новых вершин. Чем меньше длина, тем больше деталей сохранится и тем больше времени займет обработка.
    • Метод Интерполяции Безье (BEZIER_INTERPOLATION в Python) сглаживает полигоны без использования допуска посредством создания кривых Безье, совпадающих с входными линиями. Если выходными данными является шейп-файл, кривые Безье будут приблизительно аппроксимированы, т.к. шейп-файл не поддерживает хранение подобных данных.
  • Сглаживание может вызвать топологические ошибки, например, пересечения линий границ полигонов. Для обнаружения этих ошибок используйте опцию Пометить ошибки (Flag errors) (FLAG_ERRORS в Python) параметра Исправлять топологические ошибки (Handle Topological Errors). Будут добавлены два поля – InPoly_FID и SmoPlyFlag, предназначенные для идентификаторов входных объектов и ошибок топологии. Значение 1 в поле SmoPlyFlag указывает на наличие топологической ошибки, а 0 (ноль) – на отсутствие ошибок. Поле InPoly_FID связывает выходные полигоны с соответствующими входными полигонами. Опция Пометить ошибки (Flag errors) не может использоваться во время сеанса редактирования.

    Примечание:

    ArcGIS Pro позволяет установить эти параметры в любое время, даже при том, что редактирование всегда доступно.

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

Синтаксис

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

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

Feature Layer
out_feature_class

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

Feature Class
algorithm

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

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

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

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")

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

  • Текущая рабочая область (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 for Desktop Basic: Нет
  • ArcGIS for Desktop Standard: Да
  • ArcGIS for Desktop Advanced: Да

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

  • Обзор группы инструментов Генерализация (Generalization)
  • Разрешение конфликтов и Генерализация
  • Автоматизирование урегулирования конфликтов и процессов генерализации с процессами геообработки
  • Сгладить линию
  • Упростить полигоны
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация