NativeFormat(データベースレイヤーフォーマット)


はじめに

GISではこれまで一般的にシェープファイルを用いて運用されることが多かったのですが、開発発明されたのが数十年前のものになります。当時の構成としてはとても斬新でしたが、現代のように文字コードが(例えばUTF-8等)は考えて設計されていません。従って国際文字を作ろうと1文字3バイトとして認識するのでdbfですと最大256バイト、つまり85文字程度しか表現できなくなっています。その点でデータベーステーブルにすると制限がほぼ皆無になるというメリットがあります。


ファイル構成

基本


2つをセットで利用します。

xxxxxx.sqlite・・・・・・・・・図形属性内容を表す本体ファイル
xxxxxx.ttkls・・・・・・・・・接続情報ファイル

xxxxxxはレイヤー名になります(例 douroやtatemono)

拡張


xxxxxx.ttkls.ttkstyle・・・・・・スタイル情報ファイル(色や線幅など)

テーブル内の構成

データベースファイルとしての器(うつわ)としてはメジャーなものであれば対応しているので問いません。またテーブルへのアクセス方法も様々なものを用いて運用することが可能です。

もっとシンプルな言い方をすると、Accessでも良いし、SQLiteでも良いし、SQLServerを使っても構いません。


基本テーブル


xxxxxx_FEA・・・・・・・・・属性情報
xxxxxx_GEO・・・・・・・・・図形座標情報
ttkGISLayerSQL・・・・・・・全体総括情報(EPSGなどのprj情報もここに入ります)
(sample)
GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["Degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4269"]]

xxxxxxはレイヤー名になります(例 douroやtatemono)

インデックステーブル


xxxxxx_IDX
xxxxxx_IDX_node
xxxxxx_IDX_parent
xxxxxx_IDX_rowid

(SQLiteを用いた場合)