GoogleマップのルートをGPXファイルにエクスポートする(2022年〜)
Maps to GPX Converterが寄付を募られています
以前、こういう記事を書きました。
GoogleマップのルートをGPXに変換するにはMaps to GPX Converterを使っていました。
とても使いやすいサービスです。しかし、最近どこかの大きな会社がこのサービスを自動で呼び出し始め、そのせいで数千ドル(Google Maps APIの課金だと思われます)を払う羽目になってしまったそうです。すでに問題の会社のIPアドレスはブロックしたそうですが、既に掛かってしまった費用を賄う必要があるということで高精度なデータを使うには2023年5月から寄付が必須になっています。これまでお世話になったので寄付はやぶさかではないのですが、高精度データが使えるのは寄付したその日限りというのが苦しいです。
GoogleマップのルートをGPXにエクスポートするChrome 拡張機能があった
この拡張機能をChromeに追加します。追加した後、GoogleのIDでサインインします。
Googleマップを使うときはGMaps2GPX経由で開きます。
後は普通のGoogleマップと同様にルートを編集できます。編集が終わったらGPXをエクスポートできます。
エクスポートされたGPXファイルのフォーマット
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="getwebooster.com" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
<metadata>
<link href="https://gmaps2gpx.extensionsbox.com/">
<text>GMaps2GPX</text>
</link>
<!--desc>Map data ©2022</desc-->
<!--copyright author="Google Inc">
<year>2022</year>
<license>https://developers.google.com/maps/terms</license>
</copyright-->
<time>2023-04-16T08:55:42.851Z</time>
</metadata>
<wpt lat="35.6678029" lon="139.47735319999998">
<name>〒183-0027 東京都府中市本町1丁目10−10</name>
<desc>〒183-0027 東京都府中市本町1丁目10−10</desc>
</wpt>
<wpt lat="35.3004016" lon="139.48009009999998">
<name>〒251-0036 神奈川県藤沢市江の島2丁目3</name>
<desc>〒251-0036 神奈川県藤沢市江の島2丁目3</desc>
</wpt>
<trk>
<name>〒183-0027 東京都府中市本町1丁目10−10 to 〒251-0036 神奈川県藤沢市江の島2丁目3</name>
<trkseg>
<trkpt lat="35.6678029" lon="139.4773532">
<name>TP0</name>
</trkpt>
<trkpt lat="35.6674309" lon="139.4776119">
<name>TP1</name>
</trkpt>
<trkpt lat="35.6673992" lon="139.4776373">
<name>TP2</name>
</trkpt>
<trkpt lat="35.6673467" lon="139.4776741">
<name>TP3</name>
</trkpt>
すべてのトラックポイントに名前要素が入っています。Googleマイマップ、TrailNoteだと問題なく読み込めます。
しかし、ユピテルのGPSサイクルコンピューターASG-CM14に読み込ませるとApplication Errorになり再起動してしまいます。そこで、これまで使っていたのと同じスクリプトで不必要な要素を取り除くと動作します。
cat $@ > re.txt
cat $@ |
sed -e 's/<\?xml.*\?>/<?xml version="1\.0" encoding\="UTF\-8"?>/g' |
# sed -e 's/<gpx.*>/<gpx>/g' |
sed -e 's/.*<wpt.*wpt>//g' |
sed -e 's/.*<metadata>//g' |
sed -e 's/.*<\/metadata>//g' |
sed -e 's/><ele>/>\n<ele>/g' |
sed -e 's/.*<ele.*ele>//g' |
sed -e 's/.*<link.*>//g' |
sed -e 's/.*<\/link>//g' |
sed -e 's/.*<text.*text>//g' |
# sed -e 's/.*<\/trkpt>//g' |
sed -e 's/.*<desc>//g' |
sed -e 's/.*<\/desc>//g' |
sed -e 's/.*<time.*time>//g' |
sed -e 's/.*<year.*year>//g' |
sed -e 's/.*<author>//g' |
sed -e 's/.*<\/author>//g' |
sed -e 's/.*<license.*license>//g' |
sed -e 's/.*<number.*number>//g' |
sed -e 's/.*<name>TP.*<\/name>//g' |
sed -e 's/.*<keywords>//g' |
sed -e 's/.*<\/keywords>//g' |
sed -e 's/.*<bounds.*>//g' |
sed -e 's/0"/"/g' |
sed -e 's/0"/"/g' |
sed -e 's/0"/"/g' |
sed -e 's/.*<\!\-\-desc.*desc\-\->//g' |
sed -e 's/.*<\!\-\-copyright.*>//g' |
sed -e 's/.*<\/copyright\-\->//g' |
sed -e 's/.*<\!\-\-url.*url\-\->//g' |
sed -e 's/.*<name><\!\[CDATA\[/<name>/g' |
sed -e 's/><name>/>\n<name>/g' |
sed -e 's/\]\]><\/name>/<\/name>/g' |
sed -e 's/.*<\!\[CDATA\[.*\]\]>//g' |
sed -e 's/[[:cntrl:]]//g' |
grep -v '^\s*$' >result.gpx
exit