Калибровка маршрута (Системы линейных координат)
Резюме
Пересчет измерений на маршруте с использованием точек.
Использование
-
Можно калибровать маршруты как целиком, так и их части. Вы можете выбрать интерполяцию между входными точками, экстраполяцию до входных точек, экстраполяцию после входных точек, или использовать любую комбинацию из этих трех методов.
-
Используйте инструмент Создать векторный слой (Make Feature Layer) или Создать таблицу запроса (Make Query Table), чтобы значительно сократить маршруты, которые будут подвергнуты калибровке.
-
Если Выходной класс объектов-маршрутов (Output Route Feature Class) будет записан в базу геоданных, должны будут быть установлены соответствующие значения Допуск М, Разрешение M и Домен М.
-
Выходной класс объектов-маршрутов будет включать все поля из входных объектов.
-
Параметр среды outputMFlag будет проигнорирован. Выходной класс объектов-маршрутов будет иметь значения M (измерение).
-
Нельзя указывать радиус поиска, равный бесконечности.
-
Атрибутивный индекс на поле идентификатора маршрута ускоряет процесс динамической сегментации (dynamic segmentation). Если вы будете использовать Выходной класс объектов-маршрутов для динамической сегментации, рекомендуется создать атрибутивный индекс.
-
Если какие-либо пространственные объекты обрабатываются с помощью процесса Калибровка маршрутов, создается временный текстовый файл для хранения информации об этих объектах. Например, C:\Documents and Settings\patrickb\Local Settings\Temp\Calibrate_Output0.txt (где 'Calibrate_Output' – имя выходного класса объектов-маршрутов (Output Route Feature Class)).
Синтаксис
Параметр | Объяснение | Тип данных |
in_route_features |
Объекты маршрута, которые должны быть откалиброваны. | Feature Layer |
route_id_field |
Поле, содержащее значения, которые позволяют уникально идентифицировать каждый маршрут. Это поле может быть числовым или текстовым. | Field |
in_point_features |
Точечные объекты, используемые для калибровки маршрутов. | Feature Layer |
point_id_field |
Поле, определяющее, на каком из маршрутов находится каждая точка. Значения в этом поле должны соответствовать значениям в поле идентификатора маршрута. Это поле может быть числовым или текстовым. | Field |
measure_field |
Поле, содержащее значения измерений для каждой калибровочной точки. Это поле должно быть числовым. | Field |
out_feature_class |
Создаваемый класс пространственных объектов. Это может быть шейп-файл или класс объектов базы геоданных. | Feature Class |
calibrate_method (дополнительно) |
Определяет, как будут пересчитываться измерения маршрутов.
| String |
search_radius (дополнительно) |
Ограничивает, насколько далеко от маршрута может располагаться калибровочная точка. Если единицы измерения неизвестны – Unknown, будут использоваться единицы системы координат класса объектов маршрутов. | Linear unit |
interpolate_between (дополнительно) |
Определяет, будут ли интерполироваться значения измерений между калибровочными точками.
| Boolean |
extrapolate_before (дополнительно) |
Определяет, будут ли экстраполироваться значения перед калибровочными точками.
| Boolean |
extrapolate_after (дополнительно) |
Определяет, будут ли экстраполироваться значения после калибровочных точек.
| Boolean |
ignore_gaps (дополнительно) |
Определяет, игнорировать ли разрывы при пересчете измерений на разорванных маршрутах.
| Boolean |
keep_all_routes (дополнительно) |
Определяет, будут ли объекты маршрутов, для которых отсутствуют калибровочные точки, включены в выходной класс объектов.
| Boolean |
build_index (дополнительно) |
Определяет, будет ли создан атрибутивный индекс для поля идентификатора маршрутов, которое записывается в выходной класс объектов маршрутов.
| Boolean |
Пример кода
Следующий скрипт окна Python показывает порядок непосредственного использования функции CalibrateRoutes.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CalibrateRoutes_lr("hwy.shp", "RID", "cal_pts.shp", "RID", "MEASURE", "C:/output/hwy_new.shp","DISTANCE", "5.0 Feet", "BETWEEN", "BEFORE", "AFTER", "#", "NO_KEEP")
Следующий автономный скрипт Python показывает порядок использования функции CalibrateRoutes с данными файловой базы геоданных.
# Name CalibrateRoutes_Example2.py
# Description: Calibrate personal geodatabase routes with file geodatabase points.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.gdb"
# Set local variables
rts = "roads/hwy" # hwy is in the roads feature dataset
rid = "ROUTE1"
pts = "roads/cal_pts" # cal_pts is in the roads feature dataset
mfield = "MEASURE"
radius = "2.5 Meters"
out_fc = "roads/hwy_new" # new feature class in the roads feature dataset
# Execute CalibrateRoutes
arcpy.CalibrateRoutes_lr (rts, rid, pts, rid, mfield, out_fc, "DISTANCE", radius, \
"BETWEEN", "NO_BEFORE", "NO_AFTER")
Следующий автономный скрипт Python показывает порядок использования функции CalibrateRoutes с данными персональной базы геоданных.
# Name CalibrateRoutes_Example3.py
# Description: Calibrate personal geodatabase routes with personal geodatabase points.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.mdb"
# Set local variables
rts = "roads/hwy" # hwy is in the roads feature dataset
rid = "ROUTE1"
pts = "roads/cal_pts" # cal_pts is in the roads feature dataset
mfield = "MEASURE"
radius = "2.5 Meters"
out_fc = "roads/hwy_new" # new feature class in a feature dataset
# Execute CalibrateRoutes
arcpy.CalibrateRoutes_lr (rts, rid, pts, rid, mfield, out_fc, "DISTANCE", radius, \
"BETWEEN", "NO_BEFORE", "NO_AFTER")
Следующий автономный скрипт Python показывает порядок использования функции CalibrateRoutes с данными SDE.
# Name Example 4:
# Description: Calibrate enterprise geodatabase routes using enterprise geodatabase points.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
wkspc = "Database Connections/Connection to Jerry.sde"
env.workspace = wkspc
# Set local variables
rts = gp.QualifyTableName("hwy", wkspc) # standalone feature class
rid = "ROUTE1"
pts = gp.QualifyTableName("cal_pts", wkspc) # standalone feature class
mfield = "MEASURE"
radius = "5.0 Feet"
out_fc = "hwy_new" #new standalone feature class
# Execute CalibrateRoutes
arcpy.CalibrateRoutes_lr (rts, rid, pts, rid, mfield, out_fc, "DISTANCE", radius, \
"#", "#", "#", "#", "NO_KEEP")