[OSGeoJapan-discuss] 【教えてください】group by idで合計して、リレーショナル結合したい
yas.shimada35 @ gmail.com
yas.shimada35 @ gmail.com
2022年 10月 9日 (日) 21:25:43 PDT
嘉山様
ありがとうございます!
はい、Shapeでやりました(これも説明不足でした)
>プロセッシングのベクタ一般にある SQLを実行でやるとSQLの実行結果をベクトルレイヤ
>として保存できるといったらできます。(ただしGroup by の集計SQLが実行できるかどうかは
>確かめていません)
ありがとうございました。これで出来ました。
・プロセッシングのベクタ一般にある SQL
・db-mangerのSQL
が違うのですね。「どれも一緒」と思っていました。
ありがとうございました。
さらにデータベースGeopackageも勉強します。
しまだ
From: Yoichi Kayama <yoichi.kayama @ gmail.com>
Sent: Monday, October 10, 2022 1:15 PM
To: yas.shimada35 @ gmail.com
Cc: osgeojapan-discuss <osgeojapan-discuss @ lists.osgeo.org>
Subject: Re: [OSGeoJapan-discuss] 【教えてください】group by idで合計して、リレーショナル結合したい
島田様
データは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 <mailto:yas.shimada35 @ gmail.com> >:
大変失礼しました。
Qgisです。
QGISバージョン
3.22.8-Białowieża
でやりました。
処理途中でspatialite、pythonやRに橋渡ししてから
またQgisに戻るのは避けたかったので・・・
(postGISは敷居が高いので勉強してないです)
しまだ
From: Yoichi Kayama <yoichi.kayama @ gmail.com <mailto:yoichi.kayama @ gmail.com> >
Sent: Monday, October 10, 2022 12:44 PM
To: shimada yasu <yas.shimada35 @ gmail.com <mailto:yas.shimada35 @ gmail.com> >
Cc: osgeojapan-discuss <osgeojapan-discuss @ lists.osgeo.org <mailto: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 <mailto: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 <mailto:shimada @ jwa.or.jp>
/携帯:080-8018-1567
_______________________________________________
OSGeoJapan-discuss mailing list
OSGeoJapan-discuss @ lists.osgeo.org <mailto: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/a6f76a1b/attachment-0001.htm>
OSGeoJapan-discuss メーリングリストの案内