QGISの使い方メモ
まずは地図表示でOpenStreetMapを表示
次にGoogle Map を追加したいので
XYZタイルを右クリックし
新規接続を選択
URLを追加することで地図を追加できる
このURLは
QGIS Google Map
で検索すると出てくる
https://qiita.com/nigo1973/items/cb023983a498bcf8e73f
を参考に
名前を
Google Map衛星画像
にして
保存すれば追加できる
これで衛星画像が表示される
通常のgoogle map なら
https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}
のURLを同様に
XYZスタイルを右クリック
新規追加で追加して
名前を Google Map にして
URL を
https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}
にすれば追加できる
https://stickboost.net/qgis_googlemap
を参考にした
その他の汎用地図リンクは
Google Maps: https://mt1.google.com/vt/lyrs=r&x={x}&y={y}&z={z}
Google Satellite: http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}
Google Satellite Hybrid: https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}
Google Terrain: https://mt1.google.com/vt/lyrs=t&x={x}&y={y}&z={z}
Google Roads: https://mt1.google.com/vt/lyrs=h&x={x}&y={y}&z={z}
国土地理院地図: https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png
OSM(Open Street Map): http://tile.openstreetmap.org/{z}/{x}/{y}.png
地図を複数表示している場合
上に設定しているレイヤーが表示される
つまり
衛星画像を1番上にすると
地図じゃなくて衛星画像が表示される
次に演習用CSVデータのダウンロード
地図は表示できたので
CSVファイルなどをダウンロードし
内容を重ねて表示する
今回は世田谷区GISオープンデータを使う
https://data-setagaya.opendata.arcgis.com
この中から
観光スポット > スポーツ
https://data-setagaya.opendata.arcgis.com/search?tags=%25E8%25A6%25B3%25E5%2585%2589%25E3%2582%25B9%25E3%2583%259D%25E3%2583%2583%25E3%2583%2588
で
ダウンロード形式が選べるので
とりあえず
CSV
GeoJSON
シェープファイル
KML
シェープファイルは圧縮されているので解凍すると
ccpg
dbf
prj
shp
shx
xml
のファイルが入っている
mkdir qgis
cd qgis
mv ~/Downloads/%E* .
でダウンロードしたファイルを移動
unzip %E8%A6%B3%E5%85%89%E3%82%B9%E3%83%9D%E3%83%83%E3%83%88%EF%BC%88%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84%EF%BC%89.zip
で解凍
これをデータソースアイコンから読み込んで使う
今回はCSVを使う予定だけど
そのまま使おうとしたらCRSを指定しないとだめだった
2つ選べるようだけどわからないので調べた
* プロジェクトCRS:EPSG:3857 – WGS 84 / Pseudo-Mercator
* これは、GoogleマップやOpenStreetMapなど、多くのWeb地図サービスで採用されているCRSです。
* 「プロジェクトCRS」は、現在開いているQGISプロジェクト全体に適用されるCRSです。
* QGISでは、異なるCRSを持つ複数のレイヤを重ねて表示することができますが、その際には、すべてのレイヤがプロジェクトCRSに合わせて自動的に再投影されます。これにより、各レイヤが正しい位置に表示されます。
* つまり、プロジェクトCRSは、QGISの地図画面(マップキャンバス)の「地図の枠組み」を定義するCRSと言えます。
* デフォルトCRS:EPSG:4326 – WGS 84
* これは、GPSなどで一般的に使用される緯度・経度で位置を表す地理座標系です。
* 「デフォルトCRS」は、新しいレイヤを作成する際に、QGISが初期値として推奨するCRSです。
* CSVファイルのように、メタデータ(座標系の情報)が含まれていないデータを読み込む場合、QGISはどのCRSを使用すべきか判断できません。その際に、初期値として提示されるのがこのデフォルトCRSです。
* CSVファイルに緯度経度(WGS 84)のデータが入っている場合、このデフォルトCRSである EPSG:4326 – WGS 84 を選択するのが最も一般的で正しい選択となります。
* 「プロジェクトCRS」を選択する
* これは、読み込むCSVデータの座標が、すでにプロジェクトCRSである EPSG:3857 の形式で記録されている場合に選択します。
* 例えば、メートル単位の座標値(x, y)がCSVに入っている場合などです。
* 「デフォルトCRS」を選択する
* これは、読み込むCSVデータの座標が、緯度・経度(EPSG:4326)で記録されている場合に選択します。
* Webからダウンロードした多くのデータは、この緯度経度形式で提供されるため、通常はこちらを選択することが多いです。
OpenStreetMapやGoogleマップのレイヤーを背景地図として利用する場合、「プロジェクトCRS」を選択するのが正しい選択となります。
その理由は以下の通りです。
1. OpenStreetMapやGoogleマップのCRSは「EPSG:3857」
* これらのWeb地図サービスは、すべて EPSG:3857 – WGS 84 / Pseudo-Mercator というCRSで提供されています。これは、Web上で地図をスムーズに表示するために最適化された座標系です。
* QGISでは、これらのレイヤーを読み込むと、プロジェクトCRSも自動的に EPSG:3857 に設定されることが一般的です。
2. QGISの「オンザフライ(On-the-fly)再投影」機能
* QGISには、異なるCRSを持つレイヤーを重ねて表示できる「オンザフライ再投影」という機能があります。
* これは、すべてのレイヤーをプロジェクトCRSに合わせて、一時的に再投影して表示する機能です。
* つまり、あなたが追加しようとしているCSVデータが、もし緯度・経度 (EPSG:4326) であっても、QGISはそれを自動的に EPSG:3857 に変換して、OpenStreetMapなどの地図上にぴったり重ねて表示してくれます。
結論として
* 今回のケース(OpenStreetMapやGoogleマップが背景にある)では、CSVデータの座標系がEPSG:3857であると仮定して「プロジェクトCRS」を選択するのが合理的です。
* もしCSVデータが緯度・経度 (EPSG:4326) であり、かつ、プロジェクトのCRSがEPSG:3857である場合でも、QGISが自動的に再投影してくれますので、基本的には問題ありません。
ただし、データそのもののCRSが何かを正しく理解しておくことは非常に重要です。
もしCSVデータが明らかに緯度・経度で書かれているのに「プロジェクトCRS」として読み込んでしまうと、
QGISはCSVデータの座標値をEPSG:3857の座標値として解釈してしまい、本来とは全く異なる場所に表示される可能性があります。
正しく行うための手順
1. CSVデータの中身を確認する
* CSVファイルを開き、座標の列が緯度・経度(例:35.xxxx, 139.xxxx)か、メートル単位の座標(例:13900000, 4100000)かを確認します。
2. 適切なCRSを選択する
* CSVデータが緯度・経度の場合:**「デフォルトCRS(EPSG:4326)」**を選択します。
* CSVデータがメートル単位の座標の場合:**「プロジェクトCRS(EPSG:3857)」**を選択します。
これが gemini の回答
今回はプロジェクトCRSを使うことにする
これで追加しても何故か海の上に表示される
なので
CSVファイルを右クリックし
レイヤのCRS > レイヤのCRS設定
6677で検索し
選んでOKをすれば適用される
このままだと点だけで分かりにくいので
CSVファイルを右クリックし
ラベルを表示をクリック
これで施設名が表示される
また
CSVファイルを右クリックし
プロパティ > ラベル
で
フォントや文字の色などの変更が可能
これでマップで施設名を色を変更して表示できる
他の地域でもできるはず