グリッドにっついて

1,667 views
Skip to first unread message

yuiku...@gmail.com

unread,
Jan 29, 2017, 1:22:25 AM1/29/17
to QGIS初心者質問グループ
QGIS2.18.0を使っています。初心者です。

縦横100mのグリッドを一定の範囲指定で作成して(ポリゴンとして)、保存しておいても
次にQGISを起動させるとグリッドのレイヤは存在するのですが表示がされない状態になってしまいます。
どうしてなのかわかる方いらっしゃいましたら教えてください。

きた

unread,
Jan 29, 2017, 2:05:42 AM1/29/17
to QGIS初心者質問グループ
2.18の場合、ベクタの調査ツールや空間演算ツールなどで作成したレイヤは、一時レイヤに作成されます。
作成後に、レイヤを右クリックして「名前をつけて保存」するか、作成時に、レイヤをファイルに保存する指定をします。
一時レイヤは、QGISを終了すると、削除されます。

きた

yuiku...@gmail.com

unread,
Jan 29, 2017, 3:36:25 AM1/29/17
to QGIS初心者質問グループ
きた様

素早くご丁寧なお答え頂きましてありがとうございます。
教えて頂いた通り、レイヤの保存を行ったところ解決致しました。

本当に初歩的な質問で申し訳ありませんでした。
凄く助かりました、ありがとうございます。

重ねての質問で恐縮です。
グリッド作成時に100m間隔とするために数値を代入しましたが、
これは作成後にどこかに確認等のために表示されていますか?
そもそも、ただxとyの項目に100と代入しただけなのですが単位はmなのでしょうか?
また、このグリッドの1マス目ごとにマス上に存在する(別レイヤで作成した)点の持つデータを認識させ、
そのデータの値ごとに色分けしていく、といったことは可能でしょうか。

まだまだ不慣れでしてまとまらない質問ですみません。
ご存知の範囲でお答え頂けますと幸いです。
宜しくお願い致します。


きた

unread,
Jan 29, 2017, 3:49:12 AM1/29/17
to QGIS初心者質問グループ
まず、グリッドの間隔ですが、これはプロジェクトの座標系に依存します。プロジェクトの座標系が、平面直角座標系ならメートル単位、地理座標系なら度単位になります。
出来上がったグリッドを距離の測定で測ってみると100mになっているか、確認できると思います。

重なったレイヤの属性での色分けですが、ベクタメニューのデータマネジメントツールに「場所で属性を結合する」があります。
グリッドをポリゴンで作っている場合、重なっているレイヤの属性データをグリッドレイヤに結合することができます。
ただし、グリッドレイヤと重なったレイヤが同じ座標系でなければなりません。
オンザフライCRS変換をオフにしても重なっていることを確認してください。

きた

yuiku...@gmail.com

unread,
Jan 29, 2017, 4:03:32 AM1/29/17
to QGIS初心者質問グループ
きた様

ありがとうございます。
プロジェクトの座標系の設定をどうにか確認してみます。

レイヤについてはCRSが違うといった警告が出てしまうので、きっと座標系が違うのですよね。
座標系の一致の方法で簡易的なものはありますか?

きた

unread,
Jan 29, 2017, 5:30:47 AM1/29/17
to QGIS初心者質問グループ
プロジェクトの座標系は、画面の右下の「EPSG:0000」と書かれたところをクリックすると、確認できます。
現在の「EPSG」は何番になっていますか?

レイヤの座標系は、レイヤを右クリックして「プロパティ」を選択し、「一般情報」の「空間参照システム」で確認できます。
ここのEPSGを同じにする必要があります。

座標系の変換は、レイヤを右クリックして、「名前を付けて保存する」で、「CRS」を選択して保存します。


きた

iuyir...@gmail.com

unread,
Jan 30, 2017, 1:21:56 AM1/30/17
to QGIS初心者質問グループ
きた様

重ねてのお答えありがとうございます。

EPSGは6680です。
座標系の一致は行うことができましたが、試しに結合して作成したレイヤには
特にデータが入っていませんでした(属性テーブル)。

もう一点、座標系についてですが、
プロジェクトの座標系とその他すべてのレイヤの座標系は一致させた方が良いのでしょうか?
私が扱っていますプロジェクトでは
GPXファイル形式の軌跡データがありまして、これは確認したところ座標系が異なっています。
しかし、座標系をプロジェクトのものと一致させると、
軌跡データは表示されなくなってしまいます。
これはどうしてなのでしょうか。

一方的な質問ばかりで大変申し訳ないのですが
宜しければ教えて頂けますと幸いです。

きた

unread,
Jan 30, 2017, 2:16:01 AM1/30/17
to QGIS初心者質問グループ
EPSG6680だと、JGD2011の12系ですね。
多分QGISがJGD2011をサポートしていない気がします。
JGD2000の12系のEPSG2454に変換したほうがいいと思います。

GPXデータは通常WGS84です。このレイヤを使って分析を行うなら、座標系を統一したほうがいいですが、表示するだけなら統一しなくても構いません。
また、座標系の変換ですが、「名前をつけて保存する」でなければ元のファイルは変換されません。
「レイヤのCRSをプロジェクトのCRSに設定」は、ファイルの座標系を変換するのではなく、座標系を定義し直すものですので、間違った座標系を指定していることになります。

オンザフライCRS変換をオフにして、グリッドのレイヤとポイントのレイヤが正しく重なっていれば、正しく処理できるはずです。

きた

iuyir...@gmail.com

unread,
Jan 30, 2017, 2:56:21 AM1/30/17
to QGIS初心者質問グループ
きた様

「名前をつけて保存する」で座標系を変換させようとしたところ
以下のような警告が出てしまいました。

ベクタファイルへのエクスポートが失敗しました.

エラー:OGRレイヤを所定の場所で上書きできません


また、オンザフライCRS変換のオフはどこで行うものですか?

これにはどういった意味があるのでしょうか。

きた

unread,
Jan 30, 2017, 2:59:30 AM1/30/17
to QGIS初心者質問グループ
それは、今レイヤとして表示しているファイルを上書きしようとしたからではないでしょうか?
使っているファイルに上書きはできません。
別のファイル名か、別のフォルダに保存してください。

きた

きた

unread,
Jan 30, 2017, 2:59:31 AM1/30/17
to QGIS初心者質問グループ

きた

unread,
Jan 30, 2017, 3:03:30 AM1/30/17
to QGIS初心者質問グループ
オンザフライCRS変換のオフは、右下にある「EPSG:0000(OTF)」という部分をクリックして、「オンザフライCRS変換を有効にする」のチェックを外します。
オンザフライがオフになると、右下の「EPSG:0000」の部分に(OTF)は表示されません。

きた

きた

unread,
Jan 30, 2017, 3:11:35 AM1/30/17
to QGIS初心者質問グループ
基本的な操作は、書籍を買うとよくわかるようになります。
今回の質問の内容も、QGISの書籍に必ず書いてあります。少し高いですが、「QGIS入門 第2版」とか、電子書籍で良ければ、「QGIS逆引きガイド」などが安価で参考になると思います。
質問して悩んでいる時間も、コストですので、本で勉強するほうが安い場合があります。

かと言って、それでもわからない事が出てくると思いますので、そのときはどんどん質問してください!

きた

iuyir...@gmail.com

unread,
Jan 30, 2017, 3:12:11 AM1/30/17
to QGIS初心者質問グループ
きた様

保存の件は無事解決致しました。ありがとうございます。

オンザフライの項目については
CRS変換をオフにすると一番の基本地図情報がすべて消えてしまいました。
後付けした点のデータのみの表示になります。

あまりにも無知ですみません、、

iuyir...@gmail.com

unread,
Jan 30, 2017, 3:18:51 AM1/30/17
to QGIS初心者質問グループ
きた様

何度もお時間頂いてしまい申し訳ありません。

一応QGIS関連の書籍と電子書籍もいくつか所持しておりますが、、
当然ですがどれも自分の分からないことが
ピンポイントで解説されていないのでかなり悩んでいまして、、

本当にお恥ずかしい限りですが今回このような場で質問させて頂くことにしました。
ただなるべく自力で勉強してみます。

本当にありがとうございます。

きた

unread,
Jan 30, 2017, 6:23:18 AM1/30/17
to QGIS初心者質問グループ
質問者様

こちらこそ、すみません。GISは専門用語が多くて、初心者にはよくわからない事が多いですよね。
気にせずにどんどん質問してください。このグループはそのために作ったのですから。
昼間はスマホでの入力ですので、少し言葉足らずになってしまい申し訳ありません。


さて、質問の内容についてですが、一度整理しましょう。

<プロジェクトを新たに作成>
  1. 一度、プロジェクトを新規作成します。
  2. ポイントのレイヤのみをプロジェクトに読み込んでみます。
  3. このときに、レイヤは1つですので、レイヤの座標系=プロジェクトの座標系です。
    なので、右下の「EPSG:0000」には(OTF)とは表示されません。(オンザフライCRS変換がオフ)
<座標系の変更>
  1. 右下のEPSGが「6680」の場合は、JGD2011という東日本大震災で座標が移動した新しい座標系のため、QGISは対応していないようです。
    お使いの地域は12系ということで北海道のようなので、座標のズレは殆どありませんので、レイヤの座標系を変換します。
    (右下のEPSGが「2454」の場合は、この処理は必要ありません。読み飛ばしてください。)
  2. ポイントレイヤを右クリックして、「名前をつけて保存する」を選択し、「CRS」を「JGD2000 / Japan Plane Rectangular CS XII EPSG:2454」にして、別のシェープファイルに保存します。
  3. 保存したポイントレイヤがレイヤに追加されると、違う座標系のレイヤが同じ地図上にあるので、自動的に「オンザフライCRS変換」が有効になります。
  4. 右下のEPSGのボタンが、「EPSG:6680(OTF)」となっていると思います。
  5. 元のEPSG6680のポイントレイヤは地図から削除します。
  6. 元のポイントレイヤを削除してもプロジェクトのEPSGは6680のままなので、右下の「EPSG」ボタンをクリックして、「オンザフライCRS変換」をオフにします。
  7. これで、プロジェクトの座標系もポイントレイヤと同じEPSG:2454になるはずです。
<グリッドの作成>
  1. プロジェクトの座標系(右下のEPSG)がEPSG:2454になっていることを確認してください。オンザフライCRS変換はオフにしてください。
  2. この状態で100mグリッドポリゴンを作成すると、プロジェクトと同じ座標系のグリッドレイヤが作成されます。
    なので、ポイントレイヤの座標系=プロジェクトの座標系=グリッドの座標系で、全てのレイヤがEPSG:2454で統一されています。
<グリッドポリゴンにポイントレイヤの属性を結合>
  1. ベクタメニューの「データマネジメントツール」→「属性の結合」を選択します。
  2. 「対象ベクタレイヤ」にグリッドレイヤ、「ベクタレイヤを結合する」にポイントレイヤを選択します。
  3. 「ジオメトリの述語」は「含む」にチェックを付けます。
  4. 「結合されるテーブル」は「全てのレコードを残す」を選択します。
  5. 「結合されるレイヤ」の右にあるボタンをクリックして、「ファイルへの保存」を選択すると、作成後ファイルに保存できます。指定しなければ、一時レイヤに作成されます。
  6. 「Run」をクリックすると、処理が行われ、新しいレイヤが作成されます。
  7. 新しいレイヤの属性データを確認すると、ポイントレイヤの属性データが右側に追加されているはずです。
  8. 新しいレイヤが一時レイヤの場合には、レイヤを右クリックして、「名前をつけて保存する」でファイルに保存します。
    (5でファイルに保存している場合は、8の処理は必要ありません)
<作成した属性データで分類>
  1. 新しいグリッドレイヤのプロパティを開き、「スタイル」を選択します。
  2. 「単一シンボル」を「分類された」に変更して、「カラム」で分類したいフィールド名を選択します。
  3. リストの下にある「分類」ボタンをクリックすると、リストに分類するデータが表示されるので、塗りつぶしの色や線の色を設定します。
  4. 「OK」ボタンをクリックすると色分けが行われます。

==========================
オンザフライCRS変換をオフにするとレイヤが消えてしまう件について

オンザフライCRS変換は、違う座標系のレイヤを「見た目だけ」位置調整を行い、重ねっているように見せる機能です。
そのため、緯度経度のレイヤもXY座標のデータも、計算変換して同じ場所にあるように見えます。

しかし、本来であれば、緯度経度とXY座標のデータは単位が違うので、同じ空間にあることはできません。
レイヤに登録されている「1」という数字が緯度経度だと「度」、XYだと「m(メートル)」になるためです。

プロジェクトの座標系が、平面直角座標系JGD2000の12系(EPSG:2454)の場合、地図の単位が「m(メートル)」になるので、オンザフライCRS変換をオフにすると、全てのレイヤの単位が「m」で計算されます。
緯度経度のレイヤは、本来は位置が「度」で記録されていますが、これが「m」になってしまうので、「1度」が「1m」になるので、めちゃくちゃ小さく地図に表示されます。そのため、地図から消えたように見えます。
オンザフライCRS変換をオフにすると、レイヤの図形が消えたように見えますが、きちんと地図上に存在しています。
レイヤを右クリックして、「レイヤの領域にズームする」を選択すると、レイヤのある場所に地図が移動しますので、存在を確認できるはずです。

オンザフライCRS変換をオン(有効)にした状態で、きちんと図形が正しい場所にあるということは、レイヤの座標系が正しく指定されているということです。
レイヤの座標系を変換する場合には、オンザフライCRS変換を有効にして、正しい位置に表示されているのを確認してから、「名前をつけて保存する」で座標系を変換すると、変換後も正しい位置で変換できます。


長くなりましたが、再度挑戦してみてください。
また、分からない事があれば質問してください。

きた



iuyir...@gmail.com

unread,
Jan 30, 2017, 8:03:40 PM1/30/17
to QGIS初心者質問グループ
きた様

度重なる質問にもご丁寧にお答え頂き誠にありがとうございます。
私の勉強不足のためにお手数をおかけして申し訳ありません。

今所用のためQGISを操作出来ないのですが、
教えて頂いた方法で再度行ってみます。

ただ1つ気になることがございまして、
私が扱っております地域は愛知県なのですが、12系となっているのはおかしいですよね。
国土地理院様のHPからダウンロードした基盤地図を読み込んで使っているのですが
何か初期の設定で間違えてしまったのでしょうか。


iuyir...@gmail.com

unread,
Jan 31, 2017, 5:49:10 AM1/31/17
to QGIS初心者質問グループ

上記プロジェクトの件、座標系をいくつかいじってみたのですが
設定されている座標系が実にばらばらだったことが分かりました。

教えて頂いたようにすべての座標軸をEPSG2454に統一したいのですが
うまくいきません。
ポイントのレイヤはEPSG4326(WGS84)で作成してしまっていたようです。
これを後からEPSG2454に設定しなおすことはやはり出来ないのでしょうか。

きた

unread,
Jan 31, 2017, 7:08:24 AM1/31/17
to QGIS初心者質問グループ
質問者様

基盤地図情報をシェープファイルに変換するには、「基盤地図情報ビュワー」を使っているとお思いますが(違ったらすみません)、基盤地図情報ビュワーで座標系の指定が間違っていたようですね。
座標系の指定は、エクスポート時に「直角座標系に変換」にチェックを付けて、系番号を選択します。


愛知県であれば、7系(EPSG2449)ですので、ここで「7系」を選択すると、正しい座標系にできます。

地図の位置が愛知県ですので今後は、JGD2000の7系(EPSG2449)に統一するようにしましょう。

【参考→わかりやすい平面直角座標系


<すでにあるポイントレイヤの変換>

 すでにあるポイントレイヤの座標系がWGS84(EPSG4326)とのことですが、前の回答に書いてある、名前をつけて保存するときにCRSを指定することで座標系が変更できます。

そのためには、まず、今のポイントレイヤの場所が正しいか確認する必要があります。

質問者様が、いろいろいじっているうちに、実は違う座標に変換されている可能性もあるためです。

 この回答の添付ファイルに、愛知県の地図(地理院地図)をTiffにしたものを、平面直角座標系JGD2000の7系(EPSG2449)で保存しました。

 添付ファイルをラスタレイヤの追加でQGISに追加してください。

 そして、ポイントレイヤを地図に追加すると、オンザフライCRS変換がオンになって、地図に追加されます。位置が正しいか確認してください。

位置が正しければ、そのまま名前をつけて保存して、CRSを平面直角座標系JGD2000の7系(EPSG2449)にしてすると、座標系が変換できます。

位置が全く違う場合には、どの座標系が指定されているかわかりませんので、作り直しになります。


まずは確認してみてください。


きた


 






愛知県地理院地図_7系.tif

iuyir...@gmail.com

unread,
Jan 31, 2017, 8:52:33 PM1/31/17
to QGIS初心者質問グループ
きた様

何度もすみません。

教示頂いた方法を試したみたのですが、地図が大きいためか
ポイントレイヤが正しい位置に追加されているかよくわからない状態でした。
一応表示は確認でき、大まかには合っているのではないか、という感じです。

自分で基盤地図情報ビュワーのエクスポートを7系に設定して行い、
その情報をQGISで読み取るという方法も試してみたのですが
こちらで行うとオンザフライの欄に「作成された空間参照系USER100000」と出てしまい、JGD2000の7系(EPSG2449)に変換することが出来ません。

iuyir...@gmail.com

unread,
Jan 31, 2017, 9:30:01 PM1/31/17
to QGIS初心者質問グループ

上記のコメントですが少し語弊があるものだったため追記させていただきます。

JGD2000の7系(EPSG2449)への変換ですが
以前のきた様のご回答のように、ポイントレイヤを名前をつけて保存、
という方法で行いました。
そして、もとのレイヤを削除しますと右下のボタンはEPSG:2449(OTF)ではなく
作成されたものUSER100000 に戻ってしまいます。

これを再びEPSG2449に直せばよいのでしょうか。

きた

unread,
Jan 31, 2017, 10:41:11 PM1/31/17
to QGIS初心者質問グループ
質問者様

ポイントレイヤの位置があっているのに、EPSGが違うということは、座標系の指定が間違っています。
そのような場合には、座標系を定義し直してあげる必要があります。
シェープファイルには、PRJファイルというのがあって、そのファイルに座標系が記録されていますが、それが間違っています。

レイヤを名前をつけて保存すると、図形の位置も変換してしまいますが、座標系の定義では図形は変更しないで、「あなたの座標系は、これだよ」とレイヤに教えてあげるだけです。

座標系を定義し直す(PRJファイルを書き換える)には、メニューの「ベクタ」→「データマネジメントツール」→「現在の投影法を定義する」を選択します。
真ん中の「定義されている空間参照システムを利用」の「選択」ボタンをクリックして、EPSG2449を選択して、「OK」ボタンをクリックすると、座標系が定義されます。

一度QGISを閉じて再度開き、ポイントレイヤを地図に追加すると、EPSGは2449になっているはずです。

きた

iuyir...@gmail.com

unread,
Feb 1, 2017, 3:31:55 AM2/1/17
to QGIS初心者質問グループ
きた様

ありがとうございます。
座標系に関しましては何とか解決できたと思うのですが、
グリッド上のポイントの認識(結合)が上手くいっていないようです。

1マス上に複数の点が存在している場合、それらすべてを認識させ、
持っているデータを合計して出力する、というのは不可能でしょうか。

きた

unread,
Feb 1, 2017, 10:34:38 AM2/1/17
to QGIS初心者質問グループ
質問者様

ご希望の機能は、「ベクタ」→「解析ツール」→「ポリゴン内の点」で出来ます。
くわしくは、添付のPDFを参照してください。

きた
ポリゴン内の点_説明テキスト.pdf

iuyir...@gmail.com

unread,
Feb 1, 2017, 8:21:20 PM2/1/17
to QGIS初心者質問グループ
きた様

PDF添付ありがとうございます。

ただ解析ツール内に「ポリゴン内の点」項目の表示がないのですが
表示させることは出来ますでしょうか。

きた

unread,
Feb 1, 2017, 8:39:23 PM2/1/17
to QGIS初心者質問グループ
すみませんでした。2.18では仕様が変わっていますね。
2.18では、メニュー「プロセッシング」→「プロセッシングツール」を選択して、「プロセッシングツールボックス」から、「QGISジオアルゴリズム」→「ベクタ解析ツール」→「ポリゴン内のポイント数(重み付け)」がそれに当たります。
数値が入力されているフィールドをウエイトフィールドに指定すると、その数値を合計します。

きた

iuyir...@gmail.com

unread,
Feb 3, 2017, 2:22:41 AM2/3/17
to QGIS初心者質問グループ
きた様

ご丁寧なご教示誠にありがとうございました。
度重なる質問でお手数をお掛けしてしまい、申し訳ありませんでした。

だいぶ時間がかかってしまいましたが、何とか思い通りのプロジェクトを作成することが出来ました。
一人で悩んでいるだけでは絶対にここまで行えなかったと思います。
非常に助かりました。本当にありがとうございます。

今後もまた助けて頂くことがあるかもしれませんが
どうぞ宜しくお願い致します。
Reply all
Reply to author
Forward
0 new messages