Свернуть полигоны Hydro (Картография)

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

Сворачивает или частично сворачивает полигоны Hydro в центральную линию на основе ширины сворачивания.

Иллюстрация

Рисунок инструмента Свернуть полигоны Hydro

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

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

  • Производительность инструмента зависит от чистоты данных. Перекрытие входных полигонов или разъединения в гидросети между входными линиями и полигонами может привести к неожиданным результатам.

  • Отверстия или острова во входных полигонах приведут к выходным осевым линиям, которые разветвляются вокруг отверстий. Чтобы этого избежать, удалите отверстия из входных полигонов с помощью инструмента Удалить часть полигона перед запуском инструмента.

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

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

    Более подробно см. Генерализация больших наборов данных с использованием разделов.

  • Большие входные отдельные полигональные объекты могут обрабатываться достаточно долго, избегайте слияния входных полигонов перед запуском этого инструмента. Если необходимо сначала выполнить слияние полигонов, отметьте параметр Слияние входных смежных полигонов (merge_adjacent_input_polygons = "MERGE_ADJACENT" в Python.) Используя этот параметр, инструмент выполнит слияние входных полигонов, при этом не будут создаваться большие полигоны с учетом поддержки корректной связности в гидросети. Выходные линии будут разбиты по исходным входным границам полигонов.

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

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

  • Выходной линейный класс объектов будет включать поле с именем COLLAPSED. Это поле будет содержать значение 0, соответствующее полигонам, которые не были свернуты, и значение 1 для свернутых полигонов.

  • Когда для значения ширины сворачивания задано расстояние больше 0, используйте параметры Допуск ширины сворачивания (%) и Минимальная длина, чтобы избежать колебаний в частично свернутых полигонах. Колебания возникают, когда полигональная река частично сворачивается по всей своей длине, в результате чего образуется цепочка небольших полигональных озер, соединенных линиями рек. Секции частично свернутых полигонов, которые находятся в пределах допуска ширины сворачивания, будут проанализированы и будет учтен окружающий контекст при определении того, будет ли свернута часть полигонального объекта. Если анализируемая часть полигона короче, чем минимальное значение длины, то ширина сворачивания будет проигнорирована для избежания колебаний. Минимальная длина основана на длине центральной линии, созданной для полигона.

  • Частично свернутые полигоны будут сужены как конусы в точках соединения с выходными линиями, таким образом будет создан плавный переход между свернутыми и несвернутыми полигонами. Длина каждого конуса управляется параметром Процент длины сужения, который задает длину сужения в процентах от ширины частично свернутого полигона в месте сужения. Значение процента длины сужения 0 предупреждает образование сужений.

  • У выходного класса линейных объектов будут поля атрибутов, заполненные ID объектов, которые были использованы для их создания. Используйте эти значения для присоединения выходных объектов к соответствующим входным объектам при необходимости.

    • InPoly_ID- Число, представляющее входной порядок полигонального класса объектов, содержащего полигоны, которые используются для создания выходного линейного объекта. Таблица с именем <out_poly_feature_class>_InPoly_DecodeID будет сохранена в выходное местоположение, она будет связывать значения InPoly_ID с именами входных классов объектов. Если выходное местоположение находится в наборе данных объектов, таблица будет создана на один уровень выше - на уровне базы геоданных.
    • InPoly_FID- OBJECTID входного полигонального объекта используется для создания выходной линии.
    • InLine_ID- Число, представляющее входной порядок входных соединяющих классов объектов гидролиний, содержащий объект, связанный с выходным линейным объектам. Таблица с названием <out_line_feature_class>_InLine_DecodeID будет сохранена в выходном местоположении, она будет связывать значения InLine_ID с названиями входных классов объектов. Если выходное местоположение находится в наборе данных объектов, таблица будет создана на один уровень выше - на уровне базы геоданных.
    • InLine_FID- OBJECTID входных соединяющих объектов гидролиний, связанных с выходным линейным объектам. Будет задано значение -1, если с выходным линейным объектом не связано объектов гидролиний.

    Выходные полигоны также будут включать атрибуты InPoly_ID и InPolyFID, заполненные идентификаторами классов и объектов, которые использовались для их создания. Только одно значение ID будет записано в каждом атрибуте, если для создания одного выходного объекта использовалось несколько входных линий соединения.

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

    • MIN_WIDTH- Минимальная ширина полигона вдоль выходной линии.
    • MAX_WIDTH- Максимальная ширина полигона вдоль выходной линии.
    • AVG_WIDTH- Средняя ширина полигона вдоль выходной линии.

Параметры

ПодписьОписаниеТип данных
Входные полигональные объекты гидрологии

Один или несколько векторных слоев, содержащих полигоны гидрологии.

Feature Layer
Выходной класс линейных объектов

Класс линейных объектов, содержащий центральные линии свернутых полигонов. Он содержит центральные линии для всех входных полигонов, включая те, которые не были свернуты. У этого класса объектов есть атрибут COLLAPSED, который определяет, представляет ли объект центральной линии свернутый полигон.

Feature Class
Слияние входных смежных полигонов
(Дополнительный)

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

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

Boolean
Соединяющие линейные объекты гидрологии
(Дополнительный)

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

Feature Layer
Ширина сворачивания
(Дополнительный)

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

Linear Unit
Допуск ширины сворачивания (%)
(Дополнительный)

Допуск в процентах, в пределах которого будут проанализированы объекты, а окружающий контекст будет учитываться при определении того, следует ли свернуть объект. Это нужно для минимизации колебаний в пределах сворачивания. Значение по умолчанию - 20%. Этот параметр применяется только в том случае, если задано значение параметра Ширина сворачивания.

Double
Минимальная длина
(Дополнительный)

Минимальная длина, необходимая для сохранения полигона в выходном классе полигональных объектов. Минимальная длина основана на длине центральной линии, созданной для полигона. Если центральная линия полигона длиннее ширины сворачивания, но короче минимальной длины, полигон не будет включен в выходной класс полигональных объектов. По умолчанию значение равно 0. Этот параметр применяется только в том случае, если задано значение параметра Ширина сворачивания.

Linear Unit
Процент длины сужения
(Дополнительный)

Длина, на которую будут сужаться соединения полигонов в выходном классе полигональных объектов и в выходном классе линейных объектов. Этот параметр определяет длину сужения как процент от ширины в месте соединения. Значение процента длины сужения, равное нулю, приведет к тому, что сужения не будет. Значение по умолчанию равно 50. Этот параметр применяется только в том случае, если задано значение параметра Ширина сворачивания.

Double
Выходной класс полигональных объектов
(Дополнительный)

Полигональный класс объектов, который содержит части входных объектов гидрологии, которые не были свернуты. Этот параметр применяется только в том случае, если задано значение параметра Ширина сворачивания.

Feature Class

arcpy.cartography.CollapseHydroPolygon(in_features, out_line_feature_class, {merge_adjacent_input_polygons}, {connecting_features}, {collapse_width}, {collapse_width_tolerance}, {minimum_length}, {taper_length_percentage}, {out_poly_feature_class})
ИмяОписаниеТип данных
in_features
[in_features,...]

Один или несколько векторных слоев, содержащих полигоны гидрологии.

Feature Layer
out_line_feature_class

Класс линейных объектов, содержащий центральные линии свернутых полигонов. Он содержит центральные линии для всех входных полигонов, включая те, которые не были свернуты. У этого класса объектов есть атрибут COLLAPSED, который определяет, представляет ли объект центральной линии свернутый полигон.

Feature Class
merge_adjacent_input_polygons
(Дополнительный)

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

  • MERGE_ADJACENTДля входных полигонов гидрологии будет выполнено слияние перед вычислением центральных линий. Это значение по умолчанию
  • NO_MERGEЦентральные линии будут вычислены на основе входных полигонов гидрологии, для которых не было выполнено слияние.
Boolean
connecting_features
[connecting_features,...]
(Дополнительный)

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

Feature Layer
collapse_width
(Дополнительный)

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

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

Допуск в процентах, в пределах которого будут проанализированы объекты, а окружающий контекст будет учитываться при определении того, следует ли свернуть объект. Это нужно для минимизации колебаний в пределах сворачивания. Значение по умолчанию - 20%. Этот параметр применяется только в том случае, если задано значение параметра collapse_width.

Double
minimum_length
(Дополнительный)

Минимальная длина, необходимая для сохранения полигона в выходном классе полигональных объектов. Минимальная длина основана на длине центральной линии, созданной для полигона. Если центральная линия полигона длиннее ширины сворачивания, но короче минимальной длины, полигон не будет включен в выходной класс полигональных объектов. По умолчанию значение равно 0. Этот параметр применяется только в том случае, если задано значение параметра collapse_width.

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

Длина, на которую будут сужаться соединения полигонов в выходном классе полигональных объектов и в выходном классе линейных объектов. Этот параметр определяет длину сужения как процент от ширины в месте соединения. Значение процента длины сужения, равное нулю, приведет к тому, что сужения не будет. Значение по умолчанию равно 50. Этот параметр применяется только в том случае, если задано значение параметра collapse_width.

Double
out_poly_feature_class
(Дополнительный)

Полигональный класс объектов, который содержит части входных объектов гидрологии, которые не были свернуты. Этот параметр применяется только в том случае, если задано значение параметра collapse_width.

Feature Class

Пример кода

CollapseHydroPolygon, пример 1 (автономный скрипт)

Этот пример демонстрирует, как использовать функцию CollapseHydroPolygon для создания центральной линии на основе полигонального объекта.

# Name: CollapseHydroPolygon_sample1.py
# Description: Collapse all water polygons to produce centerlines

# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"

# Execute Collapse Hydro Polygon
arcpy.CollapseHydroPolygon_cartography('WaterPolygons', 'HydroCenterlinesOut')
CollapseHydroPolygon, пример 2 (автономный скрипт)

Этот пример демонстрирует, как использовать функцию CollapseHydroPolygon для создания центральной линии на основе полигонального объекта, ширина которого меньше заданной ширины. Соединяющие объекты используются для поддержания соединений между созданными центральными линиями и соединяющими объектами.

# Name: CollapseHydroPolygon_sample2.py
# Description: Select the rivers and collapse features that are
#               below 6 meters wide to produce centerlines.

# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"

# Setting Local Variables
in_features = 'WaterPolygons'
out_line_feature_class = 'HydroCenterlinesOut'
merge_adjacent_input_polygons = False # default is True or "MERGE_ADJACENT"
connection_features = 'WaterLines'
collapse_width = "6 Meters"           # default is '0 Meters'
collapse_width_tolerance = 20         # default is 20
minimum_length = "10 Meters"          # default is '0 Meters' 
taper_length_percentage = 50          # default is 50
out_poly_feature_class =  'HydroPolyOut'

# Select only the Rivers
inputLyr = arcpy.MakeFeatureLayer_management(in_features,
                                             "inputLyr",
                                             "FTYPE = 'rivers'")

# Execute Collapse Hydro Polygon
arcpy.cartography.CollapseHydroPolygon(inputLyr,
                                       out_line_feature_class,
                                       merge_adjacent_input_polygons,
                                       connection_features,
                                       collapse_width,
                                       collapse_width_tolerance,
                                       minimum_length,
                                       taper_length_percentage,
                                       out_poly_feature_class)

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

Особые случаи

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

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

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