ジオデータベースからデータを抽出 (Extract Data From Geodatabase) (データ管理)

サマリー

あるジオデータベースから別のジオデータベースまたは .xml ファイルにデータのサブセットを抽出します。

ジオデータベースからデータを抽出ツールの詳細

使用法

  • このツールは、あるジオデータベースから別のジオデータベースにデータをコピーする機能に似た機能を提供しますが、範囲環境を設定する ([ジオメトリ フィーチャを使用した抽出] パラメーター値を指定するか選択を使用する) ことでデータのサブセットのコピーをサポートしています。 スキーマとデータ、またはスキーマのみを抽出することもできます。

  • このツールは、出力座標系環境を使用して、指定された空間参照のスキーマのみ抽出することもできます。 目的の空間参照でスキーマを取得したら、[スキーマの再使用] パラメーターの [再使用] オプションを使用して、データを新しいスキーマに抽出できます。

    注意:

    出力座標系環境は、次のシナリオでは無視されます。

    • [抽出] パラメーターが [データ] に設定されている。
    • [出力タイプ] パラメーターが [XML ファイル] に設定されている。

パラメーター

ラベル説明データ タイプ
抽出するデータセット

抽出されるデータ。

Table View; Dataset
抽出
(オプション)

データのスキーマと行を抽出するか、スキーマのみを抽出するかを指定します。

  • データスキーマと行が抽出されます。 これがデフォルトです。
  • スキーマのみスキーマのみが抽出されます。
String
出力タイプ
(オプション)

データの抽出先の出力タイプを指定します。

  • ジオデータベースデータは既存のジオデータベースに抽出されます。 これがデフォルトです。
  • XML ファイルデータは XML ワークスペース ドキュメントに抽出されます。
  • 新しいファイル ジオデータベースデータは新しいファイル ジオデータベースに抽出されます。 [ジオデータベースの場所] パラメーターと [ジオデータベース名] パラメーターを使用して、新しいファイル ジオデータベースの場所と名前を指定します。
  • 新しいモバイル ジオデータベースデータは新しいモバイル ジオデータベースに抽出されます。 [ジオデータベースの場所] パラメーターと [ジオデータベース名] パラメーターを使用して、新しいモバイル ジオデータベースの場所と名前を指定します。
String
データの抽出先のジオデータベース
(オプション)

[出力タイプ] パラメーターが [ジオデータベース] に設定されている場合に、抽出されたデータを格納するジオデータベース。

Workspace
データの抽出先の XML ファイル
(オプション)

[出力タイプ] パラメーターが [XML ファイル] に設定されている場合に、作成される .xml ファイルの名前と場所。

File
ジオデータベースの場所
(オプション)

抽出されたデータ用に作成されるファイル ジオデータベースまたはモバイル ジオデータベースの場所。 [出力タイプ] パラメーターが [新しいファイル ジオデータベース] または [新しいモバイル ジオデータベース] に設定されている場合、このパラメーターは必須です。

Folder
ジオデータベース名
(オプション)

抽出されたデータ用に作成されるファイル ジオデータベースまたはモバイル ジオデータベースの名前。 [出力タイプ] パラメーターが [新しいファイル ジオデータベース] または [新しいモバイル ジオデータベース] に設定されている場合、このパラメーターは必須です。

String
拡張フィーチャクラスとテーブル
(オプション)

ネットワーク、トポロジ、またはリレーションシップ クラスに存在するフィーチャクラスやテーブルなど、関連するフィーチャクラスおよびテーブルを追加するかどうかを指定します。

  • デフォルトの使用入力データセット内のフィーチャクラスおよびテーブルに関連する拡張フィーチャクラスおよびテーブルが追加されます。 フィーチャクラスのデフォルトでは、空間フィルターを交差するすべてのフィーチャが抽出されます。 空間フィルターが指定されていないと、すべてのフィーチャが含まれます。 テーブルのデフォルトでは、スキーマのみが抽出されます。 これがデフォルトです。
  • スキーマのみを使用して追加関連するフィーチャクラスおよびテーブルのスキーマのみが追加されます。
  • すべての行関連するフィーチャクラスおよびテーブルのすべての行が追加されます。
  • 追加しない関連するフィーチャクラスまたはテーブルが追加されません。
String
スキーマの再使用
(オプション)

抽出するデータのスキーマを含むジオデータベースを再使用するかどうかを指定します。 スキーマを再使用すると、データの抽出にかかる時間が短縮されます。

  • 再使用しないスキーマは再使用されません。 これがデフォルトです。
  • 再使用スキーマが再使用されます。
String
関連データの抽出
(オプション)

データに存在する行に関連付けられている行を抽出するかどうかを指定します。 たとえば、ジオメトリ フィルター内部にフィーチャ (f1) があり、そのフィルター外部に別のクラスの関連フィーチャ (f2) があるとします。 この場合、関連データの取得を選択すると、フィーチャ f2 が抽出されたデータに含まれます。

  • 関連付けない関連データは抽出されません。
  • 関連付ける関連データが抽出されます。 これがデフォルトです。
String
ジオメトリ フィーチャを使用した抽出
(オプション)

抽出するエリアを定義するために使用されるフィーチャ。

Feature Layer
ジオメトリ フィルター タイプ
(オプション)

[ジオメトリ フィーチャを使用した抽出] パラメーター値と [入力データセット] パラメーター値の間の空間リレーションシップと、そのリレーションシップをフィルターする方法を指定します。 空間リレーションシップは、[ジオメトリ フィーチャを使用した抽出] パラメーターで指定された対象地域 (AOI) で定義された範囲内のデータに適用されます。

  • 交差する[ジオメトリ フィーチャを使用した抽出] パラメーター値のフィーチャと交差する [入力データセット] パラメーター値のフィーチャが抽出されます。
  • 含む[ジオメトリ フィーチャを使用した抽出] パラメーター値の選択したフィーチャに含まれる [入力データセット] パラメーター値のフィーチャが抽出されます。
String
テーブルのすべてのレコード
(オプション)

フィルターが適用されていないテーブル (選択や定義クエリなど) のすべてのレコードを抽出するか、スキーマのみを抽出するかを指定します。

フィルターが適用されているテーブルが優先されます。

  • オン - すべてのレコードがジオデータベースに抽出されます。 このオプションは [拡張フィーチャクラスとテーブル] パラメーター値をオーバーライドします。
  • オフ - テーブルのスキーマだけがジオデータベースに抽出されます。 これがデフォルトです。

Boolean

派生した出力

ラベル説明データ タイプ
出力ジオデータベース

[出力タイプ] パラメーターが [ジオデータベース][新しいファイル ジオデータベース]、または [新しいモバイル ジオデータベース] に設定されている場合の出力ワークスペース。

Workspace

arcpy.management.ExtractDataFromGeodatabase(in_data, {extract_type}, {out_type}, {out_geodatabase}, {out_xml}, {out_folder_path}, {out_name}, {expand_feature_classes_and_tables}, {reuse_schema}, {get_related_data}, {extract_using_geometry_features}, {geometry_filter_type}, {all_records_for_tables})
名前説明データ タイプ
in_data
[in_data,...]

抽出されるデータ。

Table View; Dataset
extract_type
(オプション)

データのスキーマと行を抽出するか、スキーマのみを抽出するかを指定します。

  • DATAスキーマと行が抽出されます。 これがデフォルトです。
  • SCHEMA_ONLYスキーマのみが抽出されます。
String
out_type
(オプション)

データの抽出先の出力タイプを指定します。

  • GEODATABASEデータは既存のジオデータベースに抽出されます。 これがデフォルトです。
  • XML_FILEデータは XML ワークスペース ドキュメントに抽出されます。
  • NEW_FILE_GEODATABASEデータは新しいファイル ジオデータベースに抽出されます。 out_folder_path パラメーターと out_name パラメーターを使用して、新しいファイル ジオデータベースの場所と名前を指定します。
  • NEW_MOBILE_GEODATABASEデータは新しいモバイル ジオデータベースに抽出されます。 out_folder_path パラメーターと out_name パラメーターを使用して、新しいモバイル ジオデータベースの場所と名前を指定します。
String
out_geodatabase
(オプション)

out_type パラメーターが GEODATABASE に設定されている場合に、抽出されたデータを格納するジオデータベース。

Workspace
out_xml
(オプション)

out_type パラメーターが XML_FILE に設定されている場合に、作成される .xml ファイルの名前と場所。

File
out_folder_path
(オプション)

抽出されたデータ用に作成されるファイル ジオデータベースまたはモバイル ジオデータベースの場所。 このパラメーターは、out_type パラメーターが NEW_FILE_GEODATABASE または NEW_MOBILE_GEODATABASE に設定されている場合は必須です。

Folder
out_name
(オプション)

抽出されたデータ用に作成されるファイル ジオデータベースまたはモバイル ジオデータベースの名前。 このパラメーターは、out_type パラメーターが NEW_FILE_GEODATABASE または NEW_MOBILE_GEODATABASE に設定されている場合は必須です。

String
expand_feature_classes_and_tables
(オプション)

ネットワーク、トポロジ、またはリレーションシップ クラスに存在するフィーチャクラスやテーブルなど、関連するフィーチャクラスおよびテーブルを追加するかどうかを指定します。

  • USE_DEFAULTS入力データセット内のフィーチャクラスおよびテーブルに関連する拡張フィーチャクラスおよびテーブルが追加されます。 フィーチャクラスのデフォルトでは、空間フィルターを交差するすべてのフィーチャが抽出されます。 空間フィルターが指定されていないと、すべてのフィーチャが含まれます。 テーブルのデフォルトでは、スキーマのみが抽出されます。 これがデフォルトです。
  • ADD_WITH_SCHEMA_ONLY関連するフィーチャクラスおよびテーブルのスキーマのみが追加されます。
  • ALL_ROWS関連するフィーチャクラスおよびテーブルのすべての行が追加されます。
  • DO_NOT_ADD関連するフィーチャクラスまたはテーブルが追加されません。
String
reuse_schema
(オプション)

抽出するデータのスキーマを含むジオデータベースを再使用するかどうかを指定します。 スキーマを再使用すると、データの抽出にかかる時間が短縮されます。

  • DO_NOT_REUSEスキーマは再使用されません。 これがデフォルトです。
  • REUSEスキーマが再使用されます。
String
get_related_data
(オプション)

データに存在する行に関連付けられている行を抽出するかどうかを指定します。 たとえば、ジオメトリ フィルター内部にフィーチャ (f1) があり、そのフィルター外部に別のクラスの関連フィーチャ (f2) があるとします。 この場合、関連データの取得を選択すると、フィーチャ f2 が抽出されたデータに含まれます。

  • DO_NOT_GET_RELATED関連データは抽出されません。
  • GET_RELATED関連データが抽出されます。 これがデフォルトです。
String
extract_using_geometry_features
(オプション)

抽出するエリアを定義するために使用されるフィーチャ。

Feature Layer
geometry_filter_type
(オプション)

extract_using_geometry_features パラメーター値と in_data パラメーター値の間の空間リレーションシップと、そのリレーションシップをフィルターする方法を指定します。 空間リレーションシップは、extract_using_geometry_features パラメーターで指定された対象地域 (AOI) で定義された範囲内のデータに適用されます。

  • INTERSECTSextract_using_geometry_features パラメーター値のフィーチャと交差する in_data パラメーター値のフィーチャが抽出されます。
  • CONTAINSin_data パラメーター値の選択したフィーチャに含まれる extract_using_geometry_features パラメーター値のフィーチャが抽出されます。
String
all_records_for_tables
(オプション)

フィルターが適用されていないテーブル (選択や定義クエリなど) のすべてのレコードを抽出するか、スキーマのみを抽出するかを指定します。

フィルターが適用されているテーブルが優先されます。

  • ALL_RECORDS_FOR_TABLESすべてのレコードがジオデータベースに抽出されます。 このオプションは expand_feature_classes_and_tables パラメーター値をオーバーライドします。
  • SCHEMA_ONLY_FOR_TABLESスキーマだけがジオデータベースに抽出されます。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
out_workspace

out_type パラメーターが GEODATABASENEW_FILE_GEODATABASE、または NEW_MOBILE_GEODATABASE に設定されている場合の出力ワークスペース。

Workspace

コードのサンプル

ExtractDataFromGeodatabase の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、単一の入力フィーチャクラスおよび新しい出力ファイル ジオデータベースで ExtractDataFromGeodatabase 関数を使用する方法を示しています。

import arcpy
arcpy.management.ExtractDataFromGeodatabase(
    r"C:\MyProject\MyGDB.gdb\Bridges", "DATA", "NEW_FILE_GEODATABASE", "", "",
   r"C:\MyProject", "MyNewGDB")
ExtractDataFromGeodatabase の例 2 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、複数レイヤーで ExtractDataFromGeodatabase 関数を使用し、XML ワークスペース ドキュメントにスキーマのみ抽出する方法を示しています。

import arcpy
arcpy.management.ExtractDataFromGeodatabase(
    ["Layer1", "Layer2"], "SCHEMA_ONLY", "XML_FILE", "",
    r"C:\MyProject\MyXMLWkspDoc.xml")
ExtractDataFromGeodatabase の例 3 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、範囲環境を使用して既存のジオデータベースへの複数の入力データセットで ExtractDataFromGeodatabase 関数を使用する方法を示しています。

# Name: ExtractDataFromGeodatabase_Example3.py
# Description: Extract a subset of data by providing an extent using the Extent
#              environment setting.

# Import system modules
import arcpy

# Set the current workspace (to avoid having to specify the full path to each 
# input dataset)
arcpy.env.workspace = "C:\MyProject\MyData.gdb"

# Set the extent environment using the Extent class
arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)

# Set local variables
in_data = ["FC1", "FC2", "FC3"]
extract_type = "DATA"
out_type = "GEODATABASE"
out_geodatabase = "C:\MyProject\MyGDB.gdb"
out_folder_path = ""
out_name = ""
expand_fcs = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related_data = "GET_RELATED"
extract_using_geom = ""
geom_filter = ""
all_records = "ALL_RECORDS_FOR_TABLES"

# Run ExtractDataFromGeodatabase
arcpy.management.ExtractDataFromGeodatabase(in_data,
                                            extract_type,
                                            out_type,
                                            out_geodatabase,
                                            out_xml,
                                            out_folder_path,
                                            out_name,
                                            expand_fcs,
                                            reuse_schema,
                                            get_related_data,
                                            extract_using_geom,
                                            geom_filter,
                                            all_records)
ExtractDataFromGeodatabase の例 4 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、ExtractDataFromGeodatabase 関数を使用して、出力座標系範囲を使用することにより新しい座標系で新しいファイル ジオデータベースにデータを抽出する方法を示しています。

# Name: ExtractDataFromGeodatabase_Example4.py
# Description: Extract data to use a new coordinate system by using the
#              Output Coordinate System environment setting. Then run the tool a second
#              time to load the data using the reuse_schema option

# Import system modules
import arcpy

# Set the Output Coordinate System environment
arcpy.env.outputCoordinateSystem = arcpy.SpatialReference("GCS_North_American_1983_HARN")
arcpy.env.geographicTransformations = "NAD_1983_HARN_To_WGS_1984_2"

# Set local variables
in_data = "C:/MyProject/MyGDB.gdb/FC1"
extract_type = "SCHEMA_ONLY"
out_type = "NEW_FILE_GEODATABASE"
out_geodatabase = ""
out_xml = ""
out_folder_path = "C:\MyProject"
out_name = "MyOutputGDB.gdb"
expand_fcs = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related_data = "GET_RELATED"
extract_using_geom = ""
geom_filter = ""
all_records = "SCHEMA_ONLY_FOR_TABLES"

# Run ExtractDataFromGeodatabase with the schema only option
arcpy.management.ExtractDataFromGeodatabase(in_data,
                                            extract_type,
                                            out_type,
                                            out_geodatabase,
                                            out_xml,
                                            out_folder_path,
                                            out_name,
                                            expand_fcs,
                                            reuse_schema,
                                            get_related_data,
                                            extract_using_geom,
                                            geom_filter,
                                            all_records)

# Rest the Output Coordinate System environment
arcpy.ClearEnvironment("outputCoordinateSystem")
arcpy.ClearEnvironment("geographicTransformations")

# Set variables that we are changing to load the data into the newly created schema in 
# the different coordinate system.
extract_type = "DATA"
out_type = "GEODATABASE"
out_geodatabase = "C:\MyProject\MyOutputGDB.gdb"
out_folder_path = ""
out_name = ""
reuse_schema = "REUSE"
all_records = "ALL_RECORDS_FOR_TABLES"

# Run ExtractDataFromGeodatabase with the data and reuse schema option
arcpy.management.ExtractDataFromGeodatabase(in_data,
                                            extract_type,
                                            out_type,
                                            out_geodatabase,
                                            out_xml,
                                            out_folder_path,
                                            out_name,
                                            expand_fcs,
                                            reuse_schema,
                                            get_related_data,
                                            extract_using_geom,
                                            geom_filter,
                                            all_records)
ExtractDataFromGeodatabase の例 5 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、ExtractDataFromGeodatabase ツールを使用し、スキーマを XML ファイルに抽出して、ImportXMLWorkspaceDocument ツールを使用してデータを読み込む方法を示します。

# Name: ExtractDataFromGeodatabase_Example5.py
# Description: Extract schema of multiple feature classes and import the
#              schema into an enterprise geodatabase

# Import system modules
import arcpy

# Set the current workspace (to avoid having to specify the full path to each input dataset)
arcpy.env.workspace = "C:\MyProject\MyData.gdb"

# Export the schema as an XML file from a feature class
result = arcpy.management.ExtractDataFromGeodatabase(
    ["FC1", "FC2"], "SCHEMA_ONLY", "XML_FILE", "",
    "C:/MyProject/MyXMLWkspDoc.xml")

# Get the path to the output XML file
out_xml = result[0]

# Pass the output XML into the Import XML Workspace Document tool
arcpy.management.ImportXMLWorkspaceDocument("C:/MyProject/mySDEConnection.sde", 
                                            out_xml, 
                                            "SCHEMA_ONLY", "DEFAULTS")
ExtractDataFromGeodatabase の例 6 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、ExtractDataFromGeodatabase ツールを使用し、データを新しいモバイル ジオデータベースに抽出し、新しい出力ジオデータベースのドメインを作成する方法を示します。

# Name: ExtractDataFromGeodatabase_Example6.py
# Description: Extract data and create a domain on output workspace

# Import system modules
import arcpy

# Export data to a new mobile geodatabase
result = arcpy.management.ExtractDataFromGeodatabase(
    "C:/MyProject/mySDEConnection.sde/myGDB.USER1.FC1", "DATA", "NEW_MOBILE_GEODATABASE", "", "",
    "C:/MyProject", "newMobileGDB")

# Get the path to the output mobile geodatabase
out_mobile_gdb = result[1]

# Pass the output geodatbase to the CreateDomain tool
arcpy.management.CreateDomain(out_mobile_gdb, "MyDomain", "My domain description", "SHORT", "CODED")

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック