[OSGeoJapan-discuss] 【教えてください】大量のライン群の一部にフラグを立てたい

shimada yasu yas.shimada35 @ gmail.com
2020年 6月 30日 (火) 01:36:30 PDT


嘉山様

ありがとうございました。

当初、素人でも試行錯誤でなんとかなるかなと思っていましたが、
お話を聞くと、やはりきちんとSQLを勉強すべきと感じました。

もう少し時間をかけてみます。ありがとうございました。

しまだ

2020年6月30日(火) 16:59 Yoichi Kayama <yoichi.kayama @ gmail.com>:
>
> 嘉山です
>
> ジオメトリ付きのテーブルの場合メインキーになるユニークid が必要ですが、このSQLの
> 場合それがどうなるかちょいと心配です。
>
> lines,polygon の両方のテーブルからクエリかけたら掛け算になってlines 側のレコードの
> idが使われた場合でも同じidのレコードが複数できちゃって単純なクエリの場合は大丈夫
> だけどテーブルつくる話になっちゃうとぶつかっちゃってとかいうことはないでしょうかね。
>
> この場合クエリ結果がジオメトリつきテーブルとして自動的に認識されるかどうかがちょっと
> わからないとこですが(ジオメトリつきのテーブルとジオメトリカラムを管理する仕組み
> がSpatialiteとかPostGISとかGeoPackageにはあるのでこのクエリでそのあたりが自動的に
> 動いてくれるかどうかはわかりません。うまくいかない場合は後で手動でそのあたりの整合性
> をつくることはできると思います)
>
>
> 2020年6月30日(火) 16:05 shimada yasu <yas.shimada35 @ gmail.com>:
>>
>> 空間インデックスを作成して走らせてみたら、わずか4秒で終了しました。
>>
>> おお、これはすごい・・・と思ってcreate table kekka asをつけてみたら
>> 再び激遅になりました(いつ終わるか不明)
>>
>> create tableなので「書き込み速度」に依存しているのですかね。。。
>>
>> create table kekka as
>> select
>> *
>> from
>> lines, polygon
>> where
>> ST_contains(lines.geom, polygon.geom)=1;
>>
>> しまだ
>>
>> 2020年6月30日(火) 13:26 shimada yasu <yas.shimada35 @ gmail.com>:
>> >
>> > 嘉山様
>> >
>> > さっそくありがとうございました。
>> >
>> > 空間インデックスは作っていませんでした・・・。
>> >
>> > 試してみます。
>> >
>> > しまだ
>> >
>> > 2020年6月30日(火) 13:19 Yoichi Kayama <yoichi.kayama @ gmail.com>:
>> > >
>> > > 嘉山です
>> > >
>> > > それぞれのレイヤで空間インデックスは作成されていますか?
>> > > それがあるかないかではえらく処理速度は違いますが。
>> > >
>> > > 2020年6月30日(火) 13:12 shimada yasu <yas.shimada35 @ gmail.com>:
>> > >>
>> > >> みなさま
>> > >>
>> > >> いつも教えてもらってばかりで恐縮ですが、ご存じでしたらご指導ください。
>> > >>
>> > >> 約29万のライン群があり、この一部にポリゴン(ひとつ)がかかっています。
>> > >> ポリゴンに含まれるライン群にフラグ(あるカラムに999を入れる)を
>> > >> 立てようとしているのですが、時間ばかりかかり困っています。
>> > >>
>> > >> DB処理が速いと聞いたので、不慣れなspatialiteでやってみました。
>> > >>
>> > >> が、それでも4時間かかりました。
>> > >>
>> > >> もう少し効率的な手法があれば、教えて頂けないでしょうか・・?
>> > >>
>> > >> select
>> > >> *
>> > >> from
>> > >> lines, polygon
>> > >> where
>> > >> ST_contains(lines.geom, polygon.geom)=1;
>> > >>
>> > >>
>> > >> --
>> > >> 島田泰夫/一般財団法人日本気象協会/環境・エネルギー事業部/環境アセスメント事業課/〒170-6055豊島区東池袋3-1-1サンシャイン60-55F
>> > >> /TEL:03-5958-8160 FAX:03-5958-8157 /shimada @ jwa.or.jp
>> > >> /携帯:080-8018-1567
>> > >> _______________________________________________
>> > >> OSGeoJapan-discuss mailing list
>> > >> OSGeoJapan-discuss @ lists.osgeo.org
>> > >> https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>> >
>> >
>> >
>> > --
>> > 島田泰夫/一般財団法人日本気象協会/環境・エネルギー事業部/環境アセスメント事業課/〒170-6055豊島区東池袋3-1-1サンシャイン60-55F
>> > /TEL:03-5958-8160 FAX:03-5958-8157 /shimada @ jwa.or.jp
>> > /携帯:080-8018-1567
>>
>>
>>
>> --
>> 島田泰夫/一般財団法人日本気象協会/環境・エネルギー事業部/環境アセスメント事業課/〒170-6055豊島区東池袋3-1-1サンシャイン60-55F
>> /TEL:03-5958-8160 FAX:03-5958-8157 /shimada @ jwa.or.jp
>> /携帯:080-8018-1567



-- 
島田泰夫/一般財団法人日本気象協会/環境・エネルギー事業部/環境アセスメント事業課/〒170-6055豊島区東池袋3-1-1サンシャイン60-55F
/TEL:03-5958-8160 FAX:03-5958-8157 /shimada @ jwa.or.jp
/携帯:080-8018-1567


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