Сводка
Произведет удаление части линии, которая расположена за точкой пересечения (висячей дуги). Любая линия, которая не касается другой линии в обеих конечных точках, может быть обрезана; но только та часть линии, которая находится за точкой пересечения на указанном расстоянии, будет удалена.
Данный инструмент используется для решения задач исправления и корректировки данных, например, в тех случаях, когда данные были записаны или оцифрованы без настроек среды замыкания.
Иллюстрация
Использование
Любая линия, которая не касается другой линии в обеих конечных точках может быть сокращена. Такие линии могут быть двух типов:
- Висячие дуги. Висячая дуга – это часть линии между точкой, где она касается или пересекает другую линию и конечной точкой – концом линии, которая не касается другой линии или не заканчивается на другой линии.
- Отдельно расположенная линия. Эта линия не касается и не пересекает других линий. Чтобы удалить такие объекты, вам будет нужно использовать опцию Удалить короткие объекты.
Если для параметра Длина висячей дуги не будет указано никакое значение, все висячие линии (линейные сегменты, которые не касаются другой линии на обеих конечных точках), будут обрезаны до точки пересечения независимо от их длины.
Если будет использоваться опция Удалить короткие объекты, то любые отдельно расположенные объекты длиною, меньшей или равной указанного значения параметра Длина висячей дуги, будут удалены. Если эта опция не используется, то будут сокращены только сегменты висячих дуг.
Если в качестве входных данных будет использоваться векторный слой или класс пространственных объектов с выборкой, то сокращены будут только выбранные объекты. Все объекты в слое или классе пространственных объектов будут использоваться в процессе поиска висячих узлов, которые должны быть удалены, но изменены могут быть только выбранные объекты.
Данный инструмент не произведет никаких изменений в атрибутах объектов, за исключением поля геометрии (длины сегмента) в классах пространственных объектов базы геоданных.
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.
Синтаксис
arcpy.edit.TrimLine(in_features, {dangle_length}, {delete_shorts})
Parameter | Объяснение | Тип данных |
in_features | Входные линейные объекты, которые будут обрезаны. | Feature Layer |
dangle_length (Дополнительный) | Линейные сегменты, которые короче, чем указанное значение параметра Длина висячей дуги (Dangle Length) и которые не касаются другой линии на обоих конечных точках (в этом случае висячих узлах), будут обрезаны. Если для параметра Длина висячей дуги (Dangle Length) не будет указано никакое значение, все висячие линии (линейные сегменты, которые не касаются другой линии на обеих конечных точках), будут обрезаны до точки пересечения независимо от их длины. | Linear Unit |
delete_shorts (Дополнительный) | Определяет то, будут ли линейные сегменты, длина которых меньше длины висячей линии и которые расположены независимо, удалены.
| Boolean |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Обновленные входные объекты | Класс объектов |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент TrimLine.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.TrimLine_edit("majorrds.shp", "15 Feet", "DELETE_SHORT")
Редактирование центровых линий дорожной сети, которые были созданы без установки правильных настроек замыкания.
# 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")
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да