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

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

サマリー

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

注意:

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

使用法

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

    詳細については、「ArcGIS Pipeline Referencing での LRS データセットの作成」か「ArcGIS Roads and Highways での LRS データセットの作成」をご参照ください。

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

    ArcGIS Pipeline Referencing イベント データ モデルに必要なフィールドの詳細

    Roads and Highways イベント データ モデルに必要なフィールドの詳細

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

  • このツールでは、ポイント フィーチャとポリライン フィーチャがサポートされています。 入力イベント パラメーターとターゲット イベント パラメーターのフィーチャ タイプは同じにする必要があります。

  • [読み込まれたイベントのイベント ID GUID の生成] パラメーターがオンの場合に、GUID を生成するには、フィールド マッピング セクション内の EventID フィールドをマッピングしないか、ソース イベント データの EventID 列に値が NULL のレコードを挿入してください。 ソース イベント レコードの EventID フィールドが取り込まれた際に、[読み込まれたイベントのイベント ID GUID の生成] パラメーターがオンになっていると、ソース イベント レコードの EventID フィールドの値がターゲット イベントに読み込まれます。

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

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

    • イベント ロックが利用可能な場合に、追加する必要のあるイベントでイベント ロックが自動的に取得されます。 ロックを取得できない場合は、このツールを実行すると、エラーが返され、問題となっているロックのテキスト ファイルが提示されます。
    • デフォルト バージョンで作業している場合は、このツールの実行が完了した時点で、取得されたロックが自動的に解除されます。
    • 子バージョンで作業している場合は、このツールの実行が完了した時点で、取得されたロックがポスト ステータスのまま維持されます。 ロックを解除するには、バージョンをポストまたは削除する必要があります。
    • 子バージョンで作業している場合に、中断によってこのツールの処理が取り消されると、ロックが取得され、解除可能なステータスのまま維持されます。

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

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

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

    • 初期化する .csv ファイルの名前と形式
    • CSV 列ごとの名前とデータ タイプ
    • データ タイプがテキストの場合に使用する最大幅

    次の初期化例では、使用する .csv ファイルの名前と形式、CSV 列ごとに使用するフィールド名とデータ タイプ (左から右)、テキスト フィールドの最大幅が宣言されています。

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

    ASCII またはテキスト ファイル テーブルの追加の詳細

パラメーター

ラベル説明データ タイプ
入力イベント

追加するソース イベント レコード

Table View
ターゲット イベント

ソース イベント レコードが追加される Location Referencing イベント レイヤーまたはフィーチャクラス

Feature Layer
フィールド マップ

[入力イベント] パラメーター値のフィールド内の属性情報を [ターゲット イベント] パラメーター値に転送する方法を制御します。

[入力イベント] パラメーター値は、スキーマ (フィールド定義) があらかじめ定義されている既存のイベントに追加されるため、フィールドをターゲット データセットに追加したり、ターゲット データセットから削除したりすることはできません。 出力フィールドごとにマージ ルールを設定することもできますが、設定したルールはこのツールで無視されます。

Field Mappings
読み込みタイプ
(オプション)

追加されたイベントがターゲット イベント フィーチャクラスに読み込まれる方法を指定します。

  • 追加[入力イベント] レコードが、指定されたターゲット イベント フィーチャクラスに追加されます。
  • オーバーラップの破棄[入力イベント] レコードが指定されたターゲット イベント フィーチャクラスに追加され、追加されたイベントと同じメジャーまたは一時性のオーバーラップがあるレコードがすべて破棄されます。 追加されたイベントが指定されたターゲット イベント フィーチャと重複する場合は、ターゲット イベント レコードは削除されます。 このオプションは、リニア イベントにのみ使用します。
  • イベント ID による破棄[入力イベント] レコードが指定されたターゲット イベント フィーチャクラスに追加され、追加されたイベントと同じイベント ID または一時性のオーバーラップがあるレコードがすべて破棄されます。 追加されたイベントが同じイベント ID を持つターゲット イベント レコードと重複する場合は、ターゲット イベント レコードは削除されます。
  • イベント ID による置換[入力イベント] レコードが指定されたターゲット イベント フィーチャクラスに追加され、追加されたイベントと同じイベント ID があるレコードがすべて破棄されます。
String
読み込まれたイベントのイベント ID GUID の生成
(オプション)

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

  • オン - 追加される [入力イベント] レコードのイベント ID が生成されます。
  • オフ - 追加される [入力イベント] レコードのイベント ID が生成されません。 これがデフォルトです。
Boolean
シェープの生成
(オプション)

追加されるレコードの形状を再生成するかどうかを指定します。 このパラメーターは、[入力イベント] の値がフィーチャ レイヤーまたはフィーチャクラスの場合にのみ有効になります。

  • オン - 入力イベント フィーチャの形状が再生成されます。 これがデフォルトです。
  • オフ - 入力イベント フィーチャの形状が再生成されません。
Boolean

派生した出力

ラベル説明データ タイプ
出力ターゲット イベント

ソース イベント レコードが追加されているイベント レイヤーまたはフィーチャクラス

Feature Layer
出力結果ファイル

このツールで変更された内容が詳しく記述されたテキスト ファイル。

Text File

arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, {load_type}, {generate_event_ids}, {generate_shapes})
名前説明データ タイプ
in_dataset

追加するソース イベント レコード

Table View
in_target_event

ソース イベント レコードが追加される Location Referencing イベント レイヤーまたはフィーチャクラス

Feature Layer
field_mapping

in_dataset のフィールド内の属性情報を in_target_event に転送する方法を制御します。

in_dataset パラメーター値は、スキーマ (フィールド定義) があらかじめ定義されている既存のイベントに追加されるため、フィールドをターゲット データセットに追加したり、ターゲット データセットから削除したりすることはできません。 出力フィールドごとにマージ ルールを設定することもできますが、設定したルールはこのツールで無視されます。

このパラメーターを定義するには、FieldMappings クラスを使用します。

Field Mappings
load_type
(オプション)

追加されたイベントのうち、メジャーまたは一時性のオーバーラップがあり、in_target_event レコードと同じイベント ID を持つイベントをイベント フィーチャクラスに読み込む方法を指定します。

  • ADDin_dataset レコードが、指定されたターゲット イベント フィーチャクラスに追加されます。 ターゲット イベント レコードには何も変更が加えられません。
  • RETIRE_OVERLAPSin_dataset レコードが指定されたターゲット イベント フィーチャクラスに追加され、追加されたイベントと同じメジャーまたは一時性のオーバーラップがあるレコードがすべて破棄されます。 追加されたイベントが指定されたターゲット イベント フィーチャと重複する場合は、ターゲット イベント レコードは削除されます。 このオプションは、リニア イベントにのみ使用します。
  • RETIRE_BY_EVENT_IDin_dataset レコードが指定されたターゲット イベント フィーチャクラスに追加され、追加されたイベントと同じイベント ID または一時性のオーバーラップがあるレコードがすべて破棄されます。 追加されたイベントが同じイベント ID を持つターゲット イベント レコードと重複する場合は、ターゲット イベント レコードは削除されます。
  • REPLACE_BY_EVENT_IDin_dataset レコードが指定されたターゲット イベント フィーチャクラスに追加され、追加されたイベントと同じイベント ID があるレコードがすべて破棄されます。
String
generate_event_ids
(オプション)

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

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

追加されるレコードの形状を再生成するかどうかを指定します。 このパラメーターは、in_dataset 値がフィーチャ レイヤーまたはフィーチャクラスの場合にのみ有効になります。

  • GENERATE_SHAPES入力イベント フィーチャの形状が再生成されます。 これがデフォルトです。
  • NO_SHAPES入力イベント フィーチャの形状が再生成されません。
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'

load_type = "Add"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, generate_shapes)
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 b/w 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"

load_type = "REPLACE_BY_EVENT_ID"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

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

# 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
sourceevent = 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;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"

# 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.
targetevent = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/34"

# Execute the tool
arcpy.locref.AppendEvents(sourceevent, targetevent, field_mapping, load_type, generate_event_ids, generate_shapes)

# 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)

関連トピック