[OSGeoJapan-discuss] <教えて下さい>spatialiteのcrosses、intersectionで時間がかかる

ASAHI Kosuke asahi @ hcc.co.jp
2011年 12月 5日 (月) 18:41:32 EST


島田 様

Spatial Index使ってらっしゃいますか?
 http://www.gaia-gis.it/spatialite/spatialite-tutorial-2.3.1.html#t8
辺りに、通常のindexの解説の後にspatial indexの使い方が書いてあります。

これで改善しないでしょうか?

(2011/12/05 21:33), SGW00412 @ nifty.com wrote:
> 先日の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 mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss

-- 
北海道地図株式会社 研究開発課
朝日 孝輔
mailto:asahi @ hcc.co.jp
Tel : 0166-62-4711



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