読者です 読者をやめる 読者になる 読者になる

たきたきの趣味三昧

たきたきの趣味を五月雨に公開するサイトです。開設してから1年経ちました!

IntelMapで取得した情報をGoogleマイマップに反映させる方法

Ingress

ども、たきたきでっす。

IngressのポータルをGoogleマイマップ上にインポートできる形式(kml形式)に変換する方法をまとめてみました。

 

恐らく、不正行為にはならないと思いますが流用するときはご注意ください

 

1. IntelMapからポータルの情報を調べる

IntelMapを開いた状態で、デベロッパツール(Chromeの場合)を使ってAPIのレスポンスをファイルに書き出します。

対象となるAPIは getEntities になります。 画面内に表示されているポータルの情報やらなんやらがこちらのAPIのレスポンスの中に入っていると思います(バッファもあると思うので、画面外のポータル情報とかも入ってると思います)

f:id:yuhib:20170217183331p:plain

クリップボードにコピーしたら、ファイルとして保存してください(結構大きめなファイルなので保存に時間がかかるかもです)

保存の際は拡張子に .json をつけておいてください

2. kmlファイルに変換する

pythonスクリプトを作ったので、このスクリプトを実行すると、kmlファイルに変換してくれます

simplekmlは外部ライブラリになっているので、pipでインストールしてみてください

ingressjson2kml.py

上のスクリプトは、「python ingressjson2kml.py [1.で取得した拡張子を除いたファイル名]」で実行できるかと思います

エラーが無く動けば、[1.で取得した拡張子を除いたファイル名].kml というファイルが出力されていると思います

3. Googleマイマップにインポートする

f:id:yuhib:20170217184007p:plain

「インポート」をクリックして2.で生成されたkmlファイルを指定するとしばらく時間がかかってからmap上に反映されるかと思います

f:id:yuhib:20170217184155p:plain

↑のような感じでポータルの場所がピンでわかるようになると思います。

 

Googleマイマップの仕様上、最大1000件までしか登録出来ないので注意してください。

手探りで作ってみたので何か変な点とかがあったら指摘してくれると嬉しいです!
(Pythonのお作法がいまいちわからないのであんな書き方で良いのかどうか…w)