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

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

サマリー

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

注意:

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

使用法

  • このツールの実行には、LRS データセットが必要です。 LRS データセットを追加するには、キャリブレーション ポイント、中心線、およびレッドライン レイヤーをフィーチャ データセットに追加した後、ジオデータベースを入力データにして [LRS の変更 (Modify 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 またはテキスト ファイル テーブルの追加の詳細

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

    ArcGIS Pipeline Referencing での競合の回避または ArcGIS Roads and Highways での競合の回避の詳細をご参照ください。

パラメーター

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

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

Table View
ターゲット イベント

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

Feature Layer
フィールド マップ

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

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

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

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

  • 追加[入力イベント] レコードが [ターゲット イベント] パラメーター値に追加されます。 [ターゲット イベント] レコードには何も変更が加えられません。
  • オーバーラップの破棄[入力イベント] レコードが [ターゲット イベント] パラメーター値に追加され、[ターゲット イベント] パラメーター値のレコードのうち、追加されたイベントと同じメジャーまたは一時性のオーバーラップがあるレコードがすべて破棄されます。 追加されたイベントが [ターゲット イベント] パラメーター値に優先する場合は、[ターゲット イベント] パラメーター値が削除されます。 このオプションは、リニア イベントにのみ使用する必要があります。
  • イベント 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 レコードが in_target_event パラメーター値に追加されます。 in_target_event レコードには何も変更が加えられません。
  • RETIRE_OVERLAPSin_dataset レコードが in_target_event パラメーター値に追加され、in_target_event パラメーター値のレコードのうち、追加されたイベントと同じメジャーまたは一時性のオーバーラップがあるレコードがすべて破棄されます。 追加されたイベントが in_target_event パラメーター値に優先する場合は、in_target_event パラメーター値が削除されます。 このオプションは、リニア イベントにのみ使用する必要があります。
  • RETIRE_BY_EVENT_IDin_dataset レコードが in_target_event パラメーター値に追加され、in_target_event パラメーター値のレコードのうち、イベント ID および一時性のオーバーラップが追加されたイベントと同じであるレコードがすべて破棄されます。 追加されたイベントが同じイベント ID を持つ in_target_event パラメーター値に優先する場合は、in_target_event パラメーター値が削除されます。
  • REPLACE_BY_EVENT_IDin_dataset レコードが in_target_event パラメーター値に追加され、in_target_event パラメーター値のレコードのうち、追加されたイベントと同じイベント 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

# Import arcpy module
import arcpy

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

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

# Check in license
arcpy.CheckInExtension('LocationReferencing')
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
  • Standard: 次のものが必要 ArcGIS Location Referencing
  • Advanced: 次のものが必要 ArcGIS Location Referencing

関連トピック