3D Analyst のライセンスで利用可能。
サマリー
このツールは、1 つ以上の TIN (Triangulated Irregular Network) サーフェスを LandXML ファイルから出力 Esri TIN にインポートします。
使用法
LandXML ファイルを選択したら、パラメーターをインポートするための TIN に、LandXML ファイルで見つかったすべての TIN サーフェスが設定されます。LandXML ファイルからの制限付きドローネ TIN が、制限付きドローネ TIN として作成されます。
スクリプトを作成する際、tinnames パラメーター内部の名前は、使いやすいように短い形式 (数字のみまたは名前のみ) で指定できます。 "1. Site0445; 2. <unnamed>; 3. <unnamed>; 4. Site_09" の代わりに、"1;2;3;4" または "Site0445; Site_09;2;3" を指定できます。TIN は一意に識別される必要があるため、<unnamed> キーワードを単独で使用することはできません。
構文
LandXMLToTin_3d (in_landxml_path, out_tin_folder, tin_basename, {tinnames})
パラメーター | 説明 | データ タイプ |
in_landxml_path | 入力 LandXML ファイル。 | File |
out_tin_folder | 出力 TIN を作成するフォルダー。 | Folder |
tin_basename | 生成される TIN のベース名。複数の TIN を LandXML ファイルからエクスポートする場合、ベース名を使用して、各出力 TIN に一意の名前が定義されます。<basename> がすでに存在している場合、何も書き込まれません。<basename> が存在しないが、<basename>2 が存在する場合、ツールによって <basename>2 の代わりに、<basename> および <basename>2_1 が生成されます。 | String |
tinnames [name,...] (オプション) | Esri TIN にエクスポートされる 1 つ以上の LandXML TIN サーフェス。各 LandXML TIN は、LandXML ファイル内で、名前またはそのインデックス位置で指定できます。数値 1 は、最初の TIN を、2 は 2 番目の TIN を表します。 | String |
コードのサンプル
LandXMLToTin (LandXML → TIN) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.LandXMLToTin_3d("surfaces.xml", "TINs", "_", "1;2")
LandXMLToTin (LandXML → TIN) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: LandXMLToTin Example
Description: This script demonstrates how to use the
ListFiles method to collect all LandXML (*.xml) files in a
workspace as input for the Import3DFiles tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Use ListFiles method to grab all xml files (assumedly LandXML files)
landList = arcpy.ListFiles("*.xml")
if landList:
for landFile in landList:
# Set Local Variables
outputFolder = "TINs" # The folder that the TINs will be created in
outputBase = "Madagascar_" # Base name will be applied to all output TINs
grab = "1" # TIN selection can be chosen by enumerated values (e.g. 1;2)
# Execute Import3DFiles
arcpy.LandXMLToTin_3d(landFile, outputFolder, outputBase, grab)
print "Completed creating TIN(s) from {0}.".format(landFile)
else:
"There are no xml files in {0}.".format(env.workspace)
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst