注意:このブログ記事は、egdbhealthに関する3回の予定された投稿シリーズの最初の記事です。シリーズの2回目では、Enterprise Geodatabaseの健全性を評価するためのツールの使用方法について説明します。シリーズの3回目では、システム設計の文脈でegdbhealthを使用することについて説明します。
はじめに
EgdbhealthはEnterprise Geodatabases(eGDBes)のさまざまな特性を報告するためのツールです。eGDBの内容に関する記述情報を提供し、eGDBに関する評価情報も提供します。評価情報がこのツールの主な目的であり、eGDBの既存または潜在的な問題や課題を明らかにします。このツールはOracle、PostgreSQL、およびSQL ServerでサポートされているeGDBesで動作します。
インストールと実行
ArcGIS Monitorの拡張機能ではありませんが、egdbhealthはArcGIS Monitor Galleryからダウンロード可能です:https://arcgismonitor.maps.arcgis.com/home/item.html?id=f343f6b2bbcf434386f6dde1e468e7ab。
インストールと前提条件
インストールするには、単に.zipアーカイブをダウンロードし、お好みのディレクトリにファイルを展開してください。
egdbhealthを実行するためにはいくつかの前提条件があります。これらの考慮事項は.zipアーカイブ内のドキュメント(egdbhealth_README.docx)で説明されていますが、大まかには以下の通りです:
- 接続先データベース(Oracle、PostgreSQL、またはSQL Server)のデータベースクライアントが必要です(http://desktop.arcgis.com/en/arcmap/latest/manage-data/databases/database-clients.htm)。
- SQL Serverで「Operating System Authentication」を使用し、かつeGDBが「dbo」所有の場合(「sde」ではなく)、egdbhealthはdboユーザーとしてWindowsユーザーで実行する必要があります。つまり、「Geodatabase Administrator」として接続しなければなりません(http://desktop.arcgis.com/en/arcmap/latest/manage-data/gdbs-in-sql-server/geodatabase-administrator-sqlserver.htm)。OracleまたはPostgreSQLの場合もGeodatabase Administratorとして接続する必要がありますが、通常は「sde」というユーザーとして接続します。
- OracleまたはPostgreSQLに接続する場合、ST_Geometryタイプライブラリが有効になっている必要があります(http://desktop.arcgis.com/en/arcmap/latest/manage-data/databases/add-the-st-geometry-type-to-an-oracle-database.htm または http://desktop.arcgis.com/en/arcmap/latest/manage-data/databases/add-the-st-geometry-type-to-a-postgresql-database.htm)。
実行
egdbhealth.exeをダブルクリックするとコマンドウィンドウとWindowsフォームが起動します。
フォーム上の指示に従ってデータベースへの接続情報を入力してください。ツールチップが必要な情報についてヒントを提供します。しかし原則として、この情報は「Geodatabase Administrator」としてArcGISからデータベースに接続する際に提供するものと同じです。

「Test」ボタンは必要な権限でeGDBに接続できるかどうかを確認しようとします。テストが成功すると、「Test」ボタンは「Run」ボタンに変わります。それをクリックするとフォームが閉じてコマンドウィンドウでツールの実行が開始されます。
ツールが完了すると、「output」サブディレクトリが開き、以下の5つの出力ファイルが含まれます:
- 問い合わせたeGDBおよびRDBMSターゲットに関するメタデータと接続方法を含むHTMLファイル。
- eGDBおよびRDBMSターゲットに関する記述情報を含む「Context」Excelファイル。
- 評価情報(Critical、Warning、およびInformationに分類)を含む「Expert」Excelファイル。
- バージョンツリーを描画したpngファイル。
- 状態ツリーを描画したpngファイル。
出力の紹介
以下に出力ファイルの例を示します:

ファイル名にはフォームで指定した「GDB Friendly Name」(この例では「SQL_GIS」)が付けられます。
The Expert Excel File
The Expert Excelファイルは主要な情報成果物です。対象となるeGDBシステムに関する評価情報を提供します。例えば、最近圧縮されていない場合、その懸念事項として評価されます。
このファイルには評価概要を示すサマリーシートがあります。評価は一般的なトピック(最初の列「Category」)ごとに分類され、「Critical」「Warning」「Informational」の列で分類されており、情報レビューの優先順位付けが可能です。
Description列には評価目的が簡潔に説明されています。Descriptionセルに赤いマーカーがある場合、その上にカーソルを置くとさらに詳細な評価内容が表示されます。

一部の所見には報告すべき記録がありません。例えば特定種類のGeodatabase Consistencyに問題がない場合、その記録はありません。しかし、多くの場合はいくつかの分類された記録があります。その場合、Name(第2列)には詳細な所見記録があるワークブック内シートへのハイパーリンクがあります。
The Context Excel File
The Context Excelファイルは構造的には類似していますが、専門家による(Critical-Warning-Informational)分類列はありません。情報はより記述的で評価的ではありません。例えば、このファイルではすべてのGeodatabase Domainsとそれらに関連付けられたObjectClasses一覧を見ることができます。この情報は良い悪いというものではなく(つまり評価的ではなく)、しかし知っておくと役立つ場合があります。

緑色でハイライトされたレコードには追加情報取得用に実行可能なSQL文があります。通常これらSQL文はeGDB内すべてのコンテンツに対して実行するとコストが高すぎるため適宜実行してください。
しかし、eGDBとその問題に詳しい人は、それでも実行すると有用なクエリについてアイデアを持っているかもしれません。例えば、「SqlGeomTypeSizeSql」シートには、eGDB内の各FeatureClassに対するSQLクエリがあります。これらのクエリのいずれかを実行すると、1つのFeatureClass内のジオメトリのサイズが報告されます。これは非常にコストのかかる操作であるため、デフォルトで全てのFeatureClassに対して実行するのは適切ではありません。しかし、パフォーマンスに問題があるFeatureClassがある場合、そのFeatureClassのジオメトリのサイズを調べるためにそのクエリを実行することが有用かもしれません。<\/P>
<\/P>
The PNGes<\/H3>PNGファイル(バージョンツリー図とステートツリー図)は、通常、eGDBにバージョン管理されたデータが登録されている場合に関心があります。<\/P> <\/P>バージョンツリーグラフはバージョンツリーの階層構造を示します。色分け(赤-黄-緑)は「古さ」の相対的な度合い、つまりバージョンが最後に編集または調整されてからどれくらい経過しているかを示しています。<\/P> <\/P>
<\/P> <\/P>ステートツリーの模式図はステートツリーの深さと構造(バージョンツリーが依存する詳細な構造)を示します。Default バージョンは赤で示され、「State Zero」は緑で示されています。これらのノードが離れているほど、データベースがDefault バージョン(ほとんどのシステムで最も一般的に使用されるバージョン)に関する情報を返すコストが高くなります。<\/P> <\/P>
<\/P> <\/P>The HTML<\/H3>HTMLは評価対象となるeGDB、RDBMS、およびマシンに関する一般的な情報を提供します。多くの場合、それほど興味深いものではないかもしれません。<\/P> <\/P>
<\/P> <\/P>Summary<\/H2>この記事ではegdbhealthの目的、その実行方法、および出力内容について説明しました。このツールの出力にはかなり技術的な情報が含まれているため、他の記事では出力を使用して(a) eGDBの健全性を理解し改善する方法 (b) GISシステムを設計する方法について説明します。<\/SPAN><\/P> <\/P>お役に立てれば幸いです。ご質問があればこちらに投稿してください: https:\/\/community.esri.com\/thread\/231451-arcgis-architecture-series-tools-of-an-architect<\/SPAN><\/A><\/SPAN><\/P> <\/SPAN><\/P>注意:<\/EM><\/STRONG> 上記に示した内容は、多くのシナリオでパフォーマンスを向上させる推奨事項です。ただし、場合によってはこれらの推奨事項がより良いパフォーマンス結果をもたらさないこともあり、その場合は追加のパフォーマンステストやシステム構成の変更が必要になることがあります。<\/EM><\/SPAN><\/P>