Разбить линию на вершинах (Управление данными (Data Management))
Краткая информация
Создает класс пространственных объектов, содержащий линии, созданных путем разбиения входных линий или границ полигонов в их вершинах.
Рисунок
Использование
-
Атрибуты входных объектов будут скопированы в выходной класс объектов.
-
Если входная линия не имеет вершин между начальной и конечной точками, она будет скопирована в выходные данные такой, какая есть; в противном случае, каждый сегмент между двумя последовательными вершинами станет линейным объектом в выходных данных. Также каждый сегмент между двумя последовательными вершинами вдоль границы полигона станет линейным объектом в выходных данных. Размер выходного класса объектов может быть намного больше, в зависимости от того, сколько вершин содержат входные объекты.
-
Линия или сегмент параметрической (истиной) кривой не будет уплотнен и останется истиной кривой как выходной линейный объект. Не применяется к данным шейп-файла.
-
Имя этой функции в скриптах - SplitLine, а не SplitLineAtVertices.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входные объекты, которые могут быть линейными и полигональными. | Feature Layer |
out_feature_class |
Выходной класс линейных объектов. | Feature Class |
Пример кода
Пример скрипта Python для выполнения функции Разбить линию на вершинах (Split Line At Vertices) с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.SplitLine_management("roads.shp", "c:/output/output.gdb/roads_split")
Пример скрипта Python для выполнения функции Разбить линию на вершинах (Split Line At Vertices) в автономном режиме.
# Name: SplitLine_Example2.py
# Description: Split a bus line feature at its vertices (bus stops)
# and find a midpoint of each new line for further analysis.
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inFeatures = "buslines.shp"
outFeatureClass = "c:/output/output.gdb/buslines_segments"
midPtsFeatureClass = "c:/output/output.gdb/buslines_segments_midPts"
# Run SplitLine to get new lines, each of which is between two bus stops
arcpy.SplitLine_management(inFeatures, outFeatureClass)
# Execute FeatureVerticesToPoints to find a midpoint for every new line
arcpy.FeatureVerticesToPoints_management(outFeatureClass,
midPtsFeatureClass, "MID")
# Comments: You may add attribute information, such as driving time,
# to the midpoint feature class and display the attributes
# as an alternative label for each line between two bus stops.