GoogleMapsのAPI はすごい!

まずは GoogleMapsの公式ブログの元記事をごらん下さい。

Maps API 開発コミュニティーの皆様へ

Google Maps APIでも、日本の住所や駅名によるジオコーディングがご利用いただけるようになりました。Maps APIを利用したサイトでは、Google マップと同様、ユーザーが入力した住所の緯度経度を割り出し、表示される地図の場所させることができようになりました。
尚、日本語での利用が主なサイトでは、JavaScript のソースURL のホスト名をmaps.google.co.jp にすることをお勧めします(.co.jp のドメインを使用することで、地図・写真切り替えモードのボタンも日本語で表示されるようになります)。
それでは、Web of the Year 2006 地図部門賞の受賞も記念しまして、記念に短歌を一首。

上高地
一発入力
ひとっ飛び
キミのサイトで
見る河童橋

Google マップ開発チーム一同
Japanese Address and Placename Support Added to the Geocoding API


まず、ジオコードって何?という方もいらっしゃると思いますので、簡単に説明しますと、カーナビなどで、住所や店舗名、電話何号などを検索すると、そこの地図が表示されますが、そこで使われる変換データのことです。
つまり、

住所 ⇒ 緯度経度

といった情報を、ジオコードのデータベースに持っていて、ジオコーディングによって、緯度経度の情報に変換させるわけです。
この技術は、数年前からありましたし、もちろんカーナビでも利用されているものなのですが、今までは、それぞれの会社が独自でジオコードを入力して持っていて、それを公開する事はありませんでした。
なぜかというと、それを持っていて表に出さないことが、会社の利益確保に繋がるからです。
公開したものがあったとしても非常に高価な対価を払って購入しなければなりませんでした。

ところが、今回画期的なのは、GoogleMapsでは、それを一般に公開して、APIによってカスタマイズ(個々の目的に応じて応用)することが簡単に出来るようになったということです。


API(Application Programming Interface)について補足説明すると、今回の例で言えば、GoogleMaps を利用するソフトウェアを開発するときに用いられる命令や関数のことです。
APIを用いることによって、その機能の部分のプログラムをわざわざ作成しなくても、その機能を利用したソフトウェアを作成することができるのです。

GoogleMaps は、APIに関する情報も公開していますので、誰でも比較的簡単にジオコーディングを利用した GoogleMaps 用のソフトウェアを作成することができるようになりました。嬉しいことです。このように、誰でも使うことができ、使用料などを求められないAPIは、オープンなAPIと呼ばれます。
なお、Google Maps API の書式リファレンスについては OPEN SPACEさんのサイト が参考になります。


Google Maps API を用いると、例えば、寺院でいえば、檀家さんの地図データを表示したりプロットしたりっていうことは、基本的な機能でできます。


例えば、各ポイントの経度,緯度の情報をジオコードから自動変換し、次のようにデータ化して、CSVの外部 ファイルとして作成しておくと、後でそれを読み込んで地図上にプロットすることも簡単にできます。
(プロットの位置は適当に作成したので、特に意味はありません、念のため)

139.57258701324463,35.40141665463353
139.5752477645874,35.40181893369544
139.57451820373535,35.40204630792948
139.57372426986694,35.4025185446741
139.57293033599853,35.40285085776207
139.57226514816284,35.403323089793744
139.57175016403198,35.403585439727145
139.57127809524536,35.40414511673141
139.5705270767212,35.40454738217807
139.56994771957397,35.404792238423646
139.56943273544311,35.40522947986937
139.56883192062378,35.40543935492089
139.56835985183716,35.40575416647356
139.5678448677063,35.40603399793262
139.56687927246094,35.40659365793636
139.56629991531372,35.40690846498081


ジオコードをもう少し応用した事例が、先の曹洞宗における「級階査定」で用いた「地域補正係数」です。
全国寺院の緯度経度の情報と、総務省国勢調査地域メッシュ統計データを元に、各寺院周辺の人口分布を求めました。
(この時は、まだ Googleのジオコーディングは公開されていませんでしたから、別の方法をもちいてコード化しています)

曹洞宗財務規程

第37条 (1) 
ウ 地域補正係数は、寺院を中心とする東西南北7km程度の方形の地域における人口密度(以下「地域人口密度」という。)を、アで用いた市町村等の人口密度で除した値を地域補正基準とし、別表第4より求めた係数とする。ただし、地域人口密度の算出については、非居住区域を除外する。


GoogleMaps API をブログに応用した事例が↓こちらです。
Google Maps Mania
http://googlemapsmania.blogspot.com/

どうですか?
あれもできる、これもできる・・と応用の可能性がどんどんイメージとして広がっていきませんか?

投稿者: kameno 日時: 2007年1月15日 08:50

コメント: GoogleMapsのAPI はすごい!

kamenoさん、こんにちは!
すごいですね!これ!
うちの住所を入れて試してみました!

グーグルアースといい、グーグルマップといい、グーグルって気前良すぎですけど・・・商売になるのかしら・・・素朴な疑問ですが。
逆に、これやられちゃうと「ゼンリン」とかは厳しくなるでしょうね・・・。

ともあれ、行きたいところや、檀家さん宅の地図を検索したりと、なんにでも使えますね。
ご紹介ありがとうございました!

投稿者 りょう | 2007年1月15日 14:11

りょうさん
今回のサンプルはまだほんの基本的なものですが、こういうオープンな形でAPIが公開されるっていうことは、利用者側からすると歓迎すべきことだと思います。
ゼンリンは、今のところGoogleと共存関係にあるから大丈夫でしょう。GoogleMapsの地図データはゼンリンが提供してますから。
危機感を覚えるのは、これまでオープンな形にしてこなかった地図業者ですね、きっと。

投稿者 kameno | 2007年1月15日 14:45

さっそくうちの近辺の地図をいれて写真にしてみました。
おっもしろ?い。
まるで鳥になったみたい。でもこの航空写真は1?2年前のかな。大きな池があったところがまだそのままになってる。
最近埋め立てて住宅になったんです。でもあの池がまだうつってるのがなつかしいです。。。

投稿者 ゆが | 2007年1月15日 19:06

ゆがさん、
地図より航空写真のほうが若干更新が遅いのは仕方ないですね。貞昌院の周囲の写真も大体一年半くらい前のもののようです。
なお、航空写真に関しては、国土交通省から、十年おきくらいに撮影されたものが出されています。
http://teishoin.net/blog/000016.html

投稿者 kameno | 2007年1月15日 19:43

どーもはじめまして!
GMAP&Geocoding凄いですよね。

CSVの住所を一括して緯度経度に変換する方法ってAPIをいじれば作れるんでしょうか?
Gmapのリファレンスを買ってきて格闘しているのですがJavaScriptすら知らないので大変です^^;

投稿者 TK | 2007年2月 1日 16:58

TKさんこんばんは
一括変換させるとなると、現状では下記のサービスを使うのがベストのようです。
国土交通省街区レベル位置参照情報ダウンロードサービス
http://nlftp.mlit.go.jp/isj/index.html
東京大学位置参照技術ユーティリティ
http://pc035.tkl.iis.u-tokyo.ac.jp/~sagara/geocode/index.php

投稿者 kameno | 2007年2月 1日 22:27

グーグルマップ、確かにすごいです、
WEBを拝見させていただきましたが、とても技術に精通されている方とお見受けしました。

 一つご質問なのですが、フォームフィールドに文字を入れてアクションすると地図がでる・・というのは自分でもできたのですが、例えばCSVのリストから情報を読み込むように。

test.csvに住所のリストを入れておき、ページをリクエストしたときに、すでに地図上には数箇所のマーカーを表示する・・・ということができなくて困っております。
 このあたりで、なにかアドバイスがいただければうれしいです

投稿者 iijima | 2007年4月 5日 19:19

iijimaさま
コメントありがとうございます。
いろいろと方法はあろうかと存じますが、一番簡単でお金の掛からない(無料)方法は下記の方法だと思います。
http://ecogis.sfc.keio.ac.jp/developers/gmaps/tut_7.html

投稿者 kameno | 2007年4月 5日 21:54

Google Maps でラバーバンドによる範囲指定
念願のUIの実現方法がわかりました。

秘訣は<HTML>のパラメータ指定にあります。
レイヤーを書き換え続けるところまではロジックが作れますが、
xmlns:v="urn:schemas-microsoft-com:vml"がないと、動作しないのですね。
欲張ってRectangleとCircleをインプリしてみました。

http://park15.wakwak.com/~fujii/GoogleSS.html
Google Maps でラバーバンドによる範囲指定
  クリックしてドラッグマーカをドラッグ !!
  右から左へ戻すと円形の範囲指定も可能に!、
  ソースは1ファイルのみ

投稿者 fujikun | 2007年4月10日 00:31

fujikunさん

>Google Maps でラバーバンドによる範囲指定
>クリックしてドラッグマーカをドラッグ !!
>右から左へ戻すと円形の範囲指定も可能に!、

これ、すごいですね。
それこそいろいろな事に応用できそうです。

投稿者 kameno | 2007年4月18日 11:36

コメントを送る