さあ始めよう
ソースを入手して、バイナリを構築しましょう
こちらはビルド・ドキュメンテーションに書かれています。
Linux上でのFDOインストール・パスは固定されています。/user/local/fdo-
Windows上でのFDOインストール・パスはビルド・スクリプトへのコマンド・ライン引数を使用して設定することができます。
C++アプリケーション開発環境のセットアップ
Windows上のFDOソースフォルダ内にある、solution(sln)またはprojectプロジェクト(vcproj)ファイル、またはLinux上のFDOソース・ディレクトリ内にあるmakefile.amやconfigure.inファイルの設定を調べます。
- Windows
-
Visual Studio Express, Standard または Professional 2005を使用していることが前提です。
環境をセットアップするために、インストール・パスを使用し、コンパイル時にヘッダーとライブラリを設置し、共有シェア・オブジェクトをランタイム時に置くことができるようにします。
環境をセットアップするために、ビルド・パスを使用し、デバッガがプログラムデータベースファイル(symbol tables)とソースファイルをランタイムに置くことができるようにします。
ソリューションまたはプロジェクトプロパティを設定するか、Visual Studioツール・オプションを使用するか、環境変更(PATH)を設定することで、様々なファイルを見えるようにすることができます。
プロパティ・メソッドの最初のステップは、solutionかSolution Explorer内のプロジェクトを選択することです。(右クリックして、ポップアップメニューを表示し、プロパティを選択します。)
結果として、プロパティのダイアログが表示されます。projectプロパティが表示されたら、2番目のステップとして、プロパティのダイアログ・コンテンツウィンドウ内にある、’Configuration Properties’を開きます。ツール・オプション・メソッドの場合は、最初のステップとして、メインのメニューバーにあるツールメニューから’Options…’を選択します。結果として、オプション・ダイアログが表示されます。
- ヘッダー
-
project・プロパティのダイアログ・コンテンツウィンドウ内にある’Configuration Propaties’を開き、’C/C++’を開きます。その後、’General’を選択し、’Additional Inculude Directories’を編集します。
もう一つの方法として、オプション・ダイアログ・コンテンツウィンドウ内にある’Project and Solutions’を開き、’VC++ Directories’を開きます。その後、’Show directories for:’というラベルのついたspinboxの中から’Include files’を選択します。手順に従って、ディレクトリを追加してください。
- ライブラリ
-
project・プロパティのダイアログコンテンツウィンドウ内にある’Configuration Properties’を開き、’Linker’を開きます。その後、’General’を選択し、’Additional Library Directories’を編集します。
もう一つの方法として、オプション・ダイアログ・コンテンツウィンドウ内にある、’Projects and Solutions’を開き、’VC++Directories’を開きます。その後、’Show directories for:’というラベルのついたspinboxの中から、’Library files’を選択します。手順に従って、ディレクトリを追加してください。
- 動的にリンクされたライブラリ
-
オプション・ダイアログ・コンテンツウィンドウ内にある’Projects and Solutions’を開き、’VC++Directories’を開きます。その後、’Show directories for:’というラベルのついたspinboxの中から、’Executables’を選択します。手順に従って、ディレクトリを追加してください。
または、DLLsの位置を参照するPATH環境変更を設定するために、XPを使ってください。
- ソース・ファイル
-
solution・プロパティ・コンテンツウィンドウ内にある、’Common Properties’を開きます。その後、’Debug Source Files’を選択します。手順に従って、ディレクトリを追加してください。
オプション・ダイアログ・コンテンツウィンドウ内にある’Project and Solutions’を開き、’VC++Directories’を開きます。その後、’Show directories for:’というラベルのついたspinboxから’Source files’を選択してください。
手順に従って、ディレクトリを追加してください。 - シンボル・テーブル・ファイル(プログラム・データベース・ファイル)
- オプション・ダイアログ・コンテンツウィンドウから’Debugging’を開き、’Symbols’を開きます。手順に従って、ディレクトリを追加してください。
- Linux
- LD_LIBRARY_PATHを設定してください。
C++アプリケーション開発環境のセットアップ
終了
API リファレンス・ドキュメンテーションにアクセスする
API リファレンス・ドキュメンテーションは、ヘッダーファイル内のコメントを処理するためにdoxygenを使って作成されました。doxygenがHTMLファイルを生成する際、doxygenはそれらのファイルを、より迅速なアクセスを可能にするために生成されるファイル構造に配分します。これは、クラスHTMLファイルへの直リンクを防ぎます。
FDO C++ クラス・リファレンス・ドキュメンテーションを読むよう依頼された場合は、FDO C++ API リファレンスを読み込み、右手のウィンドウにあるClassesのタブをクリックし、クラス名をクリックしてください。
FDO C#クラス・リファレンス・ドキュメンテーションを読むよう依頼された場合は、FDO .NET APIリファレンスを読み込み、右手のウィンドウにあるClassesのタブをクリックし、クラス名をクリックしてください。
プロバイダに接続するためにコードを書く
下記の作業を行います:
- インストール済みのプロバイダリストを入手する
- 接続マネージャを作成する
- 接続を作成する
- 接続状態を入手する
- 接続プロパティを入手する
- 接続プロパティの値を入手する
- 接続プロパティをセットする
- 接続を開始する
- 保留中の接続を開始する
- プロバイダ・レジストリを作成する
- プロバイダ・レジストリでは何のプロバイダがインストールされているかを知ることができます。FDOFeatureAccessManager C++クラス・リファレンス内の、GetProviderRegistryメソッドか、FeatureAccessManager C#クラス・リファレンスを参照してください。
- インストール済みのプロバイダリストを入手する
-
FdOFeatureAccessManager C++クラス・リファレンス内の、GetProviderRegistryメソッドか、FeatureAccessManager C#クラス・リファレンスを参照してください。このメソッドは、Windows上の
/binフォルダ、またはLinux上の/the/usr/local/fdo- /libディレクトリ内にあるproviders.xmlファイルのコンテンツを返します。接続を作成するとき、このメソッドで返された文字列のうちの一つを引数として使用します。 - 接続マネージャを作成する
- 接続マネージャは接続を作成するものです。FdoFeatureAccessManager C++クラス・リファレンスか、FeatureAccessManager C#クラス・リファレンス内の、GetConnectionManagerメソッドを参照してください。
- 接続を作成する
- FdoConnectionManager C++クラス・リファレンスか、IConnectionManagerImp C#クラス・リファレンス内の、Create Connectionメソッドを参照してください。
- 接続状態を入手する
- この時点では、接続状態はクローズされています。FdoIConnection C++クラス・リファレンスか、IConnectionImp C#クラス・リファレンス内の、GetConnectionStateメソッドを参照してください。
- 接続プロパティを入手する
-
最初に接続情報を入手します。FdoIConnection C++クラス・リファレンスか、IConnectionImp C#クラス・リファレンス内の、GetConnectionInfoメソッドを参照してください。その後、接続プロパティを入手します。FdoIConnectionInfo C++クラス・リファレンスか、IConnectionInfoImp C#クラス・リファレンス内の、GetConnectionStateメソッドを参照してください。このメソッドはconnectionプロパティ辞書を返します。
FdoIConnectionPropertyDictionary C++ クラス・リファレンスか、 IConnectionPropertyDictionary C# クラス・リファレンス内の、connectionプロパティ辞書内の情報にアクセスするために使われるメソッドを参照してください。これらのメソッドを使うことで、各プロパティの名前や、それらが任意なのか必須なのかどうか、デフォルト値を持つかどうかや、その種類、また可算なのかどうかがわかり、可算であれば、何の値をセットできるのかを知ることができます。
- Connectionプロパティの値を入手する
-
Connectionで使われるプロパティのタイプは下記を含みます:
- ユーザーネーム
- パスワード
- ファイルのパス名
- URL
- シンボリック・ホスト名(記号ホスト名?)
- サービス確認者
- データ・ストア名
各プロバイダには、それぞれ独自のconnectionプロパティがあります。様々なプロバイダ用のconnectionプロパティはThe Essential FDO(PDF)に記載されています。
- Connectionプロパティをセットする
- FdoIConnectionPropertyDictionary C++ クラス・リファレンスか、 IConnectionPropertyDictionary C# クラス・リファレンス内の、connectionプロパティ辞書内の情報にアクセスするために使われるメソッドを参照してください。
- 接続を開始する
- FdoIConnection C++クラス・リファレンスか、IConnectionImp C#クラス・リファレンス内の、Openメソッドを参照してください。
- 保留中の接続を開始する
-
各RDBMSベースのプロバイダには、データ・ストア名が含まれるconnectionプロパティがあります。Connectionを作成する上で、データ・ストア・プロパティは初めは要求されません。もしプロパティが設定されていない場合、connectionが成功していれば、それは保留中の状態になっています。
初期の接続操作の結果、データ・ストアのプロパティはRDBMSのデータ・ストアの名前で投入され、そのオプショナリティ属性は要求された値に変更されます。データ・ストア名のセットを読み込むためには、FdoIConnectionPropertyDirectionary(C++)オブジェクトまたは、IConnectionPropertyDictionary(C#)オブジェクト上のEnumeratePropertyValuesを使用し、それらの名前のうちの一つにそのその辞書内のデータ・ストア・プロパティを設定します。
その後、再度FdoIConnection(C++)オブジェクトまたはICOnnectionImp(C#)上のオープン・メソッドを呼び出します。こうすると、完全に接続がオープンされます。保留中の接続を使用して、ArcSDEプロバイダに接続することができ、初期の接続の結果返されたデータ・ストア名のセットに唯一の名前が1つだけあるのがわかります。
次のステップ
- ArcSDE プロバイダ
- ArcSDEサーバーに接続するために、このプロバイダを使用します。(そのサーバーは順々にOracleまたはSQLServerデータ・ソースに接続します。)次のステップでは、data maintenance(挿入・アップデート・削除)と、query(選択)コマンドが実行できるように、データ・ソース内のフィーチャ・スキーマの番号と構成を決めます。
- MySQL プロバイダ
- 次のステップでは、データ・ストアとユーザーの作成です。その後、フィーチャ・スキーマを作成し、data maintenanceとqueryコマンドを実行します。
- SDF, SHP and ODBC プロバイダ
- 次のステップでは、フィーチャ・スキーマを作成し、data maintenanceとqueryコマンドを実行します。
- WFS and WMS プロバイダ
- 次のステップでは、フィーチャ・スキーマの構成を決め、queryコマンドを実行します。