Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

手作りGPSロガー プラスαの5回目          「記録した位置情報を地図に表示する」

Mira f:id:miraluna:20180127173206j:plain:w50          🎀目次へ🎀

手作りGPSロガー プラスαの5回目。
GPSロガーに記録したデータを地図上に描き出してラインを引く方法を紹介します。

f:id:miraluna:20180125110932p:plain

<< この記事では「緯度と経度」のみの情報から平面地図にルートを描く方法を紹介しています。「高度」も加えて立体地図に描画する方法を知りたい方は「+βの記事」をご覧くださいね。>>


使用する地図はGoogle Map を利用させてもらいます。
Googleのアカウントが必要になるので、アカウントのない人はアカウントを作っておきましょう。無料だし、メールアドレスも作れるから便利よ。

Google Mapでは、
〇 CSV
〇 XLSX (2007以降のエクセル拡張子)
〇 KML
〇 GPX (既成のGPSロガーなどでよく使われる拡張子)

という種類の拡張子のファイルを使うことで地図上にラインを表示することができるの。

今回はCSV・XLSXとKMLを使った方法を紹介します。



CSVやXLSXを使う方法>
CSVとはカンマ「,」で区切ったデータやファイルのこと。ここではエクセルから開くCSV拡張子についての話をするわね。
CSVとXLSXは扱い方が似ているので、一緒に説明します。

1.エクセルを開く

「XLSX」ならばそのまま。CSVに変えて保存したいときは、下の写真のところで「CSV」を選びます。

私が紹介したプログラムで得たデータなら「XLSX」でも「CSV」でも、どちらでも大丈夫です。

f:id:miraluna:20180328153847p:plain

どちらを使うと良いのか、それぞれのメリットデメリットについてなんかは私にはよくわからないの。
XLSXなら緯度と経度が別れたカンマのないデータを扱いやすいでしょうし、データがカンマ区切りのものならCSVが使いやすいのかもしれない。

f:id:miraluna:20180328152945p:plain
上のファイルがCSVで、下のファイルがXLSX。



2.データをコピーする

それではGPSロガーを持って出かけたときのルートデータ(ログ)をコピーして貼り付けましょう。
このときAの列は空けておきます。
緯度経度以外にも高度なんかもあれば入れましょう。

f:id:miraluna:20180328152939p:plain


次に「A」の列に0から順番にデータの番号を振ります。
「A1」に「=ROW()-1」という数式を入れれば、行から1引いた数字が入るわ。1行目なら0ね。
f:id:miraluna:20180328153844p:plain


これを一番最後のデータまでコピーします。
A1の欄をコピーしたあと、A列の一番下の欄をシフトを押しながら指定すればA列が上から下まで指定される。
そこで貼り付けの形式を「数式」にして貼り付ければ、指定したすべての欄が「=ROW()-1」になる。
A列を際限なくすべて指定してしまうと、ログデータのないところまで番号が振られて後で支障が出るから、データのあるところだけ番号を振るようにしましょう。
f:id:miraluna:20180328153841p:plain
これでGoogle Map に取り込むデータファイルの出来上がり。
上書き保存しましょう。



3.Google Mapにデータを取り込む

次にインターネットにアクセスしてGoogle Map を開きます。
Googleにログインします。

Mapの「メニュー(三本のバー)」から「マイプレイス」→「マイマップ」→「地図を作成」→「インポート」→「パソコンからファイルを選択」と進みましょう。
f:id:miraluna:20180328153939p:plain


自分のパソコン内にあるファイルから、さっき作ったデータファイルを選択します。
正しく作られていれば、インポートされるはず。

インポートされたら「目印を配置する列」と「マーカーのタイトルとして使用する列」を選ぶことになるので、緯度経度のデータのほうを選ぶ。
緯度と経度の順序を選ぶこともできるから、緯度/経度にチェックを入れましょう。
f:id:miraluna:20180328153113p:plain


そうすればこんなふうにデータがポインタで表されるの。
f:id:miraluna:20180328153110p:plain


でも私、このやりかたでポインタ同士をつないで線にする方法がまだわからない。それにこの方法だと2000ポイントまでしか描画できないみたい。
だから次に紹介するKMLファイルを使った方法で、一日分の旅の記録を地図上に線で描いてみましょう。



KMLを使う方法>

KMLという形式は地理空間情報を管理するのによく使われるものみたい。
位置情報だけではなく、地理学や地図作製、建築なんかにも利用されるのかもしれないわね。

GPSロガーで記録したテキストファイルのデータをKML形式のファイルにするには、ファイル形式の変換をする必要があるの。
ファイル形式の変換には「GPS Visualizer」というとっても優秀なものがあるので、そちらを使わせてもらうことにします。

GPS Visualizer」を開く

1.GPS Visualizer のサイトを開く
 サイトを開いたら「Google Earth KML」というところをクリックする。
 Google Map で使うKML形式に変換してくれるコンバータです。
f:id:miraluna:20180328165504p:plain



2.ログデータのファイルを入れる

GPSロガーでマイクロSDに作ったテキストファイルを、このコンバータに入れます。場所は写真の「ここにファイルを」のところね。
線の幅や色も指定できるわ。
今回はシアンにしてみましょう。
f:id:miraluna:20180328165528p:plain


そうするとテキストファイルをKMLファイルに変換してくれます。
なんていい子なんでしょう。
下の写真の「このファイル」というのができあがったKMLファイル。
これをダウンロードします。
f:id:miraluna:20180328165501p:plain


ダウンロード先を指定していなければ、ダウンロードファイルの中に日付が名前になっているファイルがあると思う。
それが出来上がってきたKMLファイルよ。

あとはこれをGoogle Map にインポートする。
インポートの手順はさっきのCSV・XLSXファイルのときと同じ。列の選択がないぶん、インポートするだけでそのまま地図に線を描いてくれる。
それがこちら。線の色がシアンの水色ね。
f:id:miraluna:20180328165525p:plain


このKMLファイルの方法がおすすめ。
GPS Visualizer には他にも様々な機能があって、高度や目印としたいポイントなんかを取り込むこともできるみたいだし、線の描き方もバリエーションがいっぱいあるみたい。
いろいろと試してみたくなるわね。




<緯度と経度をコピーするだけのサイト>

もう一つ、地図に線を描く方法を紹介するわね。
こちらは描画機能を作成された方のサイトを利用させてもらうものなんだけど、私のプログラムのように「緯度,経度」というような緯度と経度をカンマで区切ったデータを入れるだけで地図上に線を描けるというものなの。
このサイトの「GPSデータ」というボックスに緯度と経度をコピーしたものを貼り付けて、描画ボタンを押す。それだけ。
長いログデータだと少し時間がかかることがあるけど、KMLに変換しなくてもすぐに地図上に表せるから簡単ね。
作成してくださった方、ありがとうございます。

緯度と経度から地図上に線を描けるページ


プラスαの4回目」へ

            ★目次へ


🎀 高度も記録して立体地図に表示する「+β」の記事へ 🎀