Re: [OSGeoJapan-discuss] spatialite形式レイヤの属性テーブルを ADOで接続・編集したい

Yoichi Kayama yoichi.kayama @ gmail.com
2010年 7月 11日 (日) 08:44:58 EDT


西村様
皆様

嘉山@OSGeo.jp です

QGISで新規レイヤとしてspatialiteが利用できるようになったのはV1.5からです
ので、まだこの機能を試した方は少ないと思います。
そういう意味では、この機能の利用については現状では人柱的な位置になると思います。

私もこのあたりの機能のGUIメッセージを確認するために先週の金曜日に初めてここの
機能を使ったというのが現状でして、これから一緒に勉強させてくださいという段階です。

spatialite自体はSQLiteの拡張で単一ファイルで空間データベースを構築できるので
注目しております。

とりあえずここでSQLiteの知識を仕入れてみました
http://ja.wikipedia.org/wiki/SQLite

データ型についてですが

>データ型を指定する必要がない
>サポートしている型は、Null/Integer/Real/Text/BLOBのみ
>Unicodeのサポート
>BLOBはメモリの許す限り
>ROWIDを持っている (しかし、外部制約キーの仕組みがない)

とのことです。Textとかは長さの指定が無いようです

ODBCについては以下の記述があります

>SQLiteのODBCドライバがサードパーティから提供されている。SQLite 2とSQLite 3のバージョンがあり、SQLite 2
>向けには、さらにUTF-8対応版がある。Microsoft AccessからODBCリンクするときには、データ型をあらかじめ
>SQLite側のCREATE TABLEで宣言しておく必要がある。そうしておかないと、全てのデータ型がintとみなされる
>ことがある。日本語文字コードはUTF-8としておけば、Access側でも正しく表示される。

ここらあたりについてちょいとためしてみてはいかがでしょうか。

2010年7月11日9:33 西村和志 <netwaker @ msc.biglobe.ne.jp>:
> お世話になります。
>
> 標記の件についてどなたかご教示いただけないでしょうか。
>
> QGISver1.5より編集可能になったspatialite形式についてです。
>
> SHP形式やArcGIS のmdb形式のレイヤはADOやADO.netで属性テーブルに接続して、
> sqlクエリで値の入力・編集を行うことができますが、
> spatialite 形式レイヤの属性値を同様の方法で編集することはできないでしょうか。
> http://www.ch-werner.de/sqliteodbc/
> に sqliteのODBCドライバがあるので、これで試してみたのですがうまくいきません。
> ExcelVBAや.NETで作成したカスタムフォームで
> 簡易にデータ入力を行うことができれば様々な業務システムのGISエンジンにQGISを
> 採用することも考えられるので何とかしたいと考えています。
> (QGISプラグインを作成できれば一番よいのですが、いかんせん、難しいです・・・。)
>
> それと、spatialiteでレイヤを作成し、フィールドを追加すると string型の文字数や数値型の桁数の指定が
> 表示されません。これはspatialite形式の仕様でしょうか?
>
> よろしくお願いいたします。
>
> ////////////////////
> Not Haste,Not Rest
> ///////////////////


OSGeoJapan-discuss メーリングリストの案内