« リンゴのコンポート? | トップページ | Google Earth 5.0 »

2009.01.19

AGtoKML Mapの修正

AGtoKMLのMap部分の修正をしました。
本体の修正ではありませんのでプログラムをダウンロードしなおす必要はありません。自動的にあたらしいMapが表示されます。

AGtoKMLで緯度経度が取得できないとコメントを頂きましたので、エラーの種類を絞り込めた方がよいと思い、「Search!」ボタン(以前は「GO!」ボタン)をクリックした場合にStatusCodeを取得するようにしました。

AGtoKMLの表から自動的に緯度経度を取得している場合にはStatusCodeは取得しません。StatusCodeを特定するには、確認したいデータを選択して下部のMapにデータの住所が表示されたのを確認してから、「Serach!」ボタンをクリックしてください。StatusCodeの欄に3桁の数字が表示されます。
正常に取得できた場合には「200」と表示されますが、取得できていない場合には以下のいずれかになると思います。
エラーの場合のコードの意味は下記の通りです。

500
G_GEO_SERVER_ERROR:ジオコーディングまたはルート要求を正常に処理できませんでした。失敗の正確な理由は不明です。
601
G_GEO_MISSING_QUERY:HTTP q パラメータは、見つからないか値がありませんでした。ジオコーディング要求の場合、これは入力として空の住所が指定されたことを意味します。ルート要求の場合、これは入力でクエリが指定されていなかったことを意味します。
602
G_GEO_UNKNOWN_ADDRESS:指定された住所の対応する地理的位置が見つかりませんでした。これは、住所が比較的新しいか、正しくないことが原因である可能性があります。
603
G_GEO_UNAVAILABLE_ADDRESS:法的または契約的理由により、指定された住所のジオコードまたは指定されたルートクエリの経路を返せません。
604
G_GEO_UNKNOWN_DIRECTIONS:GDirections オブジェクトがクエリで指定された地点間のルートを計算できませんでした。これは、通常、2つの地点間の経路が入手できなかったり、その地域の経路選択データがないことが理由です。
610
G_GEO_BAD_KEY:指定されたキーが無効であるか、指定されたドメインと一致しません。
620
G_GEO_TOO_MANY_QUERIES (620) 指定されたキーが24時間内に要求制限を越えました。

Google Japan Blog」によると一人当たり24時間に15000件の制限があるようです。これを超えた場合に「620」のエラーが返ってきます。この場合にはしばらく時間を置く必要があるようです。また、あまりに頻繁なリクエストを送り続けるとアクセス制限を受ける可能性もあるようです。
このように大量なジオコーディングを予測しておりませんでしたが、念のためリクエストを軽くする処理をしました。
また、大量のジオコーディングを行ったあとにMAPを表示したまま表のスクロールを行うと、各データの場所を表示しようとしていちいちリクエストを送ることになるので、大量のデータのスクロールはMapを表示せず行うようにしていただいたほうがよいと思います。

AGtoKMLに使用しているMAPはサイドバーの「ジオコーディングできるページ」のMAPですので、こちらでもStatusCodeを見ることができます。

|

« リンゴのコンポート? | トップページ | Google Earth 5.0 »

AG2KML」カテゴリの記事

Bugsのツール」カテゴリの記事

コメント

複数の地点を一気にKMLできるものがないかと探していて、たどり着きました。
シンプルですが、非常に使いやすいです。

投稿: Masashi.K | 2009.06.11 18:05

ありがとうございます。
お役に立てれば何よりです。
Masashi.Kさんのサイト見させていただきました。わかりやすくてとても参考になります。よろしくお願いいたします。

投稿: BugsからMasashi.Kさんへ | 2009.06.11 23:28

ついでなのですが、もう少し改良をしていただけると、多くの方が使いやすいかなと思います。

【希望する改良点】
・ダウンロードするファイルの中に、CSVファイルのサンプルを含むといいと思います。


・現在、KMLへの出力が『Google Earth』ボタンなのですが
 単にKMLを出力したいときにGoogle Earthが起動しまうので
 そのまま保存できるボタンが欲しいです。

・CSVエクスポート機能もあると、嬉しいかなと思います。
 (住所→緯度・経度を取得したとき、その結果の保存用)

お時間のあるときにでも対応していただければ助かります。

投稿: Masashi.K | 2009.06.12 10:48

要望のコメントありがとうございます。
すぐにというわけに行かないかもしれませんが、KML出力、CSV出力の機能追加を検討してみます。
Google Earthへの出力に限定したのは、アドレス情報のみのデータの場合、Google Earthでジオコーディングしないと緯度経度情報の入ったきちんとしてKMLにならないので、出力して緯度経度が割り当てられたことを確認したものを必要に応じてKML保存したほうがよいのではないかと判断していたためですが、それを理解されたうえで保存する必要があれば対応いたします。
現状では、Google Earthに出力時、AG2KML.exeのあるフォルダ内の「AGtemp」フォルダの中に「agtemp.kml」という一時ファイルができています。次の出力をすると上書きされてしまいますが。
どうしてもそのままのkmlが必要がある場合は、このファイルを別の場所にコピーしてリネームしてください。もっともこれではGoogle Earthは立ち上がりますし、あまり役にはたたないかもしれませんね。
すみませんが、ゆっくりお待ちくださいませ。

投稿: BugsからMasashi.Kさんへ | 2009.06.12 21:37

ご丁寧なお返事ありがとうございます。
急いでいませんので、お時間のあるときにでもしていただければ助かります。


ところでジオコーディングについてですが、
Geocoding APIというサービスを使えば簡単にできますよ。

■Geocoding API
http://www.geocoding.jp/api/

あとはGoogle Maps APIでも無料で行うことができます。
その他、いくつかあるようです。

http://code.google.com/intl/ja/apis/maps/documentation/services.html
http://groups.google.co.jp/group/Google-Maps-API-Japan/browse_frm/thread/34a383696456b4ae?tvc=1

-----------

お返事を読んでいて初めて気づいたのですが、
もしかしてGoogle Earthがインストールされていないと動作しないですか?


たまたまGoogle Earthが先にインストールされていたので気づかなかったのですが・・・。

投稿: Masashi.K | 2009.06.14 02:35

遅くなりましたが、ようやくアップデートしました。
KML,CSVでの出力に対応したつもりです。

サンプルCSVはまともなのを作っていないので同梱してありません。また改めてサンプルをブログのほうにでもあげますのでよろしくお願いします。

なお、Google EarthがインストールしていなくてもGoogle Earthへの出力を使わなければたぶん動くとは思うのですが、全部のPCにGoogle Earthがインストールされちゃってまして動作確認できませんでした。すみません。

投稿: BugsからMasashi.Kさんへ | 2009.07.06 18:23

Bugsさま

アップデートをしていただいてありがとうございました。
CSV出力に対応していただけたのは非常に助かりました。

あとGoogle Earthは、インストールされていないと地図が表示されずダメでした。

いつかGoogle Earthがなくても使えると便利かな...とかつぶやいてみます。

ところで、現在Google Maps APIに関する本を執筆中なのですが、AGtoKML を紹介させていただいてもよろしいですか?

投稿: Masashi.K | 2009.08.16 01:54

ごめんなさい、1つ訂正です。
Google Earthがなくても動きました。
久々に使ったので、[Mapを表示]のチェックボックスを見落としておりました。

投稿: Masashi.K | 2009.08.16 02:00

Bugs様

新しくなったAGtoKMLを使わせていただいております。
CSV対応していただけたので、随分と使いやすくなりました。

ところで2点ほど希望があります。

--------------------

「ジオどす」に対応しているとのことでしたので
「京都市中京区寺町通御池上ル上本能寺前町488番地」を変換しようと思ったら
「Not found」と表示されてしまいました。

なので、最後の「番地」を除くことで検索ができました。

「仕様です」とか言われてしまうかもしれませんが
このあたりをうまく対応していただけるとうれしいかな、と思います。

-------------------

2点目なのですが、「name」と「address」のデータグリッドの行を
直接編集することができません。

これも直接編集できるとうれしいな、なんて思います。

--------------------

お時間のあるときに、また対応していただけると幸いです。

投稿: Masashi.K | 2009.08.16 13:30

ごめんなさい、また訂正です。

ジオどすを利用したいときは、チェックをつけないとならいんですね。
Mapを表示していると編集できない仕様なんですね…

失礼しました。

投稿: Masashi.K | 2009.08.16 13:46

新バージョン試していただいてありがとうございます。

ジオどすをデフォルトでは使用しないようにしているのは、ジオどすがgetLocationsに対応していないため、ジオどすを使用するとエラーコードが取れないためです。
エラーコードと京都の住所検索とどちらを優先するかで、選択していただくようにしています。

また、住所表記のぶれに関しては、Google Maps APIもジオどすもデータベースがどんどん進化するでしょうから、特に現状に合わせて記入された住所を変更するような機能は今後も入れないと思います。ということで仕様ということでご了承くださいませ。
表の住所を書き換えなくても、Mapに表示された住所のみ書き換えて緯度経度を取得することはできます。

>2点目なのですが、「name」と「address」のデータグリッドの行を直接編集することができません。

Mapの表示いかんにかかわらず、表のほうでも普通に編集できるはずなんですが・・・できませんか?

本で取り上げていただくのは特に支障はありません。自分のためのツールであるために、バージョンアップも機能追加も非常に気まぐれなツールですのでそれでもよろしければありがたいことです。:-)

投稿: BugsからMasashi.Kさんへ | 2009.08.16 19:58

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/170323/43790252

この記事へのトラックバック一覧です: AGtoKML Mapの修正:

« リンゴのコンポート? | トップページ | Google Earth 5.0 »