Сводка
Удаляет части линии, которые выходят за пределы указанного расстояния после пересечения линии (висячие линии). Любая линия, которая не касается другой линии в обеих конечных точках, может быть обрезана, но будет удалена только та часть линии, которая проходит после пересечения на указанное расстояние.
Инструмент предназначен для задач по контролю качества, например, исправления ошибок топологии в объектах, которые были оцифрованы без использования нужных настроек среды замыкания.
Иллюстрация
Использование
Любая линия, которая не касается другой линии в обеих конечных точках, может быть обрезана. Есть два типа линий, которые удовлетворяют этому условию:
- Висячая линия. Висячая линия - это часть линии между точкой, где она касается или пересекает другую линию, и ее конечной точкой - концом линии, который не касается или не заканчивается на другой линии.
- Отдельный или автономный объект. Этот объект не касается и не пересекает никаких других линий. Чтобы удалить эти объекты, необходимо использовать опцию Удалить короткие объекты.
Если не указана Длина висячей линии, все висячие линии (линейные сегмента, которые не касаются другой линии, на обеих конечных точках), независимо от их длины будут обрезаны до точки пересечения.
Если используется опция Удалить короткие объекты, то все отдельно стоящие или автономные объекты с общей длиной меньше или равной указанной длине висячей линии будут удалены. Если эта опция не используется, толко висячие сегменты линии будут удалены.
Если в качестве входных данных используется векторный слой или класс объектов с выборкой, то будут обрезаны только выбранные объекты. Все объекты в слое или классе объектов будут использоваться для оценки того, существуют ли висячие линии и должны ли они быть удалены, но будут изменены только выбранные объекты.
Этот инструмент не изменяет никаких атрибутов объектов, кроме полей геометрии (длины) в классе объектов базы геоданных.
Синтаксис
arcpy.edit.TrimLine(in_features, {dangle_length}, {delete_shorts})
Параметр | Объяснение | Тип данных |
in_features | Входные линейные объекты для обрезки. | Feature Layer |
dangle_length (Дополнительный) | Линейные сегменты, которые короче, чем указанная длина висячей линии, и которые не касаются другой линии на обоих концах (висячие линии) будут удалены. Если не указана длина висячей линии, все висячие линии (линейные сегмента, которые не касаются другой линии, на обеих конечных точках), независимо от их длины будут обрезаны до точки пересечения. | Linear Unit |
delete_shorts (Дополнительный) | Указывает, будут ли удалены линейные сегменты, которые меньше длины висячей линии и располагаются отдельно.
| Boolean |
Производные выходные данные
Имя | Объяснение | Тип данных |
out_feature_class | Обновленные входные объекты. | Feature Class |
Пример кода
TrimLine, пример 1 (окно Python)
Пример скрипта в окне Python для использования функции TrimLine.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.TrimLine_edit("majorrds.shp", "15 Feet", "DELETE_SHORT")
TrimLine, пример 2 (автономный скрипт)
Производит корректирование центровых линий дорог, которые были оцифрованы без использования нужных настроек среды замыкания.
# Name: ExtendLine.py
# Description: Clean up street centerlines that were digitized without
# having set proper snapping environments
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Make backup copy of streets feature class, since modification with
# the Editing tools below is permanent
streets = "majorrds.shp"
streetsBackup = "C:/output/Output.gdb/streetsBackup"
arcpy.CopyFeatures_management(streets, streetsBackup)
# Trim street lines to clean up dangles
arcpy.TrimLine_edit(streets, "10 Feet", "KEEP_SHORT")
# Extend street lines to clean up dangles
arcpy.ExtendLine_edit(streets, "15 Feet", "EXTENSION")
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да