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

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

ドメインの作成 (Create Domain)

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

概要

指定のワークスペースで属性ドメインを作成します。

使用法

  • ドメイン管理は次の手順で行います。

    1. このツールでドメインを作成します。
    2. [ドメインにコード値を追加 (Add Coded Value To Domain)] ツールまたは [範囲ドメインの値を設定 (Set Value For Range Domain)] ツールを使用して、値をドメインに追加するか、ドメインの値の範囲を設定します。
    3. [フィールドへのドメインの割り当て (Assign Domain To Field)] ツールを使って、ドメインをフィーチャクラスに関連付けます。
  • コード値ドメインでは、デフォルト値および複製のスプリット ポリシーとデフォルト値のマージ ポリシーのみがサポートされます。

  • 範囲ドメインでは、すべてのスプリット ポリシーとマージ ポリシーがサポートされます。スプリットまたはマージ操作後、入力フィーチャの数値と指定のスプリットまたはマージ ポリシーに基づいて出力フィーチャの属性値が計算されます。

  • ワークスペース ドメインは、ArcCatalog またはカタログ ウィンドウでも管理できます。[データベース プロパティ] ダイアログ ボックスの [ドメイン] タブを使用して、ドメインを作成および変更できます。

構文

arcpy.management.CreateDomain(in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
パラメーター説明データ タイプ
in_workspace

新しいドメインが格納されるジオデータベース。

Workspace
domain_name

作成されるドメインの名前。

String
domain_description
(オプション)

作成されるドメインの説明。

String
field_type
(オプション)

作成する属性ドメインのタイプ。属性ドメインとは、フィールド タイプの適正な値を規定するルールです。属性ドメインの割当先となるフィールドのデータ タイプに一致するフィールド タイプを指定します。

  • SHORT —小数値を含まない特定の範囲内の数値、コード値。これがデフォルト値です。
  • LONG —小数値を含まない特定の範囲内の数値
  • FLOAT —小数値を含む特定の範囲内の数値
  • DOUBLE —小数値を含む特定の範囲内の数値
  • TEXT —名前または他のテキスト品質。
  • DATE —日付と時刻
String
domain_type
(オプション)

作成するドメイン タイプ。

  • CODED —属性に対して一連の有効な値を指定します。たとえば、コード値ドメインによって、CL (鋳鉄パイプ)、DL (ダクタイル鋳鉄パイプ)、ACP (石綿コンクリート パイプ) など、有効なパイプ材の値を指定できます。これがデフォルト値です。
  • RANGE —数値属性に対して有効な値の範囲を指定します。たとえば、配水管の水圧が 50 ~ 75 psi である場合は、範囲ドメインによってこれらの最小値と最大値を指定できます。
String
split_policy
(オプション)

作成されたドメインのスプリット ポリシー。フィーチャを分割するときの属性値の振舞いは、属性のスプリット ポリシーによって制御されます。

  • DEFAULT —分割後の 2 つのフィーチャの属性には、該当するフィーチャクラスまたはサブタイプの属性のデフォルト値が適用されます。
  • DUPLICATE —分割後の 2 つのフィーチャの属性には、元の属性値のコピーが適用されます。
  • GEOMETRY_RATIO —分割後の 2 つのフィーチャの属性には、元のフィーチャの値の比率が適用されます。この比率は、元のジオメトリの分割時に使用した比率に基づいています。ジオメトリを均等に分割した場合、それぞれの新規フィーチャの属性には、元のオブジェクトの属性の 2 分の 1 の値が割り当てられます。ジオメトリ比率ポリシーは範囲ドメインにのみ適用されます。
String
merge_policy
(オプション)

作成されたドメインのマージ ポリシー。2 つのフィーチャを 1 つのフィーチャにマージする際には、マージ ポリシーが新規フィーチャの属性値を制御します。

  • DEFAULT —マージ後のフィーチャの属性には、該当するフィーチャクラスまたはサブタイプの属性のデフォルト値が適用されます。非数値フィールドおよびコード値ドメインには、このマージ ポリシー以外は適用できません。
  • SUM_VALUES —マージ後のフィーチャの属性には、元のフィーチャの属性の合計値が適用されます。合計値ポリシーは範囲ドメインにのみ適用されます。
  • AREA_WEIGHTED —マージ後のフィーチャの属性には、元のフィーチャの属性値の加重平均値が適用されます。この平均値は、元のフィーチャのジオメトリに基づいています。加重平均値ポリシーは範囲ドメインにのみ適用されます。
String

コードのサンプル

Create Domain (ドメインの作成) の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで DeleteCodedValueFromDomain (ドメインからコード値を削除) 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CreateDomain_management("montgomery.gdb", "Materials", "Valid pipe materials", "TEXT", "CODED")
Create Domain (ドメインの作成) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトでは、ワークフローの一部として CreateDomain (ドメインの作成) 関数を使って属性ドメインを作成し、値をそのドメインに割り当て、ドメインをフィーチャクラスのフィールドに割り当てます。

# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
 
#Import system modules
import arcpy
 
try:
    # Set the workspace (to avoid having to type in the full path to the data every time)
    arcpy.env.workspace = "C:/data"
 
    # Set local parameters
    domName = "Material4"
    gdb = "montgomery.gdb"
    inFeatures = "Montgomery.gdb/Water/Distribmains"
    inField = "Material"
 
    # Process: Create the coded value domain
    arcpy.CreateDomain_management("montgomery.gdb", domName, "Valid pipe materials", "TEXT", "CODED")
    
    #Store all the domain values in a dictionary with the domain code as the "key" and the 
    #domain description as the "value" (domDict[code])
    domDict = {"CI":"Cast iron", "DI": "Ductile iron", "PVC": "PVC", \
                "ACP": "Asbestos concrete", "COP": "Copper"}
    
    # Process: Add valid material types to the domain
    #use a for loop to cycle through all the domain codes in the dictionary
    for code in domDict:        
        arcpy.AddCodedValueToDomain_management(gdb, domName, code, domDict[code])
    
    # Process: Constrain the material value of distribution mains
    arcpy.AssignDomainToField_management(inFeatures, inField, domName)
 
except Exception as err:
    print(err.args[0])

環境

  • 自動コミット
  • 現在のワークスペース

ライセンス情報

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

関連トピック

  • ドメイン ツールセットの概要
  • サブタイプの概要
  • 属性ドメインの概要
  • ジオプロセシングでの属性ドメインの注意事項

ArcGIS Desktop

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

ArcGIS

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

Esri について

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