Сократить линию (Trim Line) (Редактирование)
Резюме
Произведет удаление части линии, которая расположена за точкой пересечения (висячей дуги — dangle). Любая линия, которая не касается другой линии в обеих конечных точках, может быть обрезана; однако, только та часть линии, которая находится за точкой пересечения на указанном расстоянии, будет удалена.
Данный инструмент используются для решения задач исправления и корректировки данных, например, в тех случаях, когда данные были записаны или оцифрованы без настроек среды замыкания.
Рисунок
Использование
Любая линия, которая не касается другой линии в обеих конечных точках может быть сокращена. Такие линии могут быть двух типов:
- Висячие дуги (dangle). Висячая дуга — это часть линии между точкой, где она касается или пересекает другую линию и конечной точкой — концом линии, которая не касается другой линии или не заканчивается на другой линии.
- Отдельно расположенная линия. Эта линия не касается и не пересекает других линий. Чтобы удалить такие объекты, вам будет нужно использовать опцию Удалить короткие объекты (Delete Short Features).
-
Если для параметра Длина висячей дуги (Dangle Length) не будет указано никакое значение, то все висячие линии (линейные сегменты, которые не касаются других линий в обеих своих конечных точках), независимо от длины, будет обрезаны по точке пересечения.
-
Если будет использоваться опция Удалить короткие объекты (Delete Short Features), то любые отдельно расположенные объекты длиною, меньшей или равной указанного значения параметра Длина висячей дуги (Dangle Length), будут удалены. Если эта опция не используется, то будут будут сокращены только сегменты висячих дуг.
-
Если в качестве входных данных будет использоваться векторный слой или класс пространственных объектов с выборкой, то сокращены будут только выбранные объекты. Все объекты в слое или классе пространственных объектов будут использоваться в процессе поиска висячих узлов, которые должны быть удалены, но изменены могут быть только выбранные объекты.
-
Данный инструмент не произведет никаких изменений в атрибутах объектов, за исключением поля геометрии (длины сегмента) в классах пространственных объектов персональной, файловой баз геоданных, а также базе геоданных SDE.
Этот инструмент изменяет входные данные. Более подробно о стратегиях предотвращения неожиданных изменений данных см. в разделе Инструменты, не создающие выходных данных (Tools with no outputs).
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входные линейные объекты, которые будут обрезаны. | Feature Layer |
dangle_length (дополнительно) |
Линейные сегменты, которые короче, чем указанное значение параметра Длина висячей дуги (Dangle Length) и которые не касаются другой линии на обоих конечных точках (в этом случае висячих узлах), будут обрезаны. Если для параметра Длина висячей дуги (Dangle Length) не будет указано никакое значение, все висячие линии (линейные сегменты, которые не касаются другой линии на обеих конечных точках), будут обрезаны до точки пересечения независимо от их длины. | Linear Unit |
delete_shorts (дополнительно) |
Определяет то, будут ли линейные сегменты, длина которых меньше длины висячей линии и которые расположены независимо, удалены.
| Boolean |
Пример кода
В окне Python приводится код скрипта, где используется инструмент Сократить линию (Trim Line).
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
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
# Set environment settings
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")