ネットワークの構築 (Build Network) (Network Analyst)

サマリー

ネットワークの接続性とネットワーク データセットの属性情報を再構築します。 ネットワーク データセットは、使用されているソースのフィーチャクラスの属性またはフィーチャが編集されると、再構築される必要があります。 ソース フィーチャが編集されると、ツールは構築プロセスをより高速に行うために編集された領域のみにおいてネットワークの接続性を確立します。しかし、ネットワーク属性が編集されると、ネットワーク データセットの全範囲が再構築されます。 大規模なネットワーク データセットでは、この処理に長い時間がかかります。

再構築が必要なネットワーク データセットの編集の詳細

使用法

  • ネットワークの構築時にエラーが発生した場合は、警告メッセージが表示されます。 これらのエラーは、ネットワークが意図したとおりに動作しない可能性がある潜在的な問題を示しているので、エラー内容を確認して対処します。

    ネットワーク構築エラーの詳細

  • ネットワーク データセットを構築する前に、ネットワーク データセットおよび使用しているソース フィーチャクラスの排他スキーマ ロックが必要です。 これにより、使用しているフィーチャクラスへの編集はできません。 排他スキーマ ロックが取得できない場合、エラーが発生します。

パラメーター

ラベル説明データ タイプ
入力ネットワーク データセット

構築するネットワーク データセット。

Network Dataset Layer
全体の構築の適用
(オプション)

ネットワーク全体を構築するか、ダーティ エリア内のネットワークの一部のみを構築するかを指定します。

  • オン - ネットワーク全体が構築されます。
  • オフ ‐ ネットワークで、最後に構築された後に変更された部分のみが構築されます。 これがデフォルトです。
Boolean

派生した出力

ラベル説明データ タイプ
更新された入力ネットワーク データセット

更新されたネットワーク データセット。

Network Dataset Layer

arcpy.management.BuildNetwork(in_network_dataset, {force_full_build})
名前説明データ タイプ
in_network_dataset

構築するネットワーク データセット。

Network Dataset Layer
force_full_build
(オプション)

ネットワーク全体を構築するか、ダーティ エリア内のネットワークの一部のみを構築するかを指定します。

  • FORCE_FULL_BUILDネットワーク全体が構築されます。
  • NO_FORCE_FULL_BUILDネットワークで、最後に構築された後に変更された部分のみが構築されます。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
out_network_dataset

更新されたネットワーク データセット。

Network Dataset Layer

コードのサンプル

BuildNetwork の例 1 (Python ウィンドウ)

すべてのパラメーターを使用してツールを実行します。

network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.BuildNetwork(network)
BuildNetwork の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで BuildNetwork 関数を使用する方法を示しています。

# Name: BuildNetwork_ex02.py
# Description: Build a network dataset.
# Requirements: Network Analyst Extension 

#Import system modules
import arcpy
from arcpy import env
import sys
import os
import shutil

try:
    #Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
    if arcpy.CheckExtension("network") == "Available":
        arcpy.CheckOutExtension("network")
    else:
        raise arcpy.ExecuteError("Network Analyst Extension license is not available.")
    
    #Set environment settings
    env.workspace = "C:/data/SanFrancisco.gdb"
    
    #Set local variables
    inNetworkDataset = "Transportation/Streets_ND"
    
    #Build the network dataset
    arcpy.BuildNetwork_na(inNetworkDataset)
    
    #If there are any build errors, they are recorded in a BuildErrors.txt file
    #present in the system temp directory. So copy this file to the directory
    #containing this script
    
    #First get the path to the system temp directory
    tempDir = os.environ.get("TEMP")
    if tempDir:
        shutil.copy2(os.path.join(tempDir,"BuildErrors.txt"),sys.path[0])
    
    print("Script completed successfully.")

except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print("An error occurred on line %i" % tb.tb_lineno)
    print(str(e))