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

概要

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

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

使用法

  • ネットワークの構築時にエラーが発生した場合、ツールは警告を表示します。これらのエラーはネットワークが意図したとおりに動作しない可能性がある潜在的な問題を示しているため、調査して対処する必要があります。

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

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

構文

arcpy.na.BuildNetwork(in_network_dataset)
パラメーター説明データ タイプ
in_network_dataset

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

Network Dataset Layer

派生した出力

名前説明データ タイプ
out_network_dataset

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

ネットワーク データセット レイヤー

コードのサンプル

BuildNetwork (ネットワークの構築) の例 1 (Python ウィンドウ)

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

network = "C:/Data/Paris.gdb"
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))

ライセンス情報

  • Basic: 次のものが必要 Network Analyst
  • Standard: 次のものが必要 Network Analyst
  • Advanced: 次のものが必要 Network Analyst

関連トピック