ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

マルチパッチ → COLLADA (Multipatch To Collada)

  • 概要
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

概要

1 つ以上のマルチパッチ フィーチャを出力フォルダー内の COLLADA (*.dae) ファイルと参照されているテクスチャ画像ファイルのコレクションに変換します。入力として、レイヤーまたはフィーチャクラスのいずれかを指定できます。

使用法

  • COLLADA ファイルは、3D オブジェクトの XML 表現であり、3D ジオメトリ上にドレープされたテクスチャとして機能する追加の画像ファイルの参照が可能です。そのため、マルチパッチ フィーチャを COLLADA にエクスポートすると、3D オブジェクトの XML 表現が格納されている *.dae ファイル、テクスチャが格納されている 1 つまたは複数の画像ファイル (たとえば、*.jpg ファイルや *.png ファイル) など、いくつかのファイルを作成することが可能です。

  • このツールでは、エクスポートしたマルチパッチ フィーチャごとに 1 つの COLLADA 表現が作成されます。このツールは、各フィーチャからのフィールド値 (デフォルトでは、オブジェクト ID) を使用して、出力ファイル名を定義します。このフィールド値は、どの COLLADA ファイルからどのフィーチャがエクスポートされたかを識別しやすくするうえで有効です。また、複数のフィーチャを同じディレクトリにエクスポートするときに一意の名前を定義する方法も提供します。テクスチャ ファイルは COLLADA ファイルと同じディレクトリに格納されます。エクスポート ファイルの合計サイズを最小化するには、複数の COLLADA ファイルで使用されているテクスチャ (レンガや窓が繰り返されたテクスチャなど) を一度だけエクスポートしてから、適用可能な DAE ファイルで参照します。

  • このツールでは、同じファイル名の既存の COLLADA ファイルが自動的に上書きされます。この上書きが発生した場合、エクスポート処理中に新しいファイルで上書きされたファイルを示す警告メッセージが表示されます。エクスポートに失敗したフィーチャについての GP メッセージが生成されるのは、たとえば、出力場所が読み取り専用だったりディスクの空き領域が不足していたりした場合です。

  • エクスポートされたすべてのマルチパッチ フィーチャ用に新しい COLLADA ファイルが作成されるようにするには、作成先ディレクトリを空のフォルダーつまり新しいフォルダーに設定して、フィーチャごとに一意のファイル名フィールドを選択します。属性値が同じである 2 つのフィーチャをエクスポートすると、先にエクスポートされた COLLADA ファイルが 2 番目にエクスポートされたフィーチャで上書きされます。

  • マルチパッチ フィーチャを COLLADA にエクスポートして ArcGIS 外部で変更を行って、繰り返し対話操作で更新するときは、毎回同じ場所にフィーチャをエクスポートしてください。そうすることにより、ディスク上に 3D オブジェクトの最新の状態を表す対象のフィーチャ用のファイルが 1 つだけに維持されます。

  • UTM に格納された建物など、エクスポートされたマルチパッチが投影座標系である場合、WGS84 として座標系を含む KML ファイルも出力フォルダーに作成されます。このプロセスは、測地基準系変換を使用しないことに注意してください。測地基準系変換を使用すると、KML を表示するときに位置が一致しなくなる可能性があります。

    ヒント:

    レイヤーのマルチパッチを変換する場合、[マルチパッチ → COLLADA (Multipatch To Collada)] ツールはレイヤーのレンダラーで定義された色を自動的に埋め込みます。たとえば、利用タイプ属性に基づいてレイヤーがフィーチャをレンダリングしている場合 (たとえば、商業用を赤、居住用を青など)、出力 COLLADA ファイルにはこれらの色が含まれています。表示色は、テクスチャ処理されたマルチパッチ フィーチャとテクスチャ処理されていないマルチパッチ フィーチャの両方に適用され、テクスチャ処理されたマルチパッチ フィーチャでは、フィーチャの基になるテクスチャ ファイルの更新が必要です。単一の表示色 (白) を使用すると、テクスチャ処理されたマルチパッチを画像を変更せずにエクスポートできます。

構文

arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name})
パラメーター説明データ タイプ
in_features

エクスポート対象のマルチパッチ フィーチャ。

Feature Layer
output_folder

出力 COLLADA ファイルとテクスチャ画像ファイルの格納先となるフォルダー。

Folder
prepend_source
(オプション)

出力 COLLADA ファイルのファイル名に接頭辞としてソース フィーチャ レイヤーの名前を付加します。

  • PREPEND_SOURCE_NAME —ファイル名に接頭辞を付けます。
  • PREPEND_NONE —ファイル名に接頭辞を付けません。これがデフォルトです。
Boolean
field_name
(オプション)

エクスポートされた各フィーチャに出力 COLLADA ファイル名として使用するフィーチャ属性。フィールドが指定されていない場合は、フィーチャのオブジェクト ID が使用されます。

Field

コードのサンプル

MultipatchToCollada (マルチパッチ → COLLADA) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.MultipatchToCollada_conversion("Sample.gdb/Buildings", "C:/COLLADA", 
                                   "PREPEND_SOURCE_NAME", "BldName")
MultipatchToCollada (マルチパッチ → COLLADA) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''*********************************************************************
Name: Convert Multipatch To Collada
Description: Converts multipatch features in an input workspace 
             to a Collada model.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

# Script variables
inWorkspace = arcpy.GetParameterAsText(0)

try:
    # Set environment settings
    env.workspace = inWorkspace
    # Create list of feature classes in workspace
    fcList = arcpy.ListFeatureClasses()
    # Determine if the list contained any feature classes
    if fcList:
        # Iterate through each feature class
        for fc in fcList:
            # Describe the feature class
            desc = arcpy.Describe(fc)
            # Determine if feature class is a multipatch
            if desc.shapeType is 'MultiPatch':
               # Ensure unique name for output folder
               outDir = arcpy.CreateUniqueName('collada_dir')
               # Specify that collada file is prefixed by source name
               prepend = 'PREPEND_SOURCE_NAME'
               # Specify the feature attribute used to name Collada files
               fldName = 'OID'
               #Execute MultipatchToCollada
               arcpy.MultipatchToCollada(fc, outDir, prepend, fldName)
    else:
        print 'There are no feature classes in {0}.'.format(inWorkspace)
        
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)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック

  • Collada へ変換ツールセットの概要

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル