Объект в линию (Feature To Line) (Управление данными (Data Management))
Краткая информация
Создает класс пространственных объектов, содержащий линии, созданные путем конвертации границ полигонов в линии, или путем разбиения линий, полигонов, или двух пространственных объектов в их пересечении.
Рисунок
Использование
-
Входные атрибуты, если необходимо, можно скопировать в выходной класс пространственных объектов, отметив опцию Сохранить атрибуты (Preserve attributes) диалогового окна (параметр attributes в скриптах).
-
Если в списке входных объектов задано несколько классов пространственных объектов или слоёв, порядок объектов в списке не влияет на тип выходных объектов, но пространственная привязка верхнего объекта в диалоговом окне инструмента (первый объект в скриптах) в списке будет использоваться в процессе обработки и будет установлена на выходные данные.
-
В точках касания, пересечения или наложения входных линий или полигонов, кроме начальной и конечной вершин, линии будут разбиты на фрагменты; каждый фрагмент станет выходным линейным объектом. Если входную линию или полигон не пересекают другие пространственные объекты, линия или полигон целиком копируется в выходной класс объектов, как линейный объект.
-
Для составных входных объектов, выходные линии будут состоять из одной части.
-
Для входных объектов, являющихся параметрическими (истинными) кривыми, выходные линии будут оставаться истинными кривыми, даже если они разбиты. Не применяется к данным шейп-файла.
-
Если отмечена опция Сохранить атрибуты (Preserve attributes) диалогового окна (параметр атрибуты установлен на ATTRIBUTES в скриптах), атрибуты входных элементов будут сохранены в выходных данных в той же последовательности, что элементы входного списка. В выходные данные для каждого входного элемента будет добавлено новое поле, FID_xxx, где xxx - это имя исходного класса объектов конкретной входной записи; в поле копируются идентификаторы исходных объектов. Выходные линии ассоциируются с атрибутами следующими способами:
- Для совпадающих линий и границ полигонов в одном наборе входных объектов (например, граница, разделяющая два полигона) в выходной класс объектов будут записаны два линейных объекта с идентичной геометрией, и каждому будут приписаны атрибуты исходного объекта.
- Для совпадающих линий или границ полигонов из двух различных наборов входных объектов, например, линия, совпадающая с границей полигона, в выходные данные будет записан только один линейный объект с атрибутами двух исходных объектов.
- Если выходная линия не совпадает с каким-либо пространственным объектом в конкретном наборе входных объектов, она будет иметь значение -1 в поле FID_xxx и нулевые значения в других полях из этого набора объектов.
Если не отмечена опция Сохранить атрибуты (Preserve attributes) диалогового окна (параметр атрибуты установлен на NO_ATTRIBUTES в скриптах), ни один из входных атрибутов не будет скопирован в выходной класс объектов; для каждого набора совпадающих линий или границ полигонов будет записан в выходные данные один линейный объект.
-
Если входные объекты содержат смежные полигоны, для получения выходного линейного объекта, представляющего общую границу смежных полигонов, с атрибутами, содержащими идентификаторы левого и правого полигона, используйте инструмент Полигон в линию (Polygon To Line).
-
Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости. Для получения более подробной информации см. Геообработка больших наборов данных.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features [in_features,...] |
Входные объекты, которые могут быть линейными или полигональными, или и теми и другими. | Feature Layer |
out_feature_class |
Выходной класс линейных объектов. | Feature Class |
cluster_tolerance (дополнительно) |
Минимальное допустимое расстояние между координатами пространственного объекта, и расстояние, на которое может переместиться координата по X, Y, или и то и то в пространственных вычислениях. Для входных объектов, являющихся параметрическими (истинными) кривыми, выходные линии будут оставаться истинными кривыми, даже если они разбиты. | Linear unit |
attributes (дополнительно) |
Указывает, сохранять или нет входные атрибуты в выходном классе объектов.
| Boolean |
Пример кода
Пример скрипта Python для выполнения функции Объект в линию (Feature To Line) с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"],
"c:/output/output.gdb/allroads",
"0.001 Meters", "ATTRIBUTES")
Пример скрипта Python для выполнения функции Объект в линию (Feature To Line) в автономном режиме.
# Name: FeatureToLine_Example2.py
# Description: Use FeatureToLine function to combine features from two
# street feature classes into a single feature class,
# then determine an area of impact around all streets
# by buffering
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
oldStreets = "majorrds.shp"
newStreets = "habitat_analysis.gdb/futrds"
uptodateStreets = "c:/output/output.gdb/allroads"
# Use FeatureToLine function to combine features into single feature class
arcpy.FeatureToLine_management([oldStreets, newStreets], uptodateStreets,
"0.001 Meters", "ATTRIBUTES")
# Use Buffer function to determine area of impact around streets
roadsBuffer = "c:/output/output.gdb/buffer_output"
arcpy.Buffer_analysis(uptodateStreets, roadsBuffer, "50 Feet",
"FULL", "ROUND", "ALL")