Создать маршруты (Системы линейных координат)
Резюме
Создает маршруты из существующих линий. Входные линейные объекты, имеющие общий идентификатор, объединяются в единый объект-маршрут.
Использование
-
Уникальные значения в Поле идентификатора маршрута (Route Identifier Field) записываются в Выходной класс объектов-маршрутов (Output Route Feature Class).
-
Используйте инструменты Создать векторный слой (Make Feature Layer) или Создать таблицу запроса (Make Query Table), чтобы значительно сократить число линий, используемых для создания маршрутов.
-
Если Выходной класс объектов-маршрутов (Output Route Feature Class) будет записан в базу геоданных, должны будут быть установлены соответствующие значения Допуск М, Разрешение M и Домен М.
-
Используйте коэффициент измерения для конвертации между единицами измерений маршрута. Например, чтобы конвертировать футы в мили, используйте коэффициент 0.00018939394.
-
Используйте Сдвиг измерения (Measure Offset) в приложениях, где значение начального измерения каждого маршрута должно быть отличным от 0.
-
Параметр Игнорировать пространственные разрывы (Ignore spatial gaps) не используется, если определен Источник измерений (Measure Source) TWO_FIELDS. Это происходит потому, что значения измерений определяются значениями Поле измерения От (From-Measure Field) и Поле измерения До (To-Measure Field).
-
Если в опции Measure Source (Источник измерений) используется LENGTH (длина) или ONE_FIELD (одно поле), то Приоритет координат (Coordinate Priority)определяется путем размещения минимального прямоугольника, охватывающего входные объекты, которые будут объединяться в единый маршрут.
-
Если значение опции Источник измерений (Measure Source) равно TWO_FIELDS, приоритет координат указывать необязательно, так как направление измерений берется на основании значений Поле измерений От (From-Measure Field) и Поле измерений До.
-
Атрибутивный индекс на поле идентификатора маршрута ускоряет процесс динамической сегментации (dynamic segmentation). Если вы будете использовать Выходной класс объектов-маршрутов для динамической сегментации, рекомендуется создать атрибутивный индекс.
-
Если какие-либо пространственные объекты обрабатываются с помощью инструмента Калибровка маршрутов, создается временный текстовый файл для хранения информации об этих объектах. Например, C:\Documents and Settings\patrickb\Local Settings\Temp\Create_Output0.txt (где Create_Output — это имя выходного класса объекта маршрута).
-
Параметр среды outputMFlag будет проигнорирован. Выходной класс объектов-маршрутов будет иметь значения М (измерение).
Синтаксис
Параметр | Объяснение | Тип данных |
in_line_features |
Пространственные объекты, из которых будут сформированы маршруты. | Feature Layer |
route_id_field |
Поле, содержащее значения, которые позволяют уникально идентифицировать каждый маршрут. | Field |
out_feature_class |
Класс пространственных объектов, который должен быть создан. Это может быть шейп-файл или класс объектов базы геоданных. | Feature Class |
measure_source |
Определяет, каким образом будут получены измерения.
| String |
from_measure_field (дополнительно) |
Поле, содержащее значения измерений. Это поле должно быть числовым, и используется, когда измерения задаются способом ONE_FIELD или TWO_FIELDS. | Field |
to_measure_field (дополнительно) |
Поле, содержащее значения измерений. Это поле должно быть числовым, и используется, когда измерения задаются способом TWO_FIELDS. | Field |
coordinate_priority (дополнительно) |
Точка, от которой будет вестись отсчет измерений. Этот параметр не учитывается, если в качестве источника измерений используется TWO_FIELDS.
| String |
measure_factor (дополнительно) |
Число, на которое будет умножена длина каждой входной линии перед их слиянием для формирования маршрута. Значение по умолчанию равно 1. | Double |
measure_offset (дополнительно) |
Число, которое будет добавлено к измерениям маршрута после слияния исходных линий для создания маршрута. Значение по умолчанию равно 0. | Double |
ignore_gaps (дополнительно) |
Определяет, будут ли учитываться пространственные разрывы при вычислении измерений для разорванных маршрутов. Этот параметр будет использоваться, если в качестве источника измерений используется LENGTH или ONE_FIELD.
| Boolean |
build_index (дополнительно) |
Определяет, будет ли создан атрибутивный индекс для поля идентификатора маршрутов, которое записывается в выходной класс объектов маршрутов.
| Boolean |
Пример кода
Следующий скрипт демонстрирует порядок использования функции CreateRoutes в Окне Python.
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.CreateRoutes_lr(base_roads.shp, "route1", "newRoutes", "LENGTH", "#", "#", "LOWER_LEFT", 0.00018939394)
Следующий автономный скрипт демонстрирует порядок использования функции CreateRoutes с данными шейп-файлов.
# Name CreateRoutes_Example2.py
# Description: Create routes from lines. The lines are in a shapefile workspace.
# The LENGTH option will be used to set the measures, and a measure factor
# will be used to convert measure units from feet to miles.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
in_lines = "base_roads.shp"
rid = "route1"
out_routes = "create_output1"
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "LENGTH", "#", "#", "LOWER_LEFT", 0.00018939394)
Следующий автономный скрипт демонстрирует порядок использования функции CreateRoutes с данными файловой базы геоданных.
# Name CreateRoutes_Example3.py
# Description: Create routes from lines. The lines are in a file geodatabase.
# The ONE_FIELD option will be used to set the measures.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/pitt.gdb"
# Set local variables
in_lines = "roads/base_roads" # base_roads exists in the roads feature dataset
rid = "route1"
m_fld = "len_mile"
out_routes = "roads/create_output2" # write the result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", "LOWER_LEFT")
Следующий автономный скрипт демонстрирует порядок использования функции CreateRoutes с данными персональной базы геоданных.
# Name: CreateRoutes_Example4.py
# Description: Create routes from lines. The lines are in a personal geodatabase.
# The ONE_FIELD option will be used to set the measures.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/pitt.mdb"
# Set local variables
in_lines = "roads/base_roads" # base_roads exists in the roads feature dataset
rid = "route1"
m_fld = "len_mile"
out_routes = "roads/create_output2" # write the result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", "LOWER_LEFT")
Следующий автономный скрипт демонстрирует порядок использования функции CreateRoutes с данными SDE.
# Name CreateRoutes_Example5.py
# Description: Create routes from lines. The lines are in an enterprise geodatabase.
# The TWO_FIELD option will be used to set the measures.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "Database Connections/Connection to Jerry.sde"
# Set local variables
in_lines = gp.QualifyTableName("base_roads", wkspc) # base_roads is a standalone feature class
rid = "route1"
fr_fld = "begmp1"
to_fld = "endmp1"
out_routes = "create_output3" # write the result to a standalone feature class
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "TWO_FIELDS", fr_fld, to_fld)