Растянуть линию (Extend Line) (Редактирование)
Резюме
Этот инструмент растягивает линейные сегменты до пересечения с первым пространственным объектом в заданном радиусе поиска. Если в заданном радиусе поиска не будет найдено никаких объектов, то линейный сегмент растянут не будет. Данный инструмент используются для решения задач исправления и корректировки данных, например, в тех случаях, когда данные были записаны или оцифрованы без настроек среды замыкания.
Рисунок
Использование
-
Если параметр Длина растяжения (Extend Length) не будет указан, то сегменты будут растянуты до первой точки пересечения с другим пространственным объектом.
-
Если используется опция Растянуть до расширений (Extend to Extensions), то линейные объекты будут растянуты до ближайших существующих линейных объектов, а также до других растянутых линейных объектов на заданном расстоянии. Это создаст пересечения между двумя расширениями.
-
Объект может быть растянут до себя самого в том случае, если это первый объект, с которым имеется пересечение.
-
Если в качестве входных данных используется векторный слой или класс пространственных объектов с выборкой, то будут растянуты только выбранные объекты. Все объекты в слое или классе пространственных объектов будут проанализированы на предмет их расширения, но изменены будут только выбранные объекты.
-
Данный инструмент не произведет никаких изменений в атрибутах объектов за исключением поля геометрии (длины сегмента) в классах пространственных объектов персональной, файловой баз геоданных, а также базе геоданных SDE.
Этот инструмент изменяет входные данные. Более подробно о стратегиях предотвращения неожиданных изменений данных см. в разделе Инструменты, не создающие выходных данных (Tools with no outputs).
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входные линейные объекты, которые будут растянуты. | Feature Layer |
length (дополнительно) |
Максимальное расстояние, на которое линейный сегмент сможет быть растянут до пересечения с объектом. | Linear Unit |
extend_to (дополнительно) |
Определяет, смогут ли линейные сегменты быть растянуты до других растянутых линейных объектов на заданном расстоянии расширения.
| Boolean |
Пример кода
Ниже приводится окно Python со скриптом, где используется инструмент Растянуть линию (Extend Line).
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.ExtendLine_edit("majorrds.shp", "15 Feet", "EXTENSION")
Производит корректирование центровых линий дорог, которые были оцифрованы без использования нужных настроек среды замыкания
# 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")