イベントのアペンド (Append Events) (Location Referencing)

Location Referencing ライセンスで利用可能です。

サマリー

テーブル、レイヤー、またはフィーチャクラスから既存の LRS イベント フィーチャクラスにイベント レコードを付加します。

注意:

ターゲット レイヤーがフィーチャ サービス レイヤーの場合は、検証結果が ArcGIS Server ディレクトリ内のファイルに書き込まれます。 このファイルはデフォルトで 10 分後に自動的にクリーン アップされますが、この時間は、すべての検証を処理し、ArcGIS Pro を実行しているワークステーションにこれらの検証を書き込むには十分でない場合があります。 大きいデータ ロードについては、ファイルの最大保存期間を少なくとも 1 時間に調整することをおすすめします。 この設定を調整するには、ArcGIS Server Manager でサーバー ディレクトリを編集します。

使用法

  • このツールの実行には、LRS データセットが必要です。

  • [入力イベント] パラメーターの値として、テーブル、レイヤー、またはフィーチャクラスを使用できます。

  • [ターゲット イベント] パラメーターの値は、LRS に登録されているレイヤーまたはフィーチャクラスにする必要があります。

  • [ターゲット イベント] パラメーター値の選択セットと定義クエリーは無視されます。

  • このツールではポイント フィーチャとライン フィーチャがサポートされます。 [入力イベント] パラメーターと [ターゲット イベント] パラメーターのフィーチャ タイプが一致していなければなりません。

  • [読み込みタイプ] パラメーターのオプションとして [追加] を使用して新しいイベントを付加する際に、[ターゲット イベント] 値で RouteName フィールドが構成されている場合、RouteName フィールドを使用してイベントを付加できます。

    • [入力イベント] レコードの RouteID フィールドは NULL であるが RouteName フィールドには値が含まれている場合、RouteName フィールドを使用してイベントを付加できます。 RouteID その後、これらの付加されたイベントにフィールドが自動的に生成されます。
    • [入力イベント] レコードの RouteID フィールドと RouteName フィールドの両方に値が含まれている場合、RouteID フィールドを使用してイベントが付加されます。
  • [読み込まれたイベントのイベント ID GUID の生成] パラメーターがオンの場合、[フィールド マップ] パラメーターで EventID フィールドをマッピングしないようにするか、入力イベントの EventID フィールドに NULL 値が含まれていることを確認してください。 ソース イベント レコードの EventID フィールドが取り込まれた際に、[読み込まれたイベントのイベント ID GUID の生成] パラメーターがオンになっていると、ソース イベント レコードの EventID フィールドの値がターゲット イベントに読み込まれます。

  • [主要ルートへのイベントの付加] パラメーターがオンになっているときに、ルート並行性が存在する場合、[入力イベント] パラメーター値からのレコードは主要ルートに付加されます。 ルート上に複数の並行性が存在する場合、[入力イベント] のレコードが分割され、並行ルートの各セクションの主要ルートに付加されます。 ルートの並行性が存在しない場合、[入力イベント] パラメーター値からのレコードは、入力データセットで指定されているルートに引き続き付加されます。

    • このツールでは、入力データセットで指定されているルートとは異なる、主要ルートに付加されたイベント レコードのテキスト ファイルが返されます。

  • このツールは競合の回避をサポートしており、ロックの取得と転送を試行します。

  • 競合の防止を有効にした場合は、次の処理が実行されます。

    • イベント ロックが利用可能な場合に、付加する必要があるイベントでイベント ロックが自動的に取得されます。 ロックを取得できない場合は、このツールを実行すると、エラーが返され、問題となっているロックのテキスト ファイルが示されます。
    • [主要ルートへのイベントの付加] パラメーターがオンになっている場合、イベントが付加される最も主要なルートであるターゲット ルートに対するイベント ロックのみがチェックされます。 ターゲット ルートに対するロックを取得できない場合は、このツールを実行すると、エラーが返され、問題となっているロックのテキスト ファイルが示されます。
    • デフォルト バージョンで作業している場合は、このツールの実行が完了した時点で、取得されたロックが自動的に解除されます。
    • 名前付きバージョンで作業している場合は、このツールの実行が完了した時点で、取得されたロックがポスト ステータスのまま維持されます。 ロックを解除するには、バージョンをポストまたは削除する必要があります。
    • 名前付きバージョンで作業している場合に、このツールのプロセスが取り消されると、取得されたロックは解除可能ステータスのまま維持されます。

  • 物理的にギャップのあるルートに対してルート キャリブレーションを実行すると、付加されたイベントが次の影響を受けます。

    • ギャップ間のルート キャリブレーションの差異がゼロでない場合は、付加されたイベントが各ギャップで分割されます。
    • ギャップ間のルート キャリブレーションの差異がゼロの場合は、付加されたイベントがマルチパート イベントになります。

  • ASCII 形式の .csv ファイルを、その .csv ファイル内のカンマ区切りフィールドを定義する初期化ファイル (schema.ini) と組み合わせて使用すると、イベントを付加することができます。 スキーマ初期化ファイルには、次のデータを入力する必要があります。

    • 初期化する .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
読み込まれたイベントのイベント ID GUID の生成
(オプション)

付加されるソース イベント レコードのイベント ID を生成するかどうかを指定します。 イベント ID の生成は、Event ID フィールドの値が NULL であるソース イベント レコードにのみ適用されます。

  • オン - 付加されるソース イベント レコードのイベント 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 の生成は、Event ID フィールドの値が NULL であるソース イベント レコードにのみ適用されます。

  • GENERATE_EVENT_IDS付加されるソース イベント レコードのイベント ID が生成されます。
  • NO_GENERATE_EVENT_IDS付加されるソース イベント レコードのイベント ID が生成されません。 これがデフォルトです。
Boolean
generate_shapes
(オプション)
注意:

このパラメーターは、サポートされていません。

Boolean
append_to_dominant_route
(オプション)

ルートの並行性が存在する場合に主要ルートに in_dataset レコードを付加するかどうかを指定します。

  • APPEND_TO_DOMINANT_ROUTE主要ルートにソース イベント レコードが付加されます。
  • NO_APPEND_TO_DOMINANT_ROUTEルートの優位性にかかわらず、入力データセットで指定されているルートにソース イベント レコードが付加されます。 これがデフォルトです。

このパラメーターは load_type のすべてのオプションで使用できます (ADDRETIRE_OVERLAPSRETIRE_BY_EVENT_IDREPLACE_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)

関連トピック