Присоединить события (Location Referencing)

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

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

Присоединяет записи событий из таблицы, слоя или класса объектов к имеющемуся классу объектов событий LRS.

Примечание:

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

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

  • Для запуска инструмента необходим набор данных LRS.

  • Значение параметра Входное событие может быть таблицей, слоем или классом объектов.

  • Значение параметра Целевое событие должно быть слоем или классом объектов, зарегистрированным с LRS.

  • Наборы выборки и определяющие запросы для значения параметра Целевое событие будут игнорироваться.

  • Этот инструмент поддерживает точечные и линейные объекты. Тип объекта в параметрах Входное событие и Целевое событие должен совпадать.

  • При добавлении новых событий с использованием опции Добавить для параметра Тип загрузки, если у значения Целевое событие настроено поле RouteName, события могут быть добавлены с использованием поля RouteName.

    • Если записи Входных событий содержат пустые поля RouteID и заполненные поля RouteName, события могут быть добавлены с помощью поля RouteName. RouteID затем автоматически генерируются поля для этих добавленных событий.
    • Если записи Входных событий имеют заполненные поля RouteID и RouteName, события будут добавлены с помощью поля RouteID.
  • Если параметр Построить GUID идентификаторов загруженных событий отмечен, либо не сопоставляйте поле EventID в параметре Сопоставить поле, либо убедитесь, что в поле EventID входных событий находятся значения null. Если поле EventID в исходной записи события заполнено, а параметр Построить GUID идентификаторов загруженных событий включен, значение в поле EventID записи исходного события будет загружено в целевое событие.

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

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

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

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

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

  • Калибровка маршрута на маршрутах с реальными промежутками влияет на присоединенные события следующими способами:

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

  • Вы можете использовать файл .csv в формате ASCII для присоединения событий, когда он используется вместе с файлом инициализации (schema.ini), который задает разделенные запятыми поля в файле .csv. Схема файла инициализации должна содержать следующее:

    • Имя файла .csv и формат инициализации
    • Имя и тип данных для каждого столбца
    • Максимальная ширина, использующаяся, если тип данных - текст

    В следующем примере инициализации объявляется имя файла .csv и используемый формат, имя поля и тип данных, используемый для каждого столбца (слева направо), и максимальная ширина текстовых полей:

    schema.ini
    
    [source_events.csv]
    Format=CSVDelimited
    ColNameHeader=True
    Col1=FromDate Date
    Col2=ToDate Date
    Col3=RouteID Text width 255
    Col4=RouteName Text width 255
    Col5=FromMeasure Double
    Col6=ToMeasure Double
    Col7=RdType Long
    Col8=EventID Text width 50

    Дополнительные сведения о добавлении таблицы ASCII или таблицы в текстовом файле

  • Прежние версии:

    Параметр Создать формы больше не поддерживается.

Параметры

ПодписьОписаниеТип данных
Входное событие

Исходные записи событий для присоединения.

Table View
Целевое событие

Слой событий LRS или класс объектов, к которому будут присоединены исходные записи событий.

Feature Layer
Список полей

Управляет тем, как атрибутивная информация в полях Входного события передается целевому событию.

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

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

Указывает, как присоединенные события будут загружаться в целевое событие.

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

Определяет, будут ли генерироваться ID событий для присоединяемых записей исходных событий. Генерация ID событий будет применяться только к записям исходных событий со значением null в поле Event ID.

  • Отмечено - Для присоединяемых записей исходных событий будут генерироваться ID событий.
  • Не отмечено - Для присоединяемых записей исходных событий ID событий генерироваться не будут. Это значение по умолчанию
Boolean
Создать формы
(Дополнительный)
Примечание:

Этот параметр более не поддерживается.

Boolean
Присоединить события к доминирующим маршрутам
(Дополнительный)

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

  • Отмечено - исходные записи событий будут присоединяться к доминирующим маршрутам.
  • Не отмечено - исходные записи событий будут присоединяться к маршрутам, заданным во входном наборе данных, независимо от доминирования маршрутов. Это значение по умолчанию

Этот параметр работает со всеми опциями Тип загрузки: Добавить, Исключить наложения, Исключить событие по ID и Заменить событие по ID.

Boolean

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

ПодписьОписаниеТип данных
Выходное целевое событие

Слой событий или класс объектов, к которому будут присоединены исходные записи событий.

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

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

Text File

arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, {load_type}, {generate_event_ids}, {generate_shapes}, {append_to_dominant_route})
ИмяОписаниеТип данных
in_dataset

Исходные записи событий для присоединения.

Table View
in_target_event

Слой событий LRS или класс объектов, к которому будут присоединены исходные записи событий.

Feature Layer
field_mapping

Управляет тем, как атрибутивная информация в полях Входного события передается целевому событию.

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

Для задания этого параметра можно использовать класс FieldMappings.

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

Указывает, как присоединенные события будут загружаться в целевое событие.

  • ADDЗаписи исходных событий будут присоединены к указанному целевому событию.
  • RETIRE_OVERLAPSЗаписи исходных событий будут присоединены к указанному целевому событию, а любые записи, которые имеют то же измерение или временные перекрытия, что и присоединенные события, станут устаревшими. Если присоединенное событие закрывает указанную запись целевого события, целевая запись события будет удалена. Используйте эту опцию только для линейных событий.
  • RETIRE_BY_EVENT_IDЗаписи исходных событий будут присоединены к указанному целевому событию, а любые записи, которые имеют такие же ID события и временные перекрытия, что и присоединенные события, станут устаревшими. Если присоединенное событие закрывает целевую запись события с таким же ID события, целевая запись события будет удалена.
  • REPLACE_BY_EVENT_IDЗаписи исходных событий будут присоединены к указанному целевому событию, а любые записи, которые имеют тот же ID события, что и присоединенные события, будут заменены.
String
generate_event_ids
(Дополнительный)

Определяет, будут ли генерироваться ID событий для присоединяемых записей исходных событий. Генерация ID событий будет применяться только к записям исходных событий со значением null в поле Event ID.

  • GENERATE_EVENT_IDSID событий для присоединяемых записей исходных событий будут генерироваться.
  • NO_GENERATE_EVENT_IDSID событий для присоединяемых записей исходных событий генерироваться не будут. Это значение по умолчанию
Boolean
generate_shapes
(Дополнительный)
Примечание:

Этот параметр более не поддерживается.

Boolean
append_to_dominant_route
(Дополнительный)

Задает, будут ли записи in_dataset добавляться к доминирующим маршрутам, если существует конкуренция маршрутов.

  • APPEND_TO_DOMINANT_ROUTEИсходные записи событий будут присоединяться к доминирующим маршрутам.
  • NO_APPEND_TO_DOMINANT_ROUTEИсходные записи событий будут присоединяться к маршрутам, заданным во входном наборе данных, независимо от доминирования маршрутов. Это значение по умолчанию

Этот параметр работает со всеми опциями load_type: ADD, RETIRE_OVERLAPS, RETIRE_BY_EVENT_ID и REPLACE_BY_EVENT_ID.

Boolean

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

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

Слой событий или класс объектов, к которому будут присоединены исходные записи событий.

Feature Layer
out_details_file

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

Text File

Пример кода

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

Демонстрирует использование функции AppendEvents в окне Python для присоединения записей событий в существующий класс объектов событий.

# Name: AppendEvents_ex1_pro.py
# Description: Append event records into an existing Location Referencing event feature class.
# Requires: ArcGIS Location Referencing

# Set current workspace
arcpy.env.workspace= r"C:\Pipeline.gdb"

# Set tool variables
# Source Event Table in fgdb
in_dataset = "PTMS_Add"

# Target Event Feature Class in fgdb
in_target_event = "LRSE_PTMS"

#Map fields between target and source
field_mapping = r'AADT "AADT" true true false 4 Long 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,AADT,-1,-1;YEAR_ "YEAR_" true true false 2 Short 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,YEAR_,-1,-1;Cosite "Cosite" true true false 6 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Cosite,0,6;Classd "Classd" true true false 3 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Classd,0,3;SECTION_ "SECTION_" true true false 8 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,SECTION_,0,8;COMM "COMM" true true false 254 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,COMM,0,254;Active "Active" true true false 1 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Active,0,1;Sitetype "Sitetype" true true false 11 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Sitetype,0,11;KFCTR "KFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,KFCTR,-1,-1;DFCTR "DFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,DFCTR,-1,-1;TFCTR "TFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,TFCTR,-1,-1;LOCATION "LOCATION" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,LOCATION,-1,-1;FromDate "FromDate" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,FromDate,-1,-1;ToDate "ToDate" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,ToDate,-1,-1;EventID "EventID" true true false 50 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,EventID,0,50;RouteName "RouteName" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255'

load_type = "ADD"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

append_to_dominant_route = "NO_APPEND_TO_DOMINANT_ROUTE"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route)
AppendEvents, пример 2 (автономный скрипт)

Демонстрирует использование функции AppendEvents в отдельном скрипте Python для присоединения записей событий в существующий класс объектов событий. События добавляются к доминирующим маршрутам.

# Name: AppendEvents_StandAlonePython_Example.py
# Description: Append event records into an existing event feature class.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

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

# Set tool variables
# Source Event Table in fgdb
in_dataset = r"C:\Pipeline.gdb\LRS\PTMS_Add"

# Target Event Feature Class in fgdb
in_target_event = r"C:\Pipeline.gdb\LRS\LRSE_PTMS"

#Map fields between target and source
field_mapping = r"AADT \"AADT\" true true false 4 Long 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,AADT,-1,-1;YEAR_ \"YEAR_\" true true false 2 Short 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,YEAR_,-1,-1;Cosite \"Cosite\" true true false 6 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Cosite,0,6;Classd \"Classd\" true true false 3 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Classd,0,3;SECTION_ \"SECTION_\" true true false 8 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,SECTION_,0,8;COMM \"COMM\" true true false 254 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,COMM,0,254;Active \"Active\" true true false 1 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Active,0,1;Sitetype \"Sitetype\" true true false 11 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Sitetype,0,11;KFCTR \"KFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,KFCTR,-1,-1;DFCTR \"DFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,DFCTR,-1,-1;TFCTR \"TFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,TFCTR,-1,-1;LOCATION \"LOCATION\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,LOCATION,-1,-1;FromDate \"FromDate\" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,FromDate,-1,-1;ToDate \"ToDate\" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,ToDate,-1,-1;EventID \"EventID\" true true false 50 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,EventID,0,50;RouteName \"RouteName\" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255"

load_type = "REPLACE_BY_EVENT_ID"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

append_to_dominant_route = "APPEND_TO_DOMINANT_ROUTE"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route)

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

Демонстрирует использование функции AppendEvents в отдельном скрипте Python для присоединения записей событий к сервису объектов.

# Name: AppendEvents_Pro_Ex3.py
# Description: Append events using a feature service. It is recommended to work in a version and post to the default version.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

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

# Set tool variables
in_dataset = r"C:\LocationReferencing\LR.gdb\LRS\LineEvent"
field_mapping = r'FROMDATE "From Date" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,FROMDATE,-1,-1;TODATE "To Date" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,TODATE,-1,-1;EVENTID "Event ID" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,EVENTID,0,50;ROUTEID "Route ID" true true false 255 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,ROUTEID,0,255;RouteName "RouteName" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255;FROMMEASURE "From Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,FROMMEASURE,-1,-1;TOMEASURE "To Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,TOMEASURE,-1,-1'
load_type = "ADD"
generate_event_ids = "NO_GENERATE_EVENT_IDS"
generate_shapes = "GENERATE_SHAPES"
append_to_dominant_route = "NO_APPEND_TO_DOMINANT_ROUTE"

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

# Map the target event from the feature service. In the feature service, 34 corresponds to the target event.
in_target_event = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/34"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route)

# Check in license
arcpy.CheckInExtension("LocationReferencing")

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

  • Basic: Обязательно ArcGIS Location Referencing (ArcGIS Pipeline Referencing или ArcGIS Roads and Highways)
  • Standard: Обязательно ArcGIS Location Referencing (ArcGIS Pipeline Referencing или ArcGIS Roads and Highways)
  • Advanced: Обязательно ArcGIS Location Referencing (ArcGIS Pipeline Referencing или ArcGIS Roads and Highways)

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