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

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

ダイアグラムをフィーチャに変換 (Convert Diagram To Features)

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

概要

スケマティック ダイアグラムを標準フィーチャクラスまたはシェープファイルに変換します。

スケマティック ダイアグラムは、非表示のフィーチャクラスにすべて格納されます。これらのフィーチャクラスは Schematics に固有であり、残りのスケマティック構成テーブルおよび有効な情報を必要とします。このツールを使用することで、すべてのダイアグラムと構成が含まれるスケマティック データセット全体を提供しなくても、他のユーザーとダイアグラムを共有することができます。複数のダイアグラムを変換しようとする場合、それらをすべて同じ一連の標準フィーチャクラスまたはシェープファイルに配置するのか、あるいは各ダイアグラムに専用のフィーチャクラスまたはシェープファイルを与えるのかを選択することができます。

メモ:

スケマティック データセットまたはスケマティック フォルダーに含まれるすべてのダイアグラムを変換できるスクリプト ツール サンプルについては、「コード サンプル」のセクションをご参照ください。

使用法

  • 1 つのスケマティック ダイアグラム レイヤーを標準フィーチャクラスに変換する場合は、出力場所パラメーターに指定するジオデータベース/フィーチャ データセットを参照して選択します。スケマティック ダイアグラム レイヤーをシェープファイルに変換する場合は、フォルダーを参照して選択します。

  • 複数のダイアグラムを同じ標準フィーチャクラス/シェープファイルに変換する場合は、[既存の構成を再使用] オプションをオンにします。複数のダイアグラムを異なる標準フィーチャクラス/シェープファイルに変換する場合は、[既存の構成を再使用] オプションをオフにします。

  • 変換プロセス中に、実際のフィーチャクラスの属性をすべてスケマティック レコードに追加する場合、[すべての関連フィーチャの属性をエクスポート] オプションをオンにします。

  • [すべての関連フィーチャの属性をエクスポート] オプションは、関連フィーチャクラス/テーブルのフィールドの値が判明しているスケマティック フィーチャクラスの場合にのみ機能します。スケマティック フィーチャクラスの関連フィーチャクラス/テーブルが何も指定されていない場合、そのフィーチャクラスの関連属性フィーチャはエクスポートできません。

  • 入力スケマティック ダイアグラムに含まれているすべてのコンテナーをポリゴン フィーチャとして変換するには、[ジオメトリ コンテナー] で POLYGON を選択します。このようなコンテナーをポリライン (またはポイント) フィーチャとして変換するには、POLYLINE (またはPOINT) を選択します。

    注意:

    [既存の構成を再使用] オプションを使用する場合、最初のダイアグラムの変換でポリゴン (あるいはポリラインまたはポイント) を選択しているときに、その後の変換でポリラインまたはポイント (あるいはポリゴン) に変換内容を変更することはできません。変更したい場合は、構成を削除してからダイアグラムを再度変換する必要があります。

  • 指定した入力スケマティック ダイアグラム レイヤーが指定した出力場所にすでに変換されている場合、変換済みのものが削除されてから再作成されます。

構文

arcpy.schematics.ConvertDiagram(in_diagram, out_location, {reuse_fc}, {export_related_attributes}, {container_geometry}, {config_keyword})
パラメーター説明データ タイプ
in_diagram

変換するスケマティック ダイアグラム レイヤー。

Schematic Layer
out_location

スケマティック ダイアグラムの変換先のワークスペースまたはフィーチャ データセット。このコンテナーはすでに存在している必要があります。

Workspace;Feature Dataset
reuse_fc
(オプション)

入力スケマティック ダイアグラム レイヤーを、同じダイアグラム テンプレートに基づく他のダイアグラムと同じ標準フィーチャクラス/シェープファイルに変換するかどうかについて指定します。

  • REUSE_FC —指定したダイアグラムを、同じダイアグラム テンプレートに基づく他のダイアグラムがすでに変換されたか、これから変換される、同じ標準フィーチャクラス/シェープファイルに変換する場合、これを指定する必要があります。この場合、指定したダイアグラムの変換後の格納先は、選択した出力場所に応じて以下のようになります。
    • ダイアグラム テンプレート名に対応する名前のフィーチャ データセットおよびスケマティック フィーチャクラス名に対応する名前の各フィーチャクラス。
    • ダイアグラム テンプレート名に対応する名前のフォルダーおよびスケマティック フィーチャクラス名に対応する名前の各シェープファイル。
    これがデフォルトです。
  • NO_REUSE_FC —入力ダイアグラムを変換して、新しいフィーチャ データセット/フォルダーに格納します。このダイアグラム名は入力ダイアグラムのダイアグラム テンプレート名とダイアグラム名を組み合わせた名前に、各フィーチャクラス/シェープファイルはスケマティック フィーチャクラス名とダイアグラム名を組み合わせた名前になります。
Boolean
export_related_attributes
(オプション)

スケマティック フィーチャクラスに関連付けられた実際のフィーチャクラス/オブジェクト テーブルに格納されているすべての属性を一緒に変換するかどうかを指定します。

  • NO_RELATED_ATTRIBUTES —入力ダイアグラムに含まれている各スケマティック フィーチャと、そのスケマティック フィーチャクラスに含まれている属性のみが変換されます。これがデフォルトです。
  • EXPORT_RELATED_ATTRIBUTES —入力ダイアグラムに含まれている各スケマティック フィーチャ、そのスケマティック フィーチャクラスに含まれている属性、および実際の関連フィーチャに関連するすべての属性が変換されます。
メモ:

スケマティック フィーチャクラスの関連フィーチャクラス/テーブルが何も指定されていない場合、フィーチャの属性は変換できません。

メモ:

[REUSE_FC] と [EXPORT_RELATED_ATTRIBUTES] を使用する場合、関連属性を変換するには、関連するフィーチャ フィールドを含む構成がすでに存在している必要があります。

Boolean
container_geometry
(オプション)

入力ダイアグラムに含まれている変換対象のスケマティック コンテナーに対して作成するフィーチャのジオメトリ タイプを指定します。

  • POLYGON —入力ダイアグラム内の各コンテナーがポリゴン フィーチャとして変換されます。これがデフォルトです。
  • POLYLINE —入力ダイアグラム内の各コンテナーがポリライン フィーチャとして変換されます。
  • POINT —入力ダイアグラム内の各コンテナーがポイント フィーチャとして変換されます。
メモ:

[既存の構成を再使用] オプションを使用する場合、既存の構成でコンテナー スケマティック フィーチャに対してポリゴン (あるいはポリラインまたはポイント) フィーチャクラスが作成されているときに、その後の変換で、ポリラインまたはポイント (あるいはポリゴン) にフィーチャクラス タイプを変更することはできません。

String
config_keyword
(オプション)

リレーショナル データベース管理システム (RDBMS) 内のテーブルの格納パラメーターを決定する構成キーワード。これは、エンタープライズ、ワークグループ、またはデスクトップ ジオデータベース 専用です。

String

コードのサンプル

ConvertDiagram の例 (スクリプト ツール)

次のスクリプトは、スクリプト ツールで ConvertDiagram 関数を使用する方法を示しています。このスクリプト ツールでは、入力スケマティック コンテナー (スケマティック データセットまたはスケマティック フォルダー) に含まれているすべてのダイアグラムに対してループ処理を行い、各ダイアグラムを出力場所にある標準フィーチャまたはシェープファイルに変換します。このスクリプト ツールの作成方法および構成方法を以下に示します。

  1. 下記のスクリプトを任意のテキスト エディターにコピーし、拡張子「.py」を付けてテキスト ファイルを保存します。
  2. ArcCatalog を起動して ArcToolbox ウィンドウを開きます。
  3. 新しいスクリプトを次のように追加します。
    • スクリプト名を入力します (ConvertDiagramsTool など)。
    • [スクリプト ファイル] パラメーターに、作成した *.py ファイルを指定します。
    • その後、次の 5 つのパラメーターを指定します。
      1. [表示名]: 入力スケマティック コンテナー、[データ タイプ]: スケマティック データセットまたはスケマティック フォルダー。[タイプ] プロパティ = 必須、[方向] プロパティ = 入力
      2. [表示名]: 出力場所、[データ タイプ]: ワークスペースまたはフィーチャ データセット。[タイプ] プロパティ = 必須、[方向] プロパティ = 入力
      3. [表示名]: 再帰、[データ タイプ]: ブール型。[タイプ] プロパティ = 必須、[方向] プロパティ = 入力、[デフォルト値] = True
      4. [表示名]: ダイアグラム クラス フィルター、[データ タイプ]: 文字列。[タイプ] プロパティ = オプション、[方向] プロパティ = 入力
      5. [表示名]: 派生した出力場所、[データ タイプ]: ワークスペースまたはフィーチャ データセット。[タイプ] プロパティ = 派生、[方向] プロパティ = 出力、[取得元] = Output_Location
必須入力パラメーター: 入力スケマティック コンテナー (データセットまたはフォルダー) + 出力場所 (GDB、フィーチャ データセット、またはシェープファイルのフォルダー)オプションの引数: 再帰フラグ + ダイアグラム クラス フィルター 出力派生場所: ワークスペースまたはフィーチャ データセット

# Name: ConvertDiagrams.py
# Description: Convert schematic diagrams
# Requirement: ArcGIS Schematics extension
# import arcpy, sys, math
import arcpy, sys, math
msgInputsErr = "Invalid arguments."
msgParseErr = "Cannot parse input arguments."
msgConvertErr = "Error during conversion."
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
# Recursively searches for schematic diagrams in the folders
def RecursiveSearch(inCont, bRecursive):
    try:
        childs = inCont.Children
        dataset = None
        for dataset in childs:
            if dataset.DataType == "SchematicFolder" and bRecursive:
                RecursiveSearch(dataset, bRecursive)
            elif dataset.DataType == "SchematicDiagram":
                if diagramClassFilter == "" or diagramClassFilter == dataset.DiagramClassname:
                    pathList.append(dataset.CatalogPath)
    except:
        raise
    
try:
# Checks out the ArcGIS Schematics extension license    
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
except Exception as exc:
    print exc
    raise
arcpy.env.overwriteOutput = True
# Decodes parameters
try:
    inputContainer = arcpy.GetParameterAsText(0)
    outputLocation = arcpy.GetParameterAsText(1)
    recursive = arcpy.GetParameterAsText(2)
    if recursive == "false":
        recursive = None
    diagramClassFilter = arcpy.GetParameterAsText(3)
    
    if inputContainer == "":
        raise Exception()
    
except:
    print msgParseErr
    arcpy.AddError(msgParseErr)
    raise
# Main code
try:
    pathList = []   # List for diagram names to convert
    arcpy.SetProgressorLabel("Searching diagrams to convert...")
    RecursiveSearch(arcpy.Describe(inputContainer), recursive)
    arcpy.SetProgressor("step", "Converting...", 0, len(pathList), 1)
    for path in pathList:
        # Execute convert
        mes = "Converting Schematic Diagram : " + path
        # Set the progressor label
        arcpy.SetProgressorLabel(mes)
        arcpy.AddMessage(mes)
        arcpy.ConvertDiagram_schematics(path, outputLocation, "REUSE_FC", "NO_RELATED_ATTRIBUTES", "#")
        arcpy.SetProgressorPosition()
    # Returns the ArcGIS Schematics extension licence
    arcpy.CheckInExtension("Schematics")
except:
    arcpy.AddError(msgConvertErr)
    raise

環境

  • 出力データのコンフィグレーション キーワード

ライセンス情報

  • Basic: 次のものが必要 スケマティクス
  • Standard: 次のものが必要 スケマティクス
  • Advanced: 次のものが必要 スケマティクス

関連トピック

  • スケマティック ツールボックスの概要
  • ダイアグラムの更新 (Update Diagram)
  • ダイアグラム (複数) の更新 (Update Diagrams)
  • スケマティック フォルダーの作成 (Create Schematic Folder)
  • ダイアグラムの作成 (Create Diagram)
  • ダイアグラムをフィーチャに変換 (Convert Diagram To Features) (Schematics) の詳細

ArcGIS Desktop

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

ArcGIS

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

Esri について

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