ワークフロー:ArcObjects ラスタ フィールドの作成

複雑性: 上級 データ要件: 独自データの使用 目的: 非空間ラスタ フィールドを作成してデータ投入し、ArcGIS でアクセスできるよう準備します。

一部のアプリケーションでは、ポイント フィーチャ、ライン フィーチャ、またはポリゴン フィーチャをよりわかり易く図解するために交通標識の絵や川、建物といった画像が表示されます。これらの画像は、空間参照されている場合とされていない場合があります。非空間ラスタ列を備えたテーブルの作成には、SQL を使用できます。

次のワークフローでは、ラスタ列を作成してデータ投入し、ArcGIS によるアクセスの準備をする方法について説明します。

ラスタ列を持つテーブルの作成とデータ投入

手順:
  1. SQL エディタからデータベースに接続します。

    たとえば、SQL*Plus から Oracle に、pgAdminIII または psql コマンド プロンプトから PostgreSQL に、Management Studio から Microsoft SQL Server に接続します。

  2. ST_Raster 列を持つテーブルを作成します。

    Oracle

    CREATE TABLE real_estate (address nvarchar2(255),
    sde.st_raster picture);
    

    PostgreSQL

    CREATE TABLE real_estate (address varchar(255), 
    sde.st_raster picture);
    

    SQL Server

    CREATE TABLE real_estate (address varchar(255), 
    dbo.st_raster picture);
    

    SQL Server のジオデータベースが SDE ユーザのスキーマに格納されている場合は、関数の先頭に sde を追加します。

  3. ST_Raster_Util Initialize メソッドでラスタ列を初期化します。

    以下の例では、データが空間参照されていないので、projectID 引数が NULL になっています。

    Oracle

    BEGIN
    SDE.ST_RASTER_UTIL.INITALIZE ('real_estate','picture',NULL,'defaults');
    END;
    /
    

    PostgreSQL

    SELECT st_raster_util_initialize  
    ('real_estate','address',4326,'DEFAULTS');
    

    SQL Server

    EXEC dbo.st_raster_util_initialize 
    'sde','bobby','real_estate','address',4326,NULL,'DEFAULTS'
    

    このメソッドを実行すると、ラスタ列が ArcSDE に登録されて、ラスタ列の機能が利用できるようになります。

  4. ST_Raster コンストラクタで TIFF 画像を変換します。

    以下の例では、ST_Raster コンストラクタで TIFF 画像ファイル 30551_independence を変換して、30551 Independence Ave に所在する物件の図が real_estate テーブルに入力されています。

    Oracle

    INSERT INTO REAL_ESTATE (address, sde.st_raster)
    VAULES
    ('30551 Independence  Ave',
    SDE.ST_RASTER('C:\30551_independence.tif','compression=lz77'));
    

    PostgreSQL

    INSERT INTO real_estate (address, sde.st_raster)
    VAULES
    ('30551 Independence Ave',  
    sde.st_raster('C:\30551_independence.tif'));
    

    SQL Server

    INSERT INTO real_estate (address, dbo.st_raster)
    VALUES
    ('30551 Independence Ave',
    ST_Raster::construct('C:\30551_independence.tif'));
    
    ヒントヒント:

    画像へのパスは、必ずデータベース サーバがアクセスできるものにしてください。

  5. このテーブルには追加のデータを挿入することもできます。

ジオデータベースへのテーブルの登録

テーブルをジオデータベースに登録する場合は、ArcGIS for Desktop を使用します。

手順:
  1. ArcMap を起動してカタログ ウィンドウを表示するか、ArcCatalog を起動します。
  2. 登録するテーブルが格納されているエンタープライズ ジオデータベースに接続します。

    これで、カタログ ツリーの [Database Connections] ノードで、接続が確立されるようになります。必ずテーブルの所有者として接続してください。

  3. real_estate テーブルを右クリックし、[ジオデータベースに登録] をクリックします。

    ObjectID フィールドが real_estate テーブルに追加されます。ObjectID フィールドによって、ArcGIS はテーブルの各行をカーソル移動できます。

関連トピック

5/25/2014