[OSGeoJapan-discuss] 【教えてください】group by idで合計して、リレーショナル結合したい

Yoichi Kayama yoichi.kayama @ gmail.com
2022年 10月 9日 (日) 21:15:01 PDT


島田様

データはShapeですか? Geopackageならデータベース部分はSpatialiteとだいたい同じですし
QGISからGeoPackageやSpatialiteへの出力もできるからSQLをつかうならそちらに変換して
もいいかもしれません。

プロセッシングのベクタ一般にある SQLを実行でやるとSQLの実行結果をベクトルレイヤ
として保存できるといったらできます。(ただしGroup by の集計SQLが実行できるかどうかは
確かめていません)

あと メニュー -> レイヤ -> レイヤの追加 で仮想レイヤの追加ができますが、
ここでSQLを指定して、その結果を仮想レイヤとして出力できます。
できあがった仮想レイヤをエキスポートで保存することもできます。

あと地域統計のプラグインで Group byの集計ができたものがあります。

https://plugins.qgis.org/plugins/GroupStats/

たしか結果を保存できたような記憶あります。



2022年10月10日(月) 12:49 <yas.shimada35 @ gmail.com>:

> 大変失礼しました。
>
>
>
> Qgisです。
>
>
>
> QGISバージョン
>
> 3.22.8-Białowieża
>
>
>
> でやりました。
>
>
>
> 処理途中でspatialite、pythonやRに橋渡ししてから
>
> またQgisに戻るのは避けたかったので・・・
>
> (postGISは敷居が高いので勉強してないです)
>
>
>
> しまだ
>
> *From:* Yoichi Kayama <yoichi.kayama @ gmail.com>
> *Sent:* Monday, October 10, 2022 12:44 PM
> *To:* shimada yasu <yas.shimada35 @ gmail.com>
> *Cc:* osgeojapan-discuss <osgeojapan-discuss @ lists.osgeo.org>
> *Subject:* Re: [OSGeoJapan-discuss] 【教えてください】group by idで合計して、リレーショナル結合したい
>
>
>
> 島田様
>
>
>
> 作業はQGIS上でなさったのでしょうか?
>
> こちらはQGIS専用のメーリングリストではなくてオープンソースGIS一般についての
>
> 話をする場所です。QGISについての質問も歓迎いたしますが、そのほかのGISやツールに
>
> ついての話もあるので、何のソフトで(OSやバージョンも含む)どのような手順でどういう
>
> データをあつかったかのご説明があったほうが回答がえやすい(そうでないとわからない
>
> ところが多い)と思います。
>
>
>
> SQL自体はQGISが中継していますが、相手データベースによって微妙な動きが違うと
>
> 思います。
>
>
>
> PostgreSQLとかだと
>
>
>
>  create table resulttable  as select m_id, sum( my_length) as sum_len from
> "交差レイヤ" group by m_id;
>
>
>
>>
>  create view resultview   as select m_id, sum( my_length) as sum_len from "
> 交差レイヤ" group by m_id;
>
>
>
> で結果のテーブルやビューができると思います。
>
>
>
> geopackage  とかでそれができるかどうかは試してません。
>
>
>
>
>
>
>
>
>
>
>
> 2022年10月10日(月) 12:08 shimada yasu <yas.shimada35 @ gmail.com>:
>
> どなたかご教示ください
>
> 大量のラインデータを、メッシュ(ポリゴン)で切断し
> 各ポリゴンに含まれるライン長の合計を、メッシュ(ポリゴン)の属性として
> 付けたいのですが・・・うまくいきません
>
> (1)ラインとメッシュでインターセクトして、交差レイヤ(切断ライン群)を得る
> (2)交差レイヤには、メッシュ番号_m_id_が含まれる
> (3)交差レイヤの属性テーブルから、フィールド計算機で、ジオメトリ($length)ライン長を付ける_my_length
>
> (4)SQLクエリで
>
> select m_id, sum( my_length) as sum_len from 交差レイヤ group by m_id
>
> でやれば良いだろうと思って、データベースマネージャから
> SQLクエリで実行すると、ちゃんと結果が得られるのですが
>
> 「保存できません」
>
> よって、リレーショナル(属性テーブル結合」できず、ここで止まっています。
>
> --
> 島田泰夫/一般財団法人日本気象協会/環境・エネルギー事業部/環境アセスメント事業課/〒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
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20221010/5c7ccf5a/attachment.htm>


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