ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

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

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

Сводка

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

Иллюстрация

Примеры опций алгоритма Сгладить линию
Острые углы линии могут быть сглажены с помощью метода интерполяции PAEK или параметрической кривой.

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

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

    • Метод Полиномиальная аппроксимация с использованием экспоненциального ядра (PAEK) (PAEK в Python) сглаживает линии на основе допуска сглаживания. Каждая сглаженная линия может иметь большее количество вершин, чем исходная. Параметр Допуск сглаживания определяет длину сдвига кривой и используется при вычислении координат новых вершин. Чем меньше длина, тем больше деталей сохранится и тем больше времени займет обработка.
    • Метод Интерполяции Безье (BEZIER_INTERPOLATION в Python) сглаживает линии без использования допуска путем создания аппроксимированных параметрических кривых, совпадающих с входными линиями.
  • Используйте параметр Входные барьерные слои для указания пространственных объектов, которые не должны пересекаться сглаженными линиями. Объектами-барьерами могут быть полигоны, линии или точки.

  • Обработка больших наборов входных данных может вызвать превышение ограничений использования оперативной памяти. В таком случае попытайтесь разделить входные данные на части, определив соответствующий полигональный класс пространственных объектов с помощью параметра среды Картографические разделы. Части данных, разделенные между собой границами разделов, будут последовательно обрабатываться отдельно друг от друга. Полученный класс объектов будет бесшовным и совпадать с границами разделов. Более подробно см. Генерализация больших наборов данных с использованием разделов.

    Внимание:

    Параметр среды Картографические разделы игнорируется, если для параметра Управление топологическими ошибками задано значение Не выполнять проверку на топологические ошибки (error_option = "NO_CHECK" в Python) или Пометить топологические ошибки (error_option = "FLAG_ERRORS" в Python).

  • Выходными данными будет топологически корректный линейный класс пространственных объектов. Все топологические ошибки входных данных будут помечены в выходном линейном классе пространственных объектов. Выходной класс пространственных объектов содержит два дополнительных поля: InLine_FID и SmoLnFlag, в которых содержатся соответственно идентификаторы входных пространственных объектов и топологические ошибки входных данных. Значение SmoLnFlag, равное 1, означает наличие топологической ошибки; 0 (ноль) означает, что ошибок нет.

    Прежние версии:

    До версии ArcMap этого инструмента, параметр Сохранить конечную точку для колец (endpoint_option в Python) использовался для сохранения конечной точки полученного изолированного полигонального кольца. Этот параметр пока присутствует в синтаксисе инструмента для совместимости в скриптах и моделях, но в диалоговом окне инструмента он игнорируется и скрыт.

Синтаксис

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

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

Feature Layer
out_feature_class

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

Feature Class
algorithm

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

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

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

Linear Unit
endpoint_option
(Дополнительный)

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

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

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

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

  • NO_CHECK —Ошибки топологии не идентифицируются Это значение по умолчанию
  • FLAG_ERRORS —Если топологические ошибки обнаруживаются, они отмечаются.
  • RESOLVE_ERRORS —Если топологические ошибки находятся, они исправляются.
String
in_barriers
[in_barriers,...]
(Дополнительный)

Входные данные, содержащие пространственные объекты, которые будут выполнять роль барьеров для сглаживания. Получившиеся сглаженные линии не будут касаться или пересекать объекты-барьеры. Например, при сглаживании изолиний входные объекты точек высот, указанные как барьеры, не позволяют сглаженным изолиниям проходить через эти точки. Выходные данные не будут нарушать форму рельефа.

Feature Layer

Пример кода

SmoothLine, пример (Окно Python)

В следующем скрипте окна Python показано, как используется функция SmoothLine в режиме прямого запуска.

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

В следующем автономном скрипте показано использование функции SmoothLine.

# Name: SmoothLine_Example2.py
# Description: Simplify and then Smooth coastlines

# Import system modules
import arcpy
import arcpy.cartography as CA

# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"

# Set local variables
inCoastlineFeatures = "coastlines"
barriers = "C:/data/Portland.gdb/Structures/buildings"
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", barriers)

# Smooth coastlines.
CA.SmoothLine(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", 
              "FLAG_ERRORS", barriers)

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

  • Текущая рабочая область
  • Выходное значение Z по умолчанию
  • Выходной домен M
  • Выходной XY домен
  • Выходная система координат
  • Экстент
  • Выходные данные имеют M-значения
  • Выходные данные имеют Z-значения
  • Временная рабочая область
  • Допуск XY
  • Картографические разделы

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

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы

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

ArcGIS Desktop

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

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация