ArcGIS Desktop

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

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Упростить линию

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

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

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

Более подробно о работе инструментов Упростить линию и Упростить полигон

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

  • Этот инструмент задействует различные алгоритмы упрощения для разных целей:

    • Алгоритм POINT_REMOVE работает путём выявления и удаления относительно излишних вершин для упрощения данных, чтобы отображать их в мелких масштабах. Это самый быстрый алгоритм упрощения в данном инструменте. Этот алгоритм часто используется для сжатия данных или грубого упрощения. Угловатость получившейся линии значительно возрастает при увеличении допуска. Данный алгоритм основан на алгоритме Дугласа-Пекера: Douglas, David and Peucker, Thomas, "Algorithms for the reduction of the number of points required to represent a digitized line or its caricature," The Canadian Cartographer 10(2), 112–122 (1973).
    • Алгоритм BEND_SIMPLIFY работает путём выявления и сглаживания относительно незначительных изгибов для упрощения данных, чтобы отображать их в мелких масштабах. Он гораздо добросовестнее обрабатывает входную геометрию, чем алгоритм POINT_REMOVE, но его работа занимает гораздо больше времени. Он является более медленным, зато обычно позволяет получить более точный результат. Метод заключается в удалении незначительных изгибов линий. Данный алгоритм основан на алгоритме, описанном в работе Wang, Zeshen and Müller, Jean-Claude, "Line Generalization Based on Analysis of Shape Characteristics," Cartography and Geographic Information Systems 25(1), 3–15 (1998).
    • Алгоритм WEIGHTED_AREA определяет треугольник полезной площади для каждой вершины. Затем эти треугольники взвешиваются по набору определений, для оценки их однородности, асимметричности и выпуклости для каждой области. Взвешенные области указывают на избыточные вершины для удаления, позволяющие упростить линию, максимально возможно сохраняя при этом ее характеристики. Данный алгоритм основан на алгоритме, описанном в работе Zhou, Sheng and Jones, Christopher B., (2005) Shape-Aware Line Generalisation with Weighted Effective Area" in Fisher, Peter F. (Ed.) Developments in Spatial Handling 11th International Symposium on Spatial Handling, 369–80.

  • Параметр Допуск упрощения определяет степень упрощения. Чем больше допуск, тем более грубая выходная геометрия. Меньшие значения допусков дают более достоверную геометрию. MinSimpTol и поля MaxSimpTol добавляются к выходным данным, чтобы там хранился использованный допуск.

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

    При исправлении ошибок топологии, в предыдущих версиях этих инструментов до ArcGIS Desktop 10.5 изменялся кластерный допуск для каждого объекта, и эти значения хранились в полях MinSimpTol и MaxSimpTol. Теперь значения в этих полях остаются неизменными и соответствует допуску, указанному в параметре Допуск упрощения. Не забудьте изменить существующие модели или скрипты, если они ссылаются на эти поля.

    • Для алгоритма POINT_REMOVE допуском является максимально допустимое перпендикулярное расстояние от каждой из вершин до новой созданной линии.
    • Для алгоритма BEND_SIMPLIFY допуском является диаметр окружности, приближенной к значимому изгибу.
    • Для алгоритма WEIGHTED_AREA квадрат допуска – это площадь значительного треугольника, заданного тремя соседними вершинами.

  • Используйте параметр Сохранить линии нулевой длины (collapsed_point_option в Python), чтобы создать выходной класс пространственных объектов, который будет представлять полигоны, удалённые по причине их размеров меньше минимальной площади. Получаются выходные точки; они используют те же имя и местоположение, как у параметра Выходной класс пространственных объектов (out_feature_class в Python), но с суффиксом _Pnt. В выходном классе линейных объектов имеются все поля, представленные во входном классе. Выходной класс точечных объектов не содержит ни одного из этих полей.

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

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

    До версии ArcGIS Desktop 10.5 этого инструмента топологические ошибки можно было генерировать в процессе обработки. Параметры Проверка на топологические ошибки (error_checking_option в Python) и Исправлять ошибки топологии (error_resolving_option в Python) включены для выявления и при желании разрешения этих ошибок. Эти параметры пока присутствуют в синтаксисе скрипта для совместимости в скриптах и моделях, но в диалоговом окне инструмента скрыты и в данный момент не используются. Поле SimLnFlag использовалось для того, чтобы помечать топологические ошибки, возникшие в процессе работы инструмента. Теперь в этом поле отмечены ошибки, присутствующие во входных данных.

  • Используйте параметр Входные барьерные слои для указания пространственных объектов, которые не должны пересекаться упрощаемыми линиями. Объектами-барьерами могут быть полигоны, линии или точки.

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

Синтаксис

SimplifyLine_cartography (in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option}, {in_barriers})
ПараметрОбъяснениеТип данных
in_features

Входные линейные объекты, которые будут упрощены.

Feature Layer
out_feature_class

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

Feature Class
algorithm

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

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

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

  • Для алгоритма POINT_REMOVE допуском является максимально допустимое перпендикулярное расстояние от каждой из вершин до новой созданной линии.
  • Для алгоритма BEND_SIMPLIFY допуском является диаметр окружности, приближенной к значимому изгибу.
  • Для алгоритма WEIGHTED_AREA квадрат допуска – это площадь значительного треугольника, заданного тремя соседними вершинами.
Linear Unit
error_resolving_option
(Дополнительный)
Прежние версии:

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

Boolean
collapsed_point_option
(Дополнительный)

Определяет, надо ли создать выходной класс пространственных объектов, который будет представлять конечные точки линий, удалённых по причине их размеров меньше допуска. Получаются выходные точки; они используют те же имя и местоположение, как у параметра out_feature_class, но с суффиксом _Pnt.

  • KEEP_COLLAPSED_POINTS —Записывает конечные точки линий нулевой длины в производный точечный класс объектов. Используется по умолчанию.
  • NO_KEEP —Выходной точечный класс объектов не создается.
Boolean
error_checking_option
(Дополнительный)
Boolean
in_barriers
[in_barriers,...]
(Дополнительный)

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

Feature Layer

Пример кода

SimplifyLine, пример 1 (окно Python)

Следующий скрипт окна Python показывает, как использовать инструмент SimplifyLine в режиме прямого запуска.

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyLine("roads.shp", 
                "C:/output/output.gdb/simplified_roads", 
                "POINT_REMOVE", 
                20)
SimplifyLine, пример 2 (автономный скрипт)

В следующем автономном скрипте показано, как использовать инструмент 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
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
arcpy.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, 
                "KEEP_COLLAPSED_POINTS")
 
# 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)

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

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

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

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

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

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

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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