はてなキーワード: Google Maps APIとは
> アプリ内のデータかバックアップしたのを自分でダウンロードしてテキスト化する方法ないかなあ/できたわ。設定→位置→タイムライン→タイムラインのエクスポートでjson化可能。あとは誰かが処理系を作るだけだ!
https://b.hatena.ne.jp/entry/4766225990155446401/comment/punychan
これを使えばXXXX-XX-XX.kml 形式で日付別のタイムラインデータを出力できる(ChatGPT製)。
KMLファイルはGoogle Earth Proなどで開くことが可能で、ビジュアルとして行動履歴を見ることができる。
ただ、以前GoogleMapsタイムラインが吐いていたKMLではPlacemarkという項目に直接建物名などが書かれていたが、現在出力されているjsonではplaceIdというものに変更されていて具体的な名前がわからない。
placeIdを実際の建物名などに変換するにはGoogle Maps API の Place Details APIを使うしかないようだが、膨大なリクエスト(有料)をしなければならず非現実的。
もともと欧州のプライバシー関係の規制のせいでGoogleのサーバ上でのタイムライン履歴が行われなくなったのが今回の問題の起点。
ユーザーの自由を尊重するなら、個人が行動履歴を自己管理する自由ももっと尊重してもらいたいものだな、と思った。
import json
import os
from xml.etree.ElementTree import Element, SubElement, tostring
from xml.dom.minidom import parseString
with open("タイムライン.json", "r", encoding="utf-8") as f:
data = json.load(f)
output_folder = "kml_output"
os.makedirs(output_folder, exist_ok=True)
# `semanticSegments` に移動データが含まれている
if "semanticSegments" in data:
date_segments = {} # 日付ごとにデータをまとめる辞書
for segment in data["semanticSegments"]:
# `startTime` から日付部分(YYYY-MM-DD)を抽出
if "startTime" in segment:
date = segment["startTime"].split("T")[0]
date_segments[date].append(segment)
for date, segments in date_segments.items():
kml = Element("kml", xmlns="http://www.opengis.net/kml/2.2")
document = SubElement(kml, "Document")
for segment in segments:
for point in segment["timelinePath"]:
coords = point["point"].replace("°", "") # 度記号を削除
time = point.get("time", "Unknown Time")
# Placemarkを作成
placemark = SubElement(document, "Placemark")
# タイムスタンプ
timestamp = SubElement(placemark, "TimeStamp")
when = SubElement(timestamp, "when")
# 座標
point_element = SubElement(placemark, "Point")
coordinates = SubElement(point_element, "coordinates")
lat, lon = coords.split(", ")
coordinates.text = f"{lon},{lat},0" # KML形式: lon,lat,alt
kml_str = tostring(kml, encoding="utf-8")
formatted_kml = parseString(kml_str).toprettyxml(indent=" ")
kml_filename = os.path.join(output_folder, f"{date}.kml")
Google Maps APIは数年前に有料になっていて、利用には支払い情報の登録が必須である。
でも日本円で1か月2万円分くらいは無料だよ、そしてだいたいの小規模サイトはこの範囲に収まるから心配しなくていいよ、という利用形態。
俺も自分が運営しているウェブサービスでGoogle Maps APIを使ってる(たいしてアクセスはない)が、この無料分を超えたことはない。
破産者マップは「1時間あたり230万アクセスあるみたいです」とかTwitterで書いてたので、これ支払い情報有効にしてたら、とんでもない支払金額になってるだろうね。
それをやっておらず、APIキーなしで利用してたので、背景が灰色で "For development purposes only" とか出てたわけだが、おそらくGoogleにそれがバレて利用を止められてる。(明らかに開発目的じゃないので当然)
こんにちは。※すごく恥ずかしいことに中身を間違えて投稿したので修正再投稿です。
私は不景気の昨今、株で大失敗した男A(データ分析が生業)です。同じく不景気で会社が倒産した男H(Web開発が生業)と一緒にWebサービスを作りました。
私はお金を、彼は職場を失ったので、生活に困窮し、現在引越しを考えています。けれど、どこに住んだら良いかわからないので、そんなときに必要な地図Webサービスを作りました。私らは事情によりFacebookやれないし、Twitterではフォロワー少ないし、何かのビジネスプランやWebコンテンツのコンテストもほとんどなくなってしまったし、で、どうか匿名ダイアリーの場をお借りさせてください。
距離より大事な時間とお金で地図を変換・新しい地図サービスmaplas【マプラス】
距離で描かれる通常の地図に対して、これは地点間の移動に要する「時間」と「運賃」(電車)で描かれている地図です。
今回は東京の通勤圏(東京から通勤可能そうな約60km圏が対象です)の路線が変形して図示されます。デフォルトでは二人が飲み歩いている町屋近辺を「運賃」の世界で描画しています。クリックしたり検索ボックスから検索するとそこを中心に設定できます。またコントロールで時間、運賃、距離(普通の地図)の切り替えで比較できます。
距離の近い順に 田端、北千住、王子 (同心円の単位はkm)ですが
(移動)時間では早い順に、北千住、田端、王子、(同心円の単位は分)
運賃(移動料金)では安い順に、北千住、田端=王子、 (同心円の単位は円)
で描画され、地図のようにマクロ的に把握できるようになるサービスです。比較マップで二画面分割の比較もできます。
これで毎日の通勤先に時間や料金でお得な駅、自宅から遊びに行くのに思ったよりお金は時間のかかる駅などがわかります。
通勤通学を考えた引越し先や、自分の住まいや友人の住まいからの行きたい駅候補の調査などに使っていただけたらと思います。
次は関西圏版(もうすぐ完成予定)です。
北海道版、全国版、世界版はプロタイプ開発済み、なので今後も実装&リリースできたらいいなあと思っています。将来的には路線に限らず、航路、陸路、建物など、いろんな領域で同じようなサービスが作りたいと思っています。お金が残っているうちに、かろうじて特許出願できたのが幸いでした。
一般的な地図データの中心点からの角度を維持しながら時間と運賃(お金)の概念で距離を倍率変換しています。例えば、距離は遠くても時間が短いならより近くに、距離は近くても運賃がかかるならより遠くへと。距離が遠くになるにつれズレも激しくなる部分を補正しつつ、事前に全組み合わせを計算するコストが大変でした。
当初は計算された位置データをcanvasかGDあたりで、と考えていたのですがコスト高過ぎて断念。人間が目で見ても意味が分からない数字が一杯並んだだけじゃ、それまでの苦労が無駄になってしまうので悩みました。そこで、描画のベースにGoogle Maps APIを使うという荒技を。計算済みデータを保有するA側のサーバと、サービスを設置してるサーバのDBを連動させることで、描画用のデータを生成、あとはいわゆるLAMPなwebアプリという感じで画面出力してます。
A システムトレーダー。いつのまにかアベノミクスで大損していた。引越し検討中。
H 流しのギタリスト。いつのまにか会社が潰れていた。引越し検討中。
N 料亭の女将を夢見る才媛。いつのまにか手伝わされていた。引越し検討中。
なにか他では見たことのないものを作りたいと思っていました。
地味ですけど、電話帳のように世の中の誰かには必要とされて、長いこと使い続けて貰えたら嬉しいです。できれば引越ししなくても良いくらいに運営できれば最高です。私一人ではとても無理で、一緒に作ってくれた盟友Hの独創性ほとばしるスキルと芸術性に感謝します。Nの献身的な支援にも勇気づけられました。
使ってみた感想や、ダメ出し、いつも駄弁っている町屋に参戦表明など、やさしくこっそり伝えて頂けると3人とも喜びます。
よろしくお願いします!
私は不景気の昨今、株で大失敗した男A(データ分析が生業)です。同じく不景気で会社が倒産した男H(Web開発が生業)と一緒にWebサービスを作りました。
私はお金を、彼は職場を失ったので、生活に困窮し、現在引越しを考えています。けれど、どこに住んだら良いかわからないので、そんなときに必要な地図Webサービスを作りました。世知辛い感じで作り始めましたが、サービス自体は思わず楽しくなって作りこんでしまいました。私らは事情によりFacebookやれないし、Twitterではフォロワー少ないし、何かのビジネスプランやWebコンテンツのコンテストもほとんどなくなってしまったし、で、どうか匿名ダイアリーの場をお借りさせてください。
距離より大事な時間とお金で地図を変換・新しい地図サービスmaplas【マプラス】
距離で描かれる通常の地図に対して、これは地点間の移動に要する「時間」と「運賃」(電車)で描かれている地図です。
今回は東京の通勤圏(東京から通勤可能そうな約60km圏が対象です)の路線が変形して図示されます。デフォルトでは二人が飲み歩いている町屋近辺を「運賃」の世界で描画しています。クリックしたり検索ボックスから検索するとそこを中心に設定できます。またコントロールで時間、運賃、距離(普通の地図)の切り替えで比較できます。
距離の近い順に 田端、北千住、王子 (同心円の単位はkm)ですが
(移動)時間では早い順に、北千住、田端、王子、(同心円の単位は分)
運賃(移動料金)では安い順に、北千住、田端=王子、 (同心円の単位は円)
で描画され、地図のようにマクロ的に把握できるようになるサービスです。比較マップで二画面分割の比較もできます。
これで毎日の通勤先に時間や料金でお得な駅、自宅から遊びに行くのに思ったよりお金は時間のかかる駅などがわかります。
通勤通学を考えた引越し先や、自分の住まいや友人の住まいからの行きたい駅候補の調査などに使っていただけたらと思います。
次は関西圏版(もうすぐ完成予定)です。
北海道版、全国版、世界版はプロタイプ開発済み、なので今後も実装&リリースできたらいいなあと思っています。将来的には路線に限らず、航路、陸路、建物など、いろんな領域で同じようなサービスが作りたいと思っています。お金が残っているうちに、この地図変形、描画方法について特許出願できたのが幸いでした。
一般的な地図データの中心点からの角度を維持しながら時間と運賃(お金)の概念で距離を倍率変換しています。例えば、距離は遠くても時間が短いならより近くに、距離は近くても運賃がかかるならより遠くへと。距離が遠くになるにつれズレも激しくなる部分を補正しつつ、事前に全組み合わせを計算するコストが大変でした。
当初は計算された位置データをcanvasかGDあたりで、と考えていたのですがコスト高過ぎて断念。人間が目で見ても意味が分からない数字が一杯並んだだけじゃ、それまでの苦労が無駄になってしまうので悩みました。そこで、描画のベースにGoogle Maps APIを使うという荒技を。計算済みデータを保有するA側のサーバと、サービスを設置してるサーバのDBを連動させることで、描画用のデータを生成、あとはいわゆるLAMPなwebアプリという感じで画面出力してます。
A システムトレーダー。いつのまにかアベノミクスで大損していた。引越し検討中。
H 流しのギタリスト。いつのまにか会社が潰れていた。引越し検討中。
N 料亭の女将を夢見る才媛。いつのまにか手伝わされていた。引越し検討中。
なにか他では見たことのないものを作りたいと思っていました。
SNSみたく人がコンテンツになって変化が楽しめるサービスじゃないから地味ですけど、電話帳のように世の中の誰かには必要とされて、長いこと使い続けて貰えたら嬉しいです。できれば引越ししなくても良いくらいに運営できれば最高です。緯度経度、地図の変換とGoogleMapの連動なんかはものすごく難しかったけど良い経験になりました。
私一人ではとても無理で、一緒に作ってくれた盟友Hの独創性ほとばしるスキルと芸術性に感謝します。Nの献身的な支援にも勇気づけられました。
使ってみた感想や、ダメ出し、いつも駄弁っている町屋に参戦表明など、やさしくこっそり伝えて頂けると3人とも喜びます。よろしくお願いします!
GoogleがGoogle Maps API のv1のサポートやめちゃったからか。
http://googlemapsapi.blogspot.com/2006/10/revision-265-of-maps-api-v2.html
Finally, we plan to shut down API v1 in the first week of November. If you haven't upgraded yet, please visit our upgrade guide.
こりゃ、復旧まで結構手間かかりそうだな。
直ってる。さすがです。