ArcGIS for Desktop

  • ArcGIS Pro
  • ArcMap

  • ArcGIS Pro
  • ArcMap
ArcGIS for Desktop

ArcGIS Online

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

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

  • ArcGIS Pro
  • ArcMap
Esri
English
  • English
  • Deutsch
  • Español
  • Français
  • 日本語
  • Русский
  • 简体中文
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...
  • データの管理
  • ジオデータベースの管理
  • はじめに
  • 上

はじめに

  • ジオデータベース管理
  • ジオデータベース管理に関する基本用語
  • ArcSDE 管理コマンドからの移行

ジオデータベースのアーキテクチャ

    ファイル ジオデータベースおよびパーソナル ジオデータベースの管理

      データベース サーバーでのジオデータベースの管理

        DB2 のジオデータベース

          Informix のジオデータベース

            Oracle のジオデータベース

              PostgreSQL のジオデータベース

                SQL Server のジオデータベース

                  ジオデータベースでの SQL の使用

                    ArcSDE 管理コマンドからの移行

                    この ArcGIS 10.3 ドキュメントはアーカイブされており、今後更新されません。 コンテンツとリンクが古い場合があります。 最新のドキュメントをご参照ください。
                    • ジオデータベース管理
                    • データ管理

                    ジオプロセシング ツール、Python スクリプト、または ArcGIS for Desktop のジオデータベース管理ツールを使用して、これまで ArcSDE の管理コマンドを使用して実行していたジオデータベース管理およびデータ管理を実行します。

                    次のセクションでは、エンタープライズ ジオデータベースの一般的なジオデータベース管理タスクおよびデータ管理タスクを実行する方法について説明します。

                    ジオデータベース管理

                    管理タスクによって、ジオデータベース管理者として接続する必要がある場合や、データベース管理者として接続しなければならない場合があります。ほとんどの場合、管理タスクをスクリプトで処理する場合は、必要なユーザーとして接続するためのデータベース接続ファイル (*.sde) を作成する必要があります。このファイルを作成するには、[データベース接続の作成 (Create Database Connection)] ジオプロセシング ツールを使用するか、ArcGIS for Desktop の [データベース コネクション] ダイアログ ボックスを使用します。

                    ジオデータベースの作成ツール

                    Microsoft SQL Server、Oracle、または PostgreSQL でのジオデータベースの作成

                    [エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールまたは [エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツール

                    IBM DB2 または IBM Informix でのジオデータベースの作成

                    [エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツール

                    ジオデータベース設定の制御ツール

                    DBTUNE のコンフィグレーション キーワードの追加およびパラメーターの編集

                    [ジオデータベース コンフィグレーション キーワードのエクスポート (Export Geodatabase Configuration Keywords)] および [ジオデータベース コンフィグレーション キーワードのインポート (Import Geodatabase Configuration Keywords)] ジオプロセシング ツール

                    ログ ファイル テーブルの構成の変更

                    [ジオデータベース ログ ファイル テーブルの構成 (Configure Geodatabase Log File Tables)] ジオプロセシング ツール

                    Oracle からのスキーマ ジオデータベースの削除

                    [スキーマ ジオデータベースの削除 (Delete Schema Geodatabase) ツール] ジオプロセシング ツール

                    ジオデータベースのアップグレード

                    [ジオデータベースのアップグレード (Upgrade Geodatabase)] ジオプロセシング ツール

                    バージョン対応ジオデータベースの管理ツール

                    ジオデータベースのバージョンの作成

                    [バージョンの作成 (Create Version)] ジオプロセシング ツール、または ArcGIS for Desktop の [バージョン マネージャー] ダイアログ ボックス

                    バージョンのリコンサイル

                    [バージョンのリコンサイル (Reconcile Versions)] ジオプロセシング ツール、または ArcMap の [リコンサイル] 機能

                    親バージョンへの変更のポスト

                    [バージョンのポスト (Post Version)] ジオプロセシング ツール、または ArcMap の [ポスト] 機能の使用

                    バージョン対応ジオデータベースの圧縮

                    [圧縮 (Compress)] ジオプロセシング ツール、または ArcGIS for Desktop の [データベース圧縮] 機能

                    ジオデータベースのバージョンの削除

                    [バージョンの削除 (Delete Version)] ジオプロセシング ツール、または ArcGIS for Desktop の [バージョン マネージャー] ダイアログ ボックス

                    バージョン メタデータおよびシステム テーブルの診断と修復

                    [バージョン メタデータの診断 (Diagnose Version Metadata)]、[バージョン メタデータの修復 (Repair Version Metadata)]、[バージョン テーブルの診断 (Diagnose Version Tables)]、および [バージョン テーブルの修復 (Repair Version Tables)] ジオプロセシング ツール

                    バージョン システム テーブルのインデックスの更新

                    [インデックスの再構築 (Rebuild Indexes)] ジオプロセシング ツール

                    バージョン システム テーブルの統計情報の更新

                    [データセットの分析 (Analyze Datasets)] ジオプロセシング ツール

                    接続の管理ツール

                    現在のジオデータベース接続リストの取得

                    ArcGIS for Desktop の [ジオデータベース管理] ダイアログ ボックスの [接続] タブ、または ListUser Python 関数

                    また、[ジオデータベース管理] ダイアログ ボックスの [ロック] タブで、接続が保持しているロックを確認することもできます。

                    ジオデータベースからの接続の切断

                    ArcGIS for Desktop の [ジオデータベース管理] ダイアログ ボックスの [接続] タブ、または DisconnectUser Python 関数

                    ジオデータベース接続の一時的なブロックと接続の再有効化

                    ArcGIS for Desktop の [データベース プロパティ] ダイアログ ボックスの [接続] タブ、または AcceptConnections Python 関数

                    データ管理

                    データをエンタープライズ ジオデータベースに読み込むと、接続しているユーザーはジオデータベースにデータを所有することになります。一部のジオデータベース管理タスク (権限の付与、インデックスの再構築など) は、データの所有者しか実行できません。これらのタスクを実行する前に、データベース接続ファイル (*.sde) を作成して正しいユーザーとして接続していることを確認してください。

                    ほとんどの場合、ArcSDE の管理コマンドは、データの読み込みと管理をスクリプトで処理するために使用されていました。したがって、次のセクションで説明するデータ管理タスクにはサンプル スクリプトが含まれています。

                    データベース接続ファイルを各スクリプトの一部として作成する場合は、CreateDatabaseConnection_management を使用します。

                    移動可能なファイルへのジオデータベース コンテンツのエクスポート

                    説明: ジオデータベース スキーマ、リレーションシップ、振舞い、およびデータを XML ワークスペース ドキュメントにエクスポートして、他のユーザーと共有できます。ジオデータベースのコンテンツのサブセットを、XML ワークスペース ドキュメントにエクスポートすることもできます。

                    使用ツール: [XML ワークスペース ドキュメントのエクスポート (Export XML Workspace Document)]

                    サンプル スクリプト:

                    """ Export geodatabase contents to a portable file """
                    
                    import arcpy
                    import sys
                    
                    
                    def ExportXMLWorkspaceDocument(in_data, out_file, export_type=None, storage_type=None, export_metadata=None):
                        """ Export geodatabase contents to a portable file """
                        try:
                            arcpy.ExportXMLWorkspaceDocument_management(in_data,
                                                                        out_file,
                                                                        export_type,
                                                                        storage_type,
                                                                        export_metadata)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ExportXMLWorkspaceDocument(*arguments)
                    

                    新しいジオデータベース コンテンツのインポート

                    説明: XML ワークスペース ドキュメントにはジオデータベース スキーマ、リレーションシップ、および振舞いが含まれ、データを含めることも可能です。たとえば、ジオデータベース スキーマだけを含む XML ワークスペース ドキュメントをインポートして、独自のデータをスキーマに読み込むことができます。また、テンプレート ジオデータベースを作成し、そのジオデータベースで定義されているスキーマとリレーションシップを XML ワークスペース ドキュメントにエクスポートして、そのドキュメントを新しいジオデータベースにインポートすることもできます。

                    使用ツール: [XML ワークスペース ドキュメントのインポート (Import XML Workspace Document)]

                    サンプル スクリプト:

                    """ Import new gdb contents """
                    
                    import arcpy
                    import sys
                    
                    
                    def ImportXMLWorkspaceDocument(target_geodatabase, in_file, import_type=None, config_keywords=None):
                        """ Import new gdb contents """
                        try:
                            arcpy.ImportXMLWorkspaceDocument_management(target_geodatabase,
                                                                        in_file,
                                                                        import_type,
                                                                        config_keywords)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ImportXMLWorkspaceDocument(*arguments)
                    

                    コンテンツのインポートによる古いコンテンツの上書き

                    説明: XML ワークスペース ドキュメントにはジオデータベース スキーマ、リレーションシップ、および振舞いが含まれ、データを含めることも可能です。スキーマ、リレーションシップ、振舞い、およびデータを含む XML ワークスペース ドキュメントをインポートして、既存のジオデータベースのコンテンツを上書きできます。別の組織や契約者からプロジェクトの更新を受け取り、最新のデータや定義をすべて使用する場合は、このタスクを実行します。

                    使用ツール: [削除 (Delete)] および [XML ワークスペース ドキュメントのインポート (Import XML Workspace Document)]

                    サンプル スクリプト:

                    """ Imports contents to overwrite old contents """
                    
                    import arcpy
                    import sys
                    from xml.etree import ElementTree
                    import re
                    
                    
                    def FindDatasets(xml_file):
                        """ Open xml file and identify datasets """
                        xmldoc = ElementTree.ElementTree()
                        xmldoc.parse(xml_file)
                        root = xmldoc.getroot()
                    
                        contents = []
                        for i in root.findall('WorkspaceDefinition/DatasetDefinitions/DataElement'):
                            contents.append(i.findtext('Name'))
                    
                            for j in i.findall('./Children/DataElement/CatalogPath'):
                                contents.append('/'.join(re.split(r'/[a-z|A-Z]*=', j.text)[1:]))
                    
                        contents.reverse()
                        return contents
                    
                    
                    def DeleteDatasets(database, datasets):
                        """ Delete dataset in database """
                        for ds in datasets:
                            try:
                                arcpy.Delete_management(os.path.join(database, datasets))
                            except:
                                print('Unable to delete {}'.format(ds))
                    
                    
                    def ImportXML(database, xml_file):
                        """ Import XML workspace document """
                        arcpy.ImportXMLWorkspaceDocument_management(database, xml_file)
                    
                    
                    if __name__ == "__main__":
                        xml_file = sys.argv[1]
                        database = sys.argv[2]
                    
                        datasets = FindDatasets(xml_file)
                        DeleteDatasets(database, datasets)
                        ImportXML(database, xml_file)
                        arcpy.ImportXMLWorkspaceDocument_management(database, xml_file)
                    

                    単一のシェープファイルまたはカバレッジのインポートとフィールドのマッピング

                    説明: インポートするシェープファイルまたはカバレッジのフィールドと、ジオデータベースの結果フィーチャクラスのフィールドとのマッピングを指定します。

                    使用ツール: [ListFields]、[FeatureClassToFeatureClass_conversion]、および [FieldMappings]

                    サンプル スクリプト:

                    import arcpy
                    import os
                    
                    arcpy.env.overwriteOutput = True
                    
                    input_features = r'C:\Users\davi4075\Documents\ArcGIS\lakes.shp'
                    out_fc = r'C:\Users\davi4075\Documents\ArcGIS\mexico.gdb\out_lakes'
                    
                    fms = arcpy.FieldMappings()
                    fms.fieldValidationWorkspace = os.path.dirname(out_fc)
                    
                    # Cycle through input field to transfer
                    for field in arcpy.ListFields(input_features):
                    
                        # Exclude geometry and objectid fields
                        if field.type not in ['Geometry', 'OID']:
                            fm = arcpy.FieldMap()
                            fm.addInputField(input_features, field.name)
                    
                            # if altering field properties, need to push updated field back
                            # to FieldMap
                            field.name = field.name.upper()
                            fm.outputField = field
                    
                            # Insert FieldMap into FieldMappings
                            fms.addFieldMap(fm)
                    
                    arcpy.FeatureClassToFeatureClass_conversion(
                        input_features, os.path.dirname(out_fc), os.path.basename(out_fc),
                        field_mapping=fms)
                    

                    複数のシェープファイルまたはカバレッジの一括インポート

                    説明: 複数のシェープファイルまたはカバレッジを一度にインポートします。

                    使用ツール: [フィーチャクラス → ジオデータベース (マルチプル) (Feature Class To Geodatabase (Multiple))]

                    サンプル スクリプト:

                    """ Import multiple shapefiles or coverages at one time """
                    
                    import arcpy
                    import sys
                    
                    
                    def ImportMultiple(input_features, output_database):
                        """
                        Import multiple shapefiles or coverages at one time
                    
                        input_features -- semi-colon delimited string of shapefiles and/or coverages
                        """
                        try:
                            arcpy.FeatureClassToGeodatabase_conversion(input_features, output_database)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ImportMultiple(*arguments)
                    

                    複数のシェープファイルまたはカバレッジのインポート、および既存のデータベース グループへの新規フィーチャクラスの権限の付与

                    説明: 複数のシェープファイルまたはカバレッジを一度にインポートし、結果として生成されたフィーチャクラスの権限を既存のデータベース グループに付与して、これらのグループのメンバーが新しいフィーチャクラスにアクセスできるようにします。

                    使用ツール: [フィーチャクラス → ジオデータベース (マルチプル) (Feature Class To Geodatabase (Multiple))] および [権限の変更 (Change Privileges)]

                    サンプル スクリプト:

                    """
                    Import multiple shapefiles or coverages and grant privileges on new feature
                    classes to existing groups or users
                    """
                    
                    import arcpy
                    import sys
                    
                    
                    def ImportMultipleAndGrantPrivileges(input_features, output_database, user, view=None, edit=None):
                        """
                        Import multiple shapefiles or coverages and grant privileges on new feature
                        classes to existing groups or users
                        """
                        try:
                            feature_classes = input_features.split(';')
                            for fc in feature_classes:
                                out_fc = arcpy.CreateUniqueName(fc, output_database)
                                arcpy.FeatureClassToFeatureClass_conversion(fc, out_fc)
                                arcpy.ChangePrivileges_management(out_fc, user, view, edit)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ImportMultipleAndGrantPrivileges(*arguments)
                    

                    単一のフィーチャクラスへの複数のシェープファイルの結合

                    説明: 同じ型のデータを含む複数のシェープファイルがある場合は、これらをジオデータベース内で 1 つのフィーチャクラスに結合できます。たとえば、学校を表すポイント シェープファイルを複数の学区から取得する場合、これらのシェープファイルをジオデータベース内の単一の schools フィーチャクラスにインポートできます。

                    使用ツール: [アペンド (Append)] および [マージ (Merge)]

                    サンプル スクリプト:

                    """ Combine multiple shapefiles into one feature class """
                    
                    import arcpy
                    import sys
                    
                    
                    def CombineMultipleFeatureClasses(input_features, output_or_target):
                        """ Combine multiple shapefiles into one feature class """
                        try:
                            feature_classes = input_features.split(';')
                            if arcpy.Exists(output_or_target):
                                arcpy.Append_management(feature_classes, output_or_target)
                            else:
                                arcpy.Merge_management(feature_classes, output_or_target)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        CombineMultipleFeatureClasses(*arguments)
                    

                    複数のテーブルのインポート

                    説明: 一度に複数の dBASE、INFO、VPF、OLE DB、またはジオデータベース テーブルを、エンタープライズ ジオデータベースにインポートできます。

                    使用ツール: [テーブル → ジオデータベース (Table To Geodatabase)]

                    サンプル スクリプト:

                    """ Import multiple nonspatial tables """
                    
                    import arcpy
                    import sys
                    
                    
                    def ImportTables(in_tables, target_database):
                        """
                        Export data to a shapefile
                    
                        in_tables -- semi-colon delimited string of tables
                        target_database -- the database were tables will be added
                        """
                        try:
                            tables = in_tables.split(";")
                            arcpy.TableToGeodatabase_conversion(tables, target_database)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ImportTables(*arguments)
                    

                    テーブルまたはフィーチャクラスの切詰めとレコードの追加

                    説明: 別の組織や外部組織からデータの更新を受け取った場合は、テーブルの切詰めやデータ更新の追加により、既存のデータおよびテーブルに定義された権限を保持できます。

                    使用ツール: [テーブルの切詰め (Truncate Table)] および [アペンド (Append)]

                    サンプル スクリプト:

                    """ Truncate table or feature class and append records """
                    
                    import arcpy
                    import sys
                    
                    
                    def TruncateTableOrFeatureClass(in_table, target_table):
                        """ Truncate table or feature class and append records """
                        try:
                            arcpy.TruncateTable_management(target_table)
                            arcpy.Append_management(in_table, target_table, schema_type="NO_TEST")
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        TruncateTableOrFeatureClass(*arguments)
                    

                    テーブルまたはフィーチャクラスの切詰め、レコードの追加、およびデータベース統計情報の更新

                    説明: 別の組織や外部組織からデータの更新を受け取った場合は、テーブルの切詰めやデータ更新の追加により、既存のデータおよびテーブルに定義された権限を保持できます。テーブルに多数のレコードが含まれている場合は、新しく更新されたテーブルでデータの統計情報を更新することもできます。

                    使用ツール: [テーブルの切詰め (Truncate Table)]、[アペンド (Append)]、および [データセットの分析 (Analyze Datasets)]

                    サンプル スクリプト:

                    """
                    Truncate table or feature class, append records, and update
                    database statistics
                    """
                    
                    import arcpy
                    import sys
                    import os
                    
                    
                    def TruncateTableOrFeatureClass(in_table, target_table):
                        """
                        Truncate table or feature class, append records, and update
                        database statistics
                        """
                        try:
                            arcpy.TruncateTable_management(target_table)
                            arcpy.Append_management(in_table, target_table)
                    
                            descr = arcpy.Describe(os.path.dirname(target_table))
                            if getattr(descr, 'connectionProperties', None):
                                conn = os.path.dirname(target_table)
                            else:
                                conn = os.path.dirname(os.path.dirname(target_table))
                    
                            arcpy.AnalyzeDatasets_management(conn)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        TruncateTableOrFeatureClass(*arguments)
                    

                    非空間データベース ビューの作成

                    説明: データベース ビューでは、複数のテーブルのデータを組み合わせたり、ソース テーブルから返される属性を制限したりできます。

                    使用ツール: [データベース ビューの作成 (Create Database View)]

                    サンプル スクリプト:

                    """ Create nonspatial view """
                    
                    import arcpy
                    import sys
                    
                    
                    def CreateNonspatialView(input_database, view_name, view_definition):
                        """ Create nonspatial view """
                        try:
                            arcpy.CreateDatabaseView_management(input_database, view_name, view_definition)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        CreateNonspatialView(*arguments)
                    

                    SQL ジオメトリ タイプ列を含むデータベース ビューの作成

                    説明: データベース ビューでは、複数のテーブルやフィーチャクラスのデータを組み合わせたり、ソース テーブルやフィーチャクラスから返される属性を制限したりできます。ビューには単一の SQL ジオメトリ タイプ列を含めることができ、ArcGIS で空間データを表示できます。

                    使用ツール: [データベース ビューの作成 (Create Database View)]

                    サンプル スクリプト:

                    """ Create view containing SQL geometry type column """
                    
                    import arcpy
                    import sys
                    
                    
                    def CreateSpatialView(input_database, view_name, view_definition):
                        """ Create view containing SQL geometry type column """
                        try:
                            arcpy.CreateDatabaseView_management(input_database, view_name, view_definition)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        CreateSpatialView(*arguments)
                    

                    テーブルの削除

                    説明: ジオデータベースから一度に複数のテーブルを削除できます。この操作は、プロジェクト固有のデータなどの一時的なデータを使用するワークフローや、外部組織から置換用データを受け取るようなワークフローで便利です。

                    使用ツール: [削除 (Delete)]

                    サンプル スクリプト:

                    """ Delete nonspatial tables """
                    
                    import arcpy
                    import sys
                    
                    
                    def DeleteNonspatialTables(in_data):
                        """
                        Delete nonspatial tables
                    
                        in_data -- semi-colon delimited string of tables
                        """
                        try:
                            tables = in_data.split(';')
                            for table in tables:
                                arcpy.Delete_management(table)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        DeleteNonspatialTables(sys.argv[1])
                    

                    フィーチャクラスの削除

                    説明: ジオデータベースから一度に複数のフィーチャクラスを削除できます。この操作は、プロジェクト固有のデータなどの一時的なデータを使用するワークフローや、外部組織から置換用データを受け取るようなワークフローで便利です。

                    使用ツール: [削除 (Delete)]

                    サンプル スクリプト:

                    """ Delete feature classes """
                    
                    import arcpy
                    import sys
                    
                    
                    def DeleteFeatureClasses(in_data):
                        """
                        Delete feature classes
                    
                        in_data -- semi-colon delimited string of feature classes
                        """
                        try:
                            feature_classes = in_data.split(';')
                            for fc in feature_classes:
                                arcpy.Delete_management(fc)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        DeleteFeatureClasses(sys.argv[1])
                    

                    シェープファイルへのデータのエクスポート

                    説明: フィーチャクラスをシェープファイルにエクスポートします。

                    使用ツール: [フィーチャクラス → シェープファイル (マルチプル) (Feature Class To Shapefile (multiple))]

                    サンプル スクリプト:

                    """ Export data to a shapefile """
                    
                    import arcpy
                    import sys
                    
                    
                    def ExportToAShapefile(in_table, target_shp):
                        """ Export data to a shapefile """
                        try:
                            if arcpy.Exists(target_shp):
                                arcpy.Append_management(in_table, target_shp, schema_type="NO_TEST")
                            else:
                                arcpy.CopyRows_management(in_table, target_shp)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ExportToAShapefile(*arguments)
                    

                    バージョン対応ジオデータベースのリコンサイル、ポスト、および圧縮

                    説明: 複数のユーザーが長期にわたってデータを同時に編集する必要がある編集ワークフローを効率的に行うには、データとジオデータベースをバージョン対応登録します。この場合、ジオデータベースにいくつかの保守が必要になります。これらの保守には、上位バージョンに行った変更を取得するためのバージョン対応登録されたデータと上位バージョンのリコンサイル、子バージョンから上位バージョンへの編集のポスト、不要なバージョン ステートを削除するためのジオデータベースの圧縮があります。

                    使用ツール: [バージョンのリコンサイル (Reconcile Versions)] および [圧縮 (Compress)]

                    サンプル スクリプト:

                    """ Reconcile, post, and compress versioned geodatabase """
                    
                    import arcpy
                    import sys
                    
                    
                    def ReconcilePostAndCompress(input_database, reconcile_mode):
                        """
                        Reconcile, post, and compress versioned geodatabase
                        """
                        try:
                            arcpy.ReconcileVersions_management(input_database, reconcile_mode)
                            arcpy.Compress_management(input_database)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        ReconcilePostAndCompress(*arguments)
                    

                    「Python スクリプトを使用したバージョンのバッチ リコンサイルとポスト」もご参照ください。

                    テーブルまたはフィーチャクラスのバージョン対応登録、Global ID の追加、およびレプリカの作成

                    説明: テーブルまたはフィーチャクラスを複製する前に、これらをバージョン対応登録して、Global ID 列を追加する必要があります。

                    使用ツール: [バージョン対応登録 (Register As Versioned)]、[Global ID の追加 (Add GlobalIDs)]、および [レプリカの作成 (Create Replica)]

                    サンプル スクリプト:

                    """ Version tables, add global IDs to tables, and create a replica """
                    
                    import arcpy
                    import sys
                    
                    
                    def VersionTablesEtc(in_tables, in_type=None, out_geodatabase=None, out_name=None):
                        """ Version tables, add global IDs to tables, and create a replica """
                        try:
                            tables = in_tables.split(';')
                            for table in tables:
                                arcpy.RegisterAsVersioned_management(table)
                            arcpy.AddGlobalIDs_management(tables)
                    
                            if 'CreateReplica' in dir(arcpy.management):
                                arcpy.CreateReplica_management(tables, in_type, out_geodatabase, out_name)
                    
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        arguments = sys.argv[1:]
                        VersionTablesEtc(*arguments)
                    

                    ジオデータベースへのサードパーティ テーブルの登録

                    説明: サードパーティ製アプリケーションまたは SQL を使用して、ジオデータベースが格納されているデータベースにテーブル (空間および非空間の両方) を作成する場合は、テーブルをジオデータベースに登録できます。テーブルに関する情報がジオデータベース システム テーブルに追加され、テーブルをジオデータベースの機能で利用できるようになります。

                    使用ツール: [ジオデータベースに登録 (Register With Geodatabase)]

                    サンプル スクリプト:

                    """ Register third-party tables with the geodatabase """
                    
                    import arcpy
                    import sys
                    
                    
                    def RegisterThirdPartyTables(in_tables):
                        """
                        Register third-party tables with the geodatabase
                    
                        in_tables -- semi-colon delimited string of tables
                        """
                        try:
                            tables = in_tables.split(';')
                            for table in tables:
                                arcpy.RegisterWithGeodatabase_management(table)
                        except arcpy.ExecuteError:
                            print(arcpy.GetMessages(2))
                    
                    if __name__ == "__main__":
                        RegisterThirdPartyTables(sys.argv[1])
                    

                    ArcGIS for Desktop

                    • ホーム
                    • ArcGIS Pro
                    • ArcMap
                    • ドキュメント
                    • 価格
                    • サポート

                    ArcGIS

                    • ArcGIS Online
                    • ArcGIS for Desktop
                    • ArcGIS for Server
                    • ArcGIS Platform
                    • ArcGIS Developer
                    • ArcGIS Solutions
                    • ArcGIS Marketplace

                    Esri について

                    • 会社概要
                    • 採用情報
                    • スタッフ ブログ
                    • ユーザ カンファレンス
                    • デベロッパ サミット
                    Esri
                    © Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル