[OSGeoJapan-discuss] <教えて下さい>spatialiteのcrosses、intersectionで時間がかかる
SGW00412 @ nifty.com
SGW00412 @ nifty.com
2011年 12月 5日 (月) 07:33:22 EST
先日のQgisのプラグイン管理では大変お世話になりました。
(python系を外したり試行錯誤したのですが解決せず
それでもプラグインメニューが消えることはないので
当面、このまま行こうと思っています...)
素人質問ばかりで恐縮ですが、よろしければご教授下さい。
現在、船舶レーダで、洋上の鳥類の飛翔軌跡を記録しています。
ただし、波浪が高い時、波浪の動きも鳥と誤判定されてしまい
膨大な軌跡データが取れます。
たとえば、一日あたり、20万ラインとか...
このようなラインデータ群(シェープ)を扱うのに、通常の
GiSソフトでは処理に時間がかかるので、spatialiteを
使ってみようと思いました。
ラインデータをspatialieにインポートし、さらに1カ所の
対象区域(ポリゴン)をインポートして、両者をオーバレイして
対象区域を通過するライン群を得ようとしました。
(誤判定処理はとりあえず考えないことにします)
そこで見よう見まねで、SQLを
select
*
from
ライン群 as A,
対象区域 as B
where
Crosses(A.geometry, B.geometry);
としたところ、処理は進むのですが(row=100,200,300...と進む)
相当時間がかかります。
とりわけ、処理結果を新たなDBに取り込みたいので先頭行に
create table output as
と入れると、さらに時間がかかってしまいます。
お伺いしたいことは:
・処理時間を短縮するには、何か工夫が必要でしょうか?
(SQL文の書き方がおかしいとか...)
あるいは:
・PostGISを導入すれば、もっと処理時間が早くなるのでしょうか?
当方、この分野は素人なので、相当な勘違いをしているかも知れず
恥ずかしいのですが、これを機会にいろいろ勉強できればと思って
おります。よろしくお願い致します。
-----
島田泰夫/一般財団法人 日本気象協会 地球環境課/豊島区東池袋3-1-1サンシャイン60-
55F/TEL:03-5958-8152/FAX:03-5958-8157/shimada @ jwa.or.jp
OSGeoJapan-discuss メーリングリストの案内