Присоединить маршруты (Location Referencing)

Доступно с лицензией Location Referencing.

Краткая информация

Добавляет маршруты из входной полилинии в сеть LRS.

Примечание:

Если целевой слой является слоем сервиса объектов, результаты проверки этого инструмента записываются в каталог ArcGIS Server. По умолчанию этот файл автоматически очищается через 10 минут, чего может оказаться недостаточно для обработки всех проверок и их записи на рабочую станцию с ArcGIS Pro. При больших объемах данных рекомендуется установить максимальный возраст файла как минимум один час.

Подробнее о настройке этого параметра каталога сервера в диспетчере

Использование

  • Для запуска инструмента необходим набор данных LRS. Чтобы создать набор данных LRS, добавьте точку калибровки, центральную линию и слой красных линий к набору классов объектов; затем запустите инструмент Изменить LRS, указав входную базу геоданных.

  • Этот инструмент создаст центральные линии в целевом наборе данных LRS, а также маршруты в целевой сети LRS.

  • Выходные маршруты будут иметь значения x, y и z из входных вершин полилинии, но m-значения добавляться не будут.

  • Создайте все новые поля, которые будут использоваться для сопоставления полей в базовом классе объектов сети LRS, прежде чем добавлять маршруты.

  • Пространственная привязка, разрешение по x,y и допуск по x,y входного класса полилинейных объектов и целевой сети LRS должны совпадать.

  • Локально записывается текстовый журнал, в котором указывается, что инструмент был запущен, и содержится информация о маршрутах, которые не прошли проверку. Сообщения инструмента указывают местоположение текстового журнала, который находится во временном каталоге.

  • Выходными данными является измененная сеть LRS с присоединенными маршрутами и созданными объектами центральной линии.

  • Этот инструмент поддерживает предотвращение конфликтов и пытается получить и перенести блокировки.

  • Когда включено предотвращение конфликтов, поддерживается следующее:

    • Если добавляемые маршруты являются новыми, для этих маршрутов не будут получены блокировки.
    • Для других типов нагрузки, таких как RETIRE_BY_ROUTE_ID и REPLACE_BY_ROUTE_ID, блокировки будут получены автоматически, если таковые имеются.
    • Если блокировки не могут быть получены, инструмент не запустится и создаст текстовый файл с описанием нарушений блокировок.
    • При работе в версии по умолчанию полученные блокировки будут сняты автоматически, когда инструмент успешно завершит работу.
    • Если вы работаете в дочерней версии, полученные блокировки останутся в статусе ON POST после завершения работы инструмента. Закрепите или удалите эту версию, чтобы снять блокировки.
    • Если при работе с дочерней версией работа инструмента была прервана, блокировки будут получены и останутся со статусом доступности снятия, равным Да. Владелец блокировки может снять ее.

      Подробнее о снятии блокировок в ArcGIS Pipeline Referencing или снятии блокировок в ArcGIS Roads and Highways.

    Более подробно о предотвращении конфликтов в Pipeline Referencing или предотвращении конфликтов в Roads and Highways.

  • Если целевая сеть LRS настроена как линейная сеть с поддержкой многопольного идентификатора маршрута, для добавления маршрутов не требуются следующие параметры:

    • Поле имени маршрута
    • Поле Line Name

  • Инструмент проверяет наличие инженерной сети, настроенной с использованием сети LRS, в которую загружаются маршруты, и, если такая сеть найдена, учитывает существующие центральные линии при добавлении маршрутов. Если центральная линия, которую вы добавляете к маршруту, не имеет значения CenterlineID, оно будет создано и будет добавлена запись последовательности центральных линий. Если значение CenterlineID, к которому вы добавляете маршрут, существует, существующая запись уравнения центральной линии будет обновлена значением RouteID добавленного маршрута.

    Следующие условия предварительной обработки приведут к зарегистрированной ошибке, которая должна быть устранена до завершения работы инструмента:

    • Для загрузки объекта маршрута требуется разделение центральной линии.
    • Геометрии центральных линий и маршрутов по x,y и z не совпадают.
    • Центральная линия является частичным совпадением (например, если часть центральной линии находится за пределами допусков по x, y и z).
    • Присоединенный маршрут содержит одну или несколько целых центральных линий, соответствующих геометрии, но в некоторых местоположениях центральных линий не существует.
    • Обнаружены перекрывающиеся центральные линии (инженерная сеть не допускает перекрывания центральных линий).
    • Нет центральных линий, которые соответствовали бы добавленному маршруту.

    Более подробно об совместном управлении Pipeline Referencing и инженерной сетью

  • Этот инструмент завершит работу с ошибкой, если для параметра Тип загрузки задано значение Заменить по идентификатору маршрута или Удалить по идентификатору маршрута, а исходный маршрут не имеет тех же значений RouteName и RouteID, что и целевой маршрут.

  • Если выбрана опция Заменить по идентификатору маршрута, то во всех заменяемых маршрутах будут заменены записи последовательности маршрута и центральной линии. Калибровочные точки на маршруте будут удалены, и их необходимо заново создать или загрузить.

Параметры

ПодписьОписаниеТип данных
Исходные маршруты

Входные данные, из которых извлекаются маршруты. Входными данными могут быть класс полилинейных объектов, шейп-файл, сервис объектов или класс объектов сети LRS.

Feature Layer
Сеть LRS

Целевая сеть LRS, в которую будут загружены маршруты.

Feature Layer
Поле ID маршрута

Поле во входном классе полилинейных объектов, которое будет сопоставлено с идентификатором маршрута сети LRS. Тип поля должен соответствовать типу поля RouteID целевой сети LRS и должен быть либо строковым, либо типом GUID. Если это текстовое поле, длина поля должна быть меньше или равна длине целевого поля RouteID.

Field
Поле имени маршрута

Поле во входном классе полилинейных объектов, которое будет сопоставлено с именем маршрута сети LRS. Поле должно быть строковым, его длина должна быть меньше или равна длине поля имени целевого маршрута.

Field
Поле даты "От"
(Дополнительный)

Поле даты во входном классе полилинейных объектов, которое будет сопоставлено со значением Поле даты "От" в сети LRS. Если поле не сопоставлено, для всех добавленных маршрутов будет задано пустое значение начала времени.

Field
Поле даты "До"
(Дополнительный)

Поле даты во входном классе полилинейных объектов, которое будет сопоставлено со значением Поле даты "До" в сети LRS. Если поле не сопоставлено, для всех добавленных маршрутов будет задано пустое значение окончания времени.

Field
Поле Line ID
(Дополнительный)

Поле во входном классе полилинейных объектов, которое будет сопоставлено с идентификатором линии в сети LRS. Этот параметр используется только в том случае, если целевая сеть LRS является линейной сетью LRS. Тип и длина этого поля должны соответствовать типу и длине поля в таблице последовательности центральных линий.

Field
Поле Line Name
(Дополнительный)

Строковое поле во входном классе полилинейных объектов, которое будет сопоставлено с идентификатором линии в сети LRS. Этот параметр используется только в том случае, если целевая сеть LRS является линейной сетью LRS.

Field
Поле Line Order
(Дополнительный)

Поле типа long integer во входном классе полилинейных объектов, которое будет сопоставлено с порядком линии в сети LRS. Этот параметр используется только в том случае, если целевая сеть LRS является линейной сетью LRS.

Более подробно о линейных сетях и порядке линий в Pipeline Referencing или линейных сетях и порядке линий в Roads and Highways.

Field
Сопоставление полей
(Дополнительный)

Управляет тем, как информация об атрибутах в полях исходного маршрута будет передаваться во входную сеть LRS. Поля не могут быть добавлены в целевую сеть LRS или удалены из нее, поскольку данные исходных маршрутов добавляются к существующей сети LRS, которая имеет заданную схему. Хотя вы можете установить правила слияния для каждого выходного поля, инструмент будет игнорировать эти правила.

Field Mappings
Тип загрузки
(Дополнительный)

Задает, как присоединенные события с измерением или временем перекрываются с идентичными ID маршрутов, когда записи Целевой сети загружаются в класс сетевых объектов.

  • ДобавитьДобавленные маршруты будут загружены в целевую сеть LRS. Если какой-либо идентификатор маршрута в исходных маршрутах уже существует в целевой сети LRS с такой же временной привязкой , он будет записан в выходной журнал как дублирующий маршрут и должен быть исправлен или отфильтрован перед завершением процесса загрузки. Используется по умолчанию.
  • Исключить маршрут по IDДобавленные маршруты будут загружены в целевую сеть LRS, и все маршруты в целевой сети LRS, которые имеют тот же идентификатор маршрута и перекрытие по времени, что и добавленные маршруты, будут удалены. Если добавленный маршрут перекрывает целевой маршрут с тем же идентификатором маршрута, целевой маршрут будет удален.
  • Заменить маршрут по IDДобавленные маршруты будут загружены в целевую сеть LRS, и все маршруты в целевой сети LRS с тем же идентификатором маршрута, что и добавленные маршруты, будут удалены.
String

Производные выходные данные

ПодписьОписаниеТип данных
Сеть LRS

Обновленный слой объектов сети LRS.

Feature Layer
Выходной файл результатов

Текстовый файл, содержащий подробную информацию об изменениях, внесенных инструментом.

Text File

arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, {from_date_field}, {to_date_field}, {line_id_field}, {line_name_field}, {line_order_field}, {field_map}, {load_type})
ИмяОписаниеТип данных
source_routes

Входные данные, из которых извлекаются маршруты. Входными данными могут быть класс полилинейных объектов, шейп-файл, сервис объектов или класс объектов сети LRS.

Feature Layer
in_lrs_network

Целевая сеть LRS, в которую будут загружены маршруты.

Feature Layer
route_id_field

Поле во входном классе полилинейных объектов, которое будет сопоставлено с идентификатором маршрута сети LRS. Тип поля должен соответствовать типу поля RouteID целевой сети LRS и должен быть либо строковым, либо типом GUID. Если это текстовое поле, длина поля должна быть меньше или равна длине целевого поля RouteID.

Field
route_name_field

Поле во входном классе полилинейных объектов, которое будет сопоставлено с именем маршрута сети LRS. Поле должно быть строковым, его длина должна быть меньше или равна длине поля имени целевого маршрута.

Field
from_date_field
(Дополнительный)

Поле даты во входном классе полилинейных объектов, которое будет сопоставлено со значением Поле даты "От" в сети LRS. Если поле не сопоставлено, для всех добавленных маршрутов будет задано пустое значение начала времени.

Field
to_date_field
(Дополнительный)

Поле даты во входном классе полилинейных объектов, которое будет сопоставлено со значением Поле даты "До" в сети LRS. Если поле не сопоставлено, для всех добавленных маршрутов будет задано пустое значение окончания времени.

Field
line_id_field
(Дополнительный)

Поле во входном классе полилинейных объектов, которое будет сопоставлено с идентификатором линии в сети LRS. Этот параметр используется только в том случае, если целевая сеть LRS является линейной сетью LRS. Тип и длина этого поля должны соответствовать типу и длине поля в таблице последовательности центральных линий.

Field
line_name_field
(Дополнительный)

Строковое поле во входном классе полилинейных объектов, которое будет сопоставлено с идентификатором линии в сети LRS. Этот параметр используется только в том случае, если целевая сеть LRS является линейной сетью LRS.

Field
line_order_field
(Дополнительный)

Поле типа long integer во входном классе полилинейных объектов, которое будет сопоставлено с порядком линии в сети LRS. Этот параметр используется только в том случае, если целевая сеть LRS является линейной сетью LRS.

Более подробно о линейных сетях и порядке линий в Pipeline Referencing или линейных сетях и порядке линий в Roads and Highways.

Field
field_map
(Дополнительный)

Управляет тем, как информация об атрибутах в полях исходного маршрута будет передаваться во входную сеть LRS. Поля не могут быть добавлены в целевую сеть LRS или удалены из нее, поскольку данные исходных маршрутов добавляются к существующей сети LRS, которая имеет заданную схему (определения полей). Хотя вы можете установить правила слияния для каждого выходного поля, инструмент будет игнорировать эти правила. Для задания этого параметра можно использовать класс ArcPy FieldMappings.

Field Mappings
load_type
(Дополнительный)

Задает, как присоединенные события с измерением или временем перекрываются с идентичными ID маршрутов, когда записи Целевой сети загружаются в класс сетевых объектов.

  • ADDДобавленные маршруты будут загружены в целевую сеть LRS. Если какой-либо идентификатор маршрута в исходных маршрутах уже существует в целевой сети LRS с такой же временной привязкой , он будет записан в выходной журнал как дублирующий маршрут и должен быть исправлен или отфильтрован перед завершением процесса загрузки. Используется по умолчанию.
  • RETIRE_BY_ROUTE_IDДобавленные маршруты будут загружены в целевую сеть LRS, и все маршруты в целевой сети LRS, которые имеют тот же идентификатор маршрута и перекрытие по времени, что и добавленные маршруты, будут удалены. Если добавленный маршрут перекрывает целевой маршрут с тем же идентификатором маршрута, целевой маршрут будет удален.
  • REPLACE_BY_ROUTE_IDДобавленные маршруты будут загружены в целевую сеть LRS, и все маршруты в целевой сети LRS с тем же идентификатором маршрута, что и добавленные маршруты, будут удалены.
String

Производные выходные данные

ИмяОписаниеТип данных
out_lrs_network

Обновленный слой объектов сети LRS.

Feature Layer
out_details_file

Текстовый файл, содержащий подробную информацию об изменениях, внесенных инструментом.

Text File

Пример кода

AppendRoutes, пример 1 (окно Python)

Ниже показано, как использовать функцию AppendRoutes в окне Python для добавления маршрутов в существующую сеть LRS, заменяя те маршруты, где происходит перекрытие.

# Name: AppendRoutes_ex1.py
# Description: Append routes into an existing LRS Network, replacing those routes where an overlap occurs.
# Requires: ArcGIS Location Referencing

# Set tool variables
source_routes = r"C:\Data\UPDM.gdb\LRS\EngineeringNetwork"
in_lrs_network = r"C:\Data\NY_Data.gdb\LRS\P_Integrity\P_EngineeringNetwork"
route_id_field = "RouteId"
route_name_field = "RouteName"
from_date_field = "FromDate"
to_date_field = "ToDate"
line_id_field = "LineId"
line_name_field = "LineName"
line_order_field = "LineOrder"
field_map = None
load_type = "REPLACE_BY_ROUTE_ID"

# Execute the tool
arcpy.locref.AppendRoutes(source_routes, in_lrs_network, route_id_field, route_name_field, from_date_field, to_date_field, line_id_field, line_name_field, line_order_field, field_map, load_type)
AppendRoutes, пример 2 (автономный скрипт)

Ниже показано, как использовать функцию AppendRoutes в качестве автономного скрипта Python.

# Name: AppendRoutes_ex2.py
# Description: Append records into an existing network feature class without performing any attribute field mapping.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Local variables:
SourceRoutes = r"C:\Data\UPDM.gdb\LRS\EngineeringNetwork"
TargetNetwork = r"C:\Data\NY_Data.gdb\LRS\P_Integrity\P_EngineeringNetwork"
Route_ID = "RouteId"
Route_Name = "RouteName"
From_Date = "FromDate"
To_Date = "ToDate"
Line_ID = "LineId"
Line_Name = "LineName"
Line_Order = "LineOrder"

# Process: Append Routes
arcpy.locref.AppendRoutes(SourceRoutes, TargetNetwork, Route_ID, Route_Name, From_Date, To_Date, Line_ID, Line_Name, Line_Order, None, "ADD")

# Check in license
arcpy.CheckInExtension('LocationReferencing')
AppendRoutes, пример 3 (автономный скрипт)

Ниже показано, как использовать функцию AppendRoutes в качестве автономного скрипта Python для сети с пользовательскими идентификаторами маршрутов.

# Name: AppendRoutes_ex3.py
# Description: Append records into an existing usergenerated routeId network feature class in a stand-alone script.
# Source fields : RS and RN, Target fields : RouteSystem and RouteNumber
# Requires: ArcGIS Location Referencing 

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Local variables:
SourceRoutes = r"C:\Data\DOT.gdb\LRS\RoutestoAppend"
TargetNetwork = r"C:\Data\DOT.gdb\LRS\StateRoutes"
RouteId = "RouteId"
RouteName = ""
FromDate = "FromDate"
ToDate = "ToDate"
LineId = ""
LineName = ""
LineOrder = ""
loadtype = "ADD"

# Define field mappings object
fieldMappings = arcpy.FieldMappings()  

# Add input fields
fldmap1 = arcpy.FieldMap()
fldmap1.addInputField(SourceRoutes, "RS")

fldmap2 = arcpy.FieldMap()
fldmap2.addInputField(SourceRoutes, "RN")

# Set output fields
fld1 = fldmap1.outputField  
fld1.name = "RouteSystem"
fld1.aliasName = "RouteSystem"
fldmap1.outputField = fld1

fld2 = fldmap2.outputField  
fld2.name = "RouteNumber"
fld2.aliasName = "RouteNumber"
fldmap2.outputField = fld2

# Add output fields to field mappings object
fieldMappings.addFieldMap(fldmap1)
fieldMappings.addFieldMap(fldmap2)

# Execute: Append Routes
arcpy.locref.AppendRoutes(SourceRoutes, TargetNetwork, RouteId, RouteName, FromDate, ToDate, LineId, LineName, LineOrder, fieldMappings, loadtype)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
AppendRoutes, пример 4 (автономный скрипт)

Ниже показано, как использовать функцию AppendRoutes в качестве автономного скрипта Python в сервисе объектов.

# Name: AppendRoutes_Pro_Ex4.py
# Description: Append routes using a feature service in a standa-alone script. It is recommended to work in a version and post it into the default version.
# Requires: ArcGIS Location Referencing

# Import arcpy module.
import arcpy

# Check out any necessary licenses.
arcpy.CheckOutExtension("LocationReferencing")

# Set tool variables.
sourceroute = r"C:\LocationReferencing\LR.gdb\LRS\routes"
route_name_field = "ROUTENAME"
from_date_field = "FROMDATE"
to_date_field = "TODATE"
line_id_field = "LINEID"
line_name_field = "LINENAME"
line_order_field = "ORDERID"
field_mapping = r'CREATIONUSER "Creation User" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,CREATIONUSER,0,50;DATECREATED "Date Created" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,DATECREATED,-1,-1;DATEMODIFIED "Date Modified" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,DATEMODIFIED,-1,-1;LASTUSER "Last User" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,LASTUSER,0,50;EVENTSOURCE "Event Source" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,EVENTSOURCE,0,50;LEGACYID "Legacy ID" true true false 38 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,LEGACYID,0,38;ENGFROMM "ENGFROMM" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,ENGFROMM,-1,-1;ENGTOM "ENGTOM" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,ENGTOM,-1,-1;OBJECTSTATUS "Object Status" true true false 20 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,OBJECTSTATUS,0,20;CONTINFROMM "Continuous from Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,CONTINFROMM,-1,-1;CONTINTOM "Continuous to Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\routes,CONTINTOM,-1,-1'
load_type = "REPLACE_BY_ROUTE_ID"

## Target Route  is in feature service. Signing in portal is required to access the feature service.
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

## Map the target route network from the feature service.Here, 18 corresponds to the target route network.
targetroute_network = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18"

# Process: Append Routes.
arcpy.locref.AppendRoutes(sourceroute, targetroute_network, route_id_field, route_name_field, from_date_field, to_date_field, line_id_field, line_name_field, line_order_field, field_mapping, load_type)

# Check in licenses
arcpy.CheckInExtension('LocationReferencing')

Информация о лицензиях

  • Basic: Обязательно ArcGIS Location Referencing
  • Standard: Обязательно ArcGIS Location Referencing
  • Advanced: Обязательно ArcGIS Location Referencing

Связанные разделы