ラベル GIS の投稿を表示しています。 すべての投稿を表示
ラベル GIS の投稿を表示しています。 すべての投稿を表示

2025/05/28

【Python】foliumでGoogleMapsや航空写真を表示する方法

過去に似たようなfoliumの使い方の記事を何本か書いていますが、今回はGoogle MapsなどGoolge系を中心に背景地図として重ねる方法をまとめておきます。

 
 ⚠️ 注意
本記事では、Google Maps系の地図タイルを foliumに読み込んで表示する方法を紹介していますが、これらのタイルURLはGoogleが公式に公開しているものではありません。今回の方法はあくまで個人の検証・学習・備忘録用として記録しており、自己責任での利用を前提としています。公開用途や商用利用には適さない点をご注意ください


Google Mapsの背景地図タイルURL一覧

表示モード タイルURL(tiles= に指定) 説明
Google Maps https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z} 通常の地図表示
Google Satellite https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z} 航空写真
Google Hybrid https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z} 航空写真 + ラベル
Google Terrain https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z} 地形図(陰影・地勢)
Google Maps系のタイルは通常、ズームレベル 0〜18 に対応しているみたいです。


サンプルコード



foliumで使う場合の操作制限について

foliumでGoogle Maps系のタイルを表示する場合、Google Maps公式のような細かい操作はできません。
  • 背景地図は静的なタイル画像を重ねているだけなので、マップ上のオブジェクトをクリックして情報取得やルート検索はできません。
  • ズームやパンはfolium(Leaflet)が対応しますが、Google Maps特有のストリートビューや動的情報の表示はありません。
  • マーカーやポップアップはfoliumで自由に配置できますが、Google Mapsのような豊富な連携機能はありません。

これらの点を理解したうえで、用途に応じて使い分けるのがおすすめです。
Google Mapsのようなインタラクティブな地図体験を期待する場合は、Google Maps APIなどの公式ライブラリを利用しましょう。


関連記事

2023/02/14

【Python】foliumでGoogle Mapのマーカーアイコンを表示する

以前もfolium関連で似たような記事を書きましたが、今回は別の機能を試してみます。

folium.features.CustomIcon()は、自作のアイコンなどを表示するための機能ですが、自前の画像でなくても指定できるようなので、Googleがホストしているアイコン画像を試してみました。
また、今回の記事からGithub Gistを使って、コードだけでなく、実行結果のマップのhtmlを記事に埋め込んでいます。過去の記事の一部も書き換えました。

参考: 実装例: 実行例:

注意点:ループを使用して、複数点に同じカスタムアイコンを設定する際には、ループ内でカスタムアイコンを初期化する必要がある。

参考:
Google Chart APIで数字のアイコンを設定した例:
二桁までの数字なら問題なく表示できそうです。
実行例:

2022/11/22

【Python】DEMデータをvtkに変換して、ParaViewで表示する

ParaViewは、2次元・3次元データの可視化のためのオープンソースソフトウェアです。可視化機能が強力でフリーで使えるため人気があります。
Pythonの可視化ライブラリには、matplotlibやplotlyなどがありますが、基本的には2次元までデータの可視化向きで、3次元データの可視化にはParaViewを使った方が動作も軽いです。

本記事では、以前の記事と同様に、国土地理院の基盤地図情報(数値標高モデル)のDEMデータから変換したGeoTIFFを用いました。DEMデータの結合方法やGDALの導入については、本記事でも割愛します。
また今回は、3次元表示に当たり軸の単位が揃っていた方が都合が良いため、GeoTIFFへの変換時にUTM座標に変換したデータを用いました。

実行環境:MacBook Air(M2、2022、メモリ:16GB)

ParaViewでは、GeoTIFF形式のDEMデータも読み込めるようですが、下記の例では、DEMデータの指定範囲での切り出しや解像度変更、vtk(Visualization Toolkit)形式への変換を試しました。

スクリプト例:

出力例:Scaleの設定からZ軸方向を10倍に強調
参考:

また、以下のようにカラーマップを作成すると好きなカラーマップを追加できます。

スクリプト例:前回の記事と同様にwiki-schwarzwald-contを設定

出力例:
関連記事

2022/03/20

【Python】foliumで複数の地図タイルを切り替えて表示する方法

以前、「【Python】foliumで地質図を表示する方法」という記事を書きましたが、実用していく上で、地図タイルを切り替えられると便利だなと思い当たりました。

本記事では、複数の地図タイルを切り替えて表示する方法を紹介します。

以前の記事で紹介した地理院地図のタイルとシームレス地質図のタイルを例として、地図タイルの切り替えを行います。

出力結果


関連記事

2021/09/14

【Python】matplotlibでDEMデータを表示する

国土地理院の基盤地図情報(数値標高モデル)などのDEMデータをその他のデータと組み合わせてmatplotlibでプロットしたい時に使えそうなプログラムが出来たので公開します。
例で使用したDEMデータは、国土地理院からダウンロードしたデータを予め結合したGeoTIFFを使用しています。
また、GeoTIFFの読み込みには、GDALを使用しています。

DEMデータの結合方法やGDALの導入については、色々なサイトで公開されているので、検索してください。本記事では、割愛します。
matplotlibでの標高塗り分けが本記事の中心部分となります。matplotlibのterrainでの塗り分けで満足出来ない場合にご活用いただければ幸いです。


スクリプト例


出力例


matplotlibのカラーマップに好みのものがなかったので、ArcGISっぽい?カラーマップを外部サイトから読み込んで使用しています。
カラーマップのファイルは、ローカルから直接読み込んで使用した方が良いと思いますので、上記のコードを利用される際はファイルをダウンロードして、コードを書き換えてください。


関連記事

2021/05/10

【Python】foliumで地質図を表示する方法

 先日「【Python】foliumで活断層を表示する方法」という記事を書いたばかりですが、今回もfoliumネタです。

foliumは、LeafletというJavaScriptライブラリをPythonから使える様にしたものですので、地図タイルとして様々な地図が利用できます。有名どころでは、国土地理院の地理院地図の地理院タイルなどがあります。そのほかにも、foliumにビルドインされている地図もあります(参考)。


本記事では、日本シームレス地質図を地図タイルとして使う際のサンプルコードを掲載します。

出力参考:


地理院地図を使う際のサンプルコードも併せて掲載します。

出力参考:


地理院タイルでは、ズームレベルの制限などもありますが、英語版や土地利用図、火山基本図、衛星画像など様々なタイルが公開されています。

利用にあたっては、承認などが必要な場合もある様ですのでご注意下さい。

参考:「国土地理院の地図の利用手続

関連記事

2021/05/08

【Python】foliumで活断層を表示する方法

昔書いた記事ですが、「Google Earth上に活断層を表示する方法」にそこそこアクセスがあるので、同様に、産総研が公開している活断層データベースのkmzファイルをfoliumを使って表示するプログラムを書いたので公開します。

kmzを開いて、kmlの中身をPolylineとして表示するプログラムとなっています。

kmzファイルの仕様を確認して作成したわけではないので、kmzファイルによってはそのまま使用できないと思いますが、参考になれば幸いです。



出力参考:


関連記事

2019/12/17

【Python】foliumで数字のマーカーを表示する

Pythonで地図可視化をするにはFoliumというライブラリが、Jupyter Notebook上で動かしながら使えるので便利です。
しかし、Google Maps APIのような数字のアイコンは公式機能ではまだ用意されていないようなので、どうにかして表示する方法はないか調べました。


アイコンにCSSを設定できる機能は既に実装済みのようなので、参考を元に以下の様にCSSの部分を編集しました。



実行例:

マーカーの囲いを円から角にしたければ、
border-radius: 50%; 
を削除すれば、良いです。

実行例:


関連記事:

2017/04/15

Google Earth上に活断層を表示する方法


本記事では、産総研が公開している活断層データベースをGoogle Earth上で表示する方法を紹介します。




注意
・この記事で紹介する方法は産総研が公式に案内している方法ではありません。今後、仕様変更等により使えなくなる可能性があります。
・当方は産総研とは関係のない個人ですので、問い合わせに答えることはできません。自己責任でお願いいたします。


活断層データベースでは、Google Map上で活断層の位置や情報を確認できます。
このデータをGoogle Map上ではなく、Google Earth上で表示したいと思います。

そのために、活断層データベースのソースを読み込んだところ、
https://gbank.gsj.jp/activefault/GMAP/googlemap_kmz.js
ファイルの置き場所等がまとめられていました。


この中から、活断層の位置についてのkmzファイルのURLを探すと、ここでした。
ダウンロードしてGoogle Earthで開くと、「活動セグメント」として表示されます。

以下に、その他のファイルへのリンクの一部をまとめておきます。

関連記事: