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
  • Мой профиль
  • Выход

Справка

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

Сгладить линию

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

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

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

Рисунок

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

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

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

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

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

Синтаксис

SmoothLine_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. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. Необходимо ввести «0» при использовании алгоритма сглаживания BEZIER_INTERPOLATION.

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

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

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

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

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

Пример кода

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

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

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

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

# Name: SmoothLine_Example2.py
# Description: Simplify and then Smooth coastlines
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inCoastlineFeatures = "coastlines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/coastlines_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/coastlines_smoothed"

# Simplify coastlines.
CA.SimplifyLine(inCoastlineFeatures, simplifiedFeatures, "POINT_REMOVE", 50, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")
 
# Smooth coastlines.
CA.SmoothLine(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. | Конфиденциальность | Правовая информация