ジオデータベースに登録 (Register With Geodatabase) (データ管理)

概要

サードパーティ製のツールを使用してデータベース内に作成したフィーチャクラス、テーブル、ビュー、ラスター レイヤーまたは [データベース ビューの作成 (Create Database View)] ツールを使用して作成したビューをジオデータベースに登録します。登録すると、アイテムに関する情報 (テーブルや列名、空間範囲、ジオメトリ タイプなど) がジオデータベースのシステム テーブルに格納されます。これらの登録されたアイテムは、ジオデータベース機能を利用できるようになります。

使用法

  • このツールを使用すると、サードパーティ製のツールや SQL でデータベース内に作成したフィーチャクラス、テーブル、ビュー、およびラスター レイヤーをジオデータベースに登録できます。[データベース ビューの作成 (Create Database View)] ジオプロセシング ツールを使用して作成したビューも、ジオデータベースに登録できます。

  • ジオデータベースに [データベース ビューの作成 (Create Database View)] ツールを使用して作成したビューも、ファイル ジオデータベースに登録できます。

  • エンタープライズ ジオデータベースに登録するには、入力データセットの所有者として接続する必要があります。

  • フィーチャクラス、テーブルおよびラスター レイヤーは、ジオデータベースに登録した後ではじめて、ジオデータベース機能を利用できるようになります。ジオデータベースに登録されていない場合、ArcGIS クライアントやサービスから利用可能な機能が制限されます。

  • ジオデータベースに登録されているビューは、一部のジオデータベース機能を利用できず、ArcGIS クライアントからは読み取り専用になります。ビューは、フィーチャ サービスでサポートされていません。

構文

arcpy.management.RegisterWithGeodatabase(in_dataset, {in_object_id_field}, {in_shape_field}, {in_geometry_type}, {in_spatial_reference}, {in_extent})
パラメーター説明データ タイプ
in_dataset

ジオデータベースに登録する、サードパーティ製のツールを使用して作成したラスター、SQL、または [データベース ビューの作成 (Create Database View)] ツールを使用して作成されたビュー (ジオデータベースに登録されます)。データセットは、ジオデータベースと同じデータベース内に存在する必要があります。

Table View; Raster Layer
in_object_id_field
(オプション)

ObjectID フィールドとして使用されるフィールド。この入力はビューを登録するときに必要で、既存の整数フィールドを指定する必要があります。このパラメーターは、他のデータベース タイプを登録するときはオプションです。既存のフィールドを使用する場合は、整数データ タイプである必要あります。これらその他のデータセット タイプを登録する際に既存のフィールドが指定されていない場合、ObjectID フィールドが作成および指定されます。

Field
in_shape_field
(オプション)

入力データセットに Shape 列が含まれている場合は、登録処理中にこのフィールドを含めます。

Field
in_geometry_type
(オプション)

ジオメトリ タイプを指定します。[in_shape_field] パラメーターの値が存在する場合は、ジオメトリ タイプを指定する必要があります。登録するデータセットに既存のフィーチャが含まれる場合、指定するジオメトリ タイプは、これらのフィーチャのエンティティ タイプと一致している必要があります。

  • POINTジオメトリ タイプはポイントになります。
  • MULTIPOINTジオメトリ タイプはマルチポイントになります。
  • POLYGONジオメトリ タイプはポリゴンになります。
  • POLYLINEジオメトリ タイプはポリラインになります。
String
in_spatial_reference
(オプション)

[in_shape_field] パラメーターの値が存在し、テーブルが空の場合は、フィーチャに使用する座標系を指定します。登録するデータセットに既存のフィーチャが含まれる場合、指定する座標系は、既存のフィーチャの座標系と一致している必要があります。有効な値は、Spatial Referenceオブジェクト、拡張子が *.prj のファイル、または座標系の文字列表現です。

Spatial Reference
in_extent
(オプション)

[in_shape_field] パラメーターの値が存在する場合は、X、Y 座標の許容範囲を次の順序で指定します。"XMin YMin XMax YMax" 登録するデータセットに既存のフィーチャが含まれる場合、既存のフィーチャの範囲が使用されます。

Envelope

派生した出力

名前説明データ タイプ
reg_dataset

登録するデータセット。

テーブル

コードのサンプル

RegisterWithGeodatabase (ジオデータベースに登録) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、ポイント ジオメトリ フィーチャを含む空間テーブルに対して、Python ウィンドウで RegisterWithGeodatabase 関数を使用する方法を示しています。基になるテーブルに既存のフィーチャが含まれているため、座標参照とフィーチャの範囲情報は検出可能で、明示的にリストする必要はありません。

import arcpy
arcpy.env.workspace = r"Database Connections/connection.sde"
arcpy.RegisterWithGeodatabase_management("database.owner.COUNTIES", "OID", 
                                         "Shape", "POINT")
RegisterWithGeodatabase (ジオデータベースに登録) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、RegisterWithGeodatabase 関数をスクリプティングに適用する単純な例を示しています。

# RegisterWithGeodatabase.py
# Description: Simple example showing use of RegisterWithGeodatabase tool
 
# Import system modules
import arcpy
# Set variables
inTable = r"c:\connectionFiles\Connection to esriServer.sde\database.dbo.cities"
oid_field = "OID"
shape_field = "Shape"
geometry_type = "POINT"
sr = arcpy.SpatialReference(4326)
in_extent = "11 10 14 34"
# Process: Register With Geodatabase
arcpy.RegisterWithGeodatabase_management(inTable, oid_field, shape_field, 
                                         geometry_type, sr, in_extent)
RegisterWithGeodatabase (ジオデータベースに登録) の例 3 (スタンドアロン スクリプト)

ファイル ジオデータベースに trees という名前のビューを登録します。

# RegisterWithGeodatabase.py
# Description: Example showing use of RegisterWithGeodatabase tool with a file 
#              gdb view.
# Import system modules
import arcpy
# Create a view in the geodatabase
arcpy.CreateDatabaseView_management("C:\\testdata\\mytest.gdb",
                                    "trees",
                                    "select objectid, owner, parcel from inventory where type = trees")
# Set variables
inTable = r"C:\\testdata\\mytest.gdb\\trees"
# Process: Register With Geodatabase
arcpy.RegisterWithGeodatabase_management(inTable, "objectid")

ライセンス情報

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

関連トピック