SDE Layersビュー [非空間テーブル⇒空間ビュー]


SQL Geometry使えれば、SDE管理下のテーブルを一覧するレイヤを作れたりする。
(範囲ポリゴン)
XYが入った非ジオメトリテーブルのテンポラリ描画にも有効な手法

やり方は下記

SDE_layersにはSDE登録されているレイヤ(FeatureClass)がすべて登録される。
SDE管理下にあるテーブルは付加情報テーブルで管理される。

SDE_layersのSRIDは一般的なSRIDにはならない、下記のように確認が必要

SELECT TOP 1 
auth_srid FROM dbo
.SDE_spatial_references
 WHERE srid=
2

環境によって違うが、2が4612の模様
下記のようにViewを作っておくとテーブル毎に矩形が出来る。
SRIDを指定しているのはクエリレイヤでArcMapに追加できるから

CREATE VIEW
 LAYER_VIEW_2
AS
SELECT
  table_name,
  geometry::STGeomFromText('POLYGON ((' + 
  STR(minx) + ' ' + STR(miny) + ',' +
  STR(minx) + ' ' + STR(maxy) + ',' +
  STR(maxx) + ' ' + STR(maxy) + ',' +
  STR(maxx) + ' ' + STR(miny) + ',' +
  STR(minx) + ' ' + STR(miny) + '))'
  , 4612 ) AS EXT
FROM
 dbo.SDE_layers
WHERE
 srid = 2
GO

例はポリゴンだが、ポイント・ラインでも当然(XY)の文字列があれば構築可能

クエリレイヤについては下記
http://help.arcgis.com/ja/arcgisdesktop/10.0/help/index.html#//00s50000000n000000

カテゴリー: 運用, 開発 タグ: , パーマリンク