« あちこちふらりフォトリンク | トップページ | AGtoKMLのバグ »

2006.11.27

プレースマーク作成ツール A-GtoKML

この記事は旧バージョンのAGtoKMLについての内容です。
現在はバージョンアップしてかなり内容が変わっております。また、ここにあるタイム関連の編集は、プレイスマーク編集ソフト「KME2」とデータを連動できるようになりましたので、そちらへ送って編集するようになりました。
どうか、それぞれのヘルプサイトにて最新版の情報を確認してくださるようお願いいたします。

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

ずいぶん長いこと更新を滞らせて申し訳ありません。
風邪をひいたりもしたのですが、無謀にもプログラムのコードを書いて見ようと急に思い立って、悪戦苦闘の引きこもりをしていました。
といってもどうすればアプリケーションができるのかも何を使うのかも知らなかったわけで、わけもわからずフリーで最初に見つけたVB2005をダウンロードして、その端っこにこの2週間噛み付いていたわけです。さすがにちんぷんかんぷんで手強いーー!相当苦戦するのはわかっていたけれど、用語の難解さとエラーの意味がまったくわからんのには参った。いまだに言葉の意味がほとんどわかりませんです。実はVBで組んでいる、ということすら最近気がついたわけで(いいのか)ほかにもC++とかいろいろあるんですねー!噛み付いてみるのがVBでよかったんだろうか。

それでもなんとかA-GtoKMLと名付けた簡単なものを組んでみました。
とりあえず単純に住所と緯度経度からKMLを作るというものにしました。組んでいるうちに GE Maniacs さんのところにエクセルシートでの「住所2KMLという立派なツールが出たりしたので、おまけにタイムスタンプとタイムスパンを入れられるようにしました。

Agtokml

インストール
インストール作業というほどのものはないので、ツール自体はダウンロードしたzipファイルを解凍して出てくるAGtoKML.exeを適当なフォルダに入れていただくだけです。
しかしVB2005で作成したので、実行には.NET Framework Version 2.0が必要です。
インストールしていない方は、A-GtoKMLの起動時にダイアログが出ますので、Microsoftのサイトからダウンロードしてインストールしてください。
ダウンロードページ
Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)

A-GtoKMLの最初の起動のときに、ファイルを置いたフォルダ内に「KMLtemp」というフォルダを作成するダイアログが出ますのでOKをクリックしてください。

ページの切替
ページのタブを切り替えることで、住所での作成と緯度経度での作成とを切り替えます。

フォルダ名の入力
記入の表の上の部分にフォルダ名入力の場所があるのでここも忘れずに記入してください。ここに書かれたものがプレースマーク集のフォルダのタイトルやKMLファイルのファイル名になります。
注意事項 : 実はkmlファイル名はこれで設定すると日本語は通らないと思ったら、いつの間にか日本語名のファイルも読むようになっているのですね。(確認したバージョンは4.0.2416 (beta))
もし、日本語のとおらないバージョンの場合、ここの記入は英数半角にしてください。最新バージョンをお使いになることをおすすめします。

追記:入力上の大事な点
最後に入力したセルの文字の確定に注意してください。文字列の右端に入力用の縦のカーソルが点滅した状態ではまだセル内容が確定されていません。そのまま出力するとその項目内は無記入とされてしまいますので、タブキーやエンターキーで必ず確定してください。他のセルをクリックしても確定します。

住所入力
住所入力でのプレースマークはGoogle Earthで住所で検索した結果と同じになります。ですから検索で見つからなかったり、正しい地点に飛ばない書き方は、これでも同じ結果となります。
私の経験上ですが、次のようなことでヒット率が上がる場合があります。

住所入力のヒント

・○○町1丁目2-3のように「丁目」を入れるとぴったり度アップ。
・ビル名、建物名は入れない。
・旧字で書かないと飛ばない地名もあるようだ。
・最近市町村合併が相次いでいますが、意外と古い住所のほうがヒットしたりする。

緯度経度による入力
緯度経度はGoogle Earth上では、ルートの「出発地点」をクリックすると、左の「検索」欄に出発地点として「"東京都庁" lat=35.689527, lon=139.691711」というような文字が表示されますがこの数字だけを取り出してカンマでつないだものを入力してください。「35.689527,139.691711」とこんな感じです。
仕様が変わりました。緯度に35.689527を入れ、経度に139.691711を入れてください。

でもおすすめは、ちょうど グーグルアースを楽しむBlog@N-O さんの「GoogleEarth COM APIで簡単アプリ」にとても便利なツールがアップされています。これを併用すると、GE上の緯度経度をクリップボードに取り込んでくれるので、そのまま項目に貼り付ければとても簡単です。  訂正:緯度経度を1項目で作ると、簡易的な機能でしかないcsvファイル入出力で問題が出るため、緯度と経度が別項目になりました。ちょっと面倒ですが、半分ずつコピー&ペーストしてください。とても簡単じゃないけど、やや簡単です、と訂正します。

本当はこの機能をツール自体に盛り込めばいいのですが、参考リンクのページを見てもよく理解できずとりあえずこのままの形で行くことにしました。

Google Earthから入力する場合、自動的に緯度経度を取得する機能をつけました。「緯度経度からKml」のページの地球儀アイコンをクリックして緯度経度を取り込んでください。

タイム関連の入力
タイムスタンプとタイムスパンは両方同時には記入できないようなので、起動時にはタイムスタンプのほうだけ表示されています。
使い方のわかっている場合は「タイムスパンを表示する」、にチェックを入れていただければ、全部の項目が表示され、タイムスパンのビギンとエンドも入力できるようになります。
全部表示すると項目の幅が狭くなりますが、アプリも項目の幅もドラッグで大きくなりますから記入しやすいサイズにぐっと広げてお使いください。

タイム関連の記入は次のような書式で記入してください。特に一桁の月や日にかならず0をつけて2桁にするのをお忘れなく。記入内容のチェックはしていないので、Google Earthで開くときに叱られることになります。

タイムスタンプの入力形式
yyyy-mm-ddThh:mm:sszzzzzz

1997
1997-07
1997-07-16
1997-07-16T07:30:15Z
1997-07-16T10:30:15+03:00

CSVファイル
データは一つ一つ入力してもいいのですが、エクセルなどでまとめて表を作ってCSVで出力したものを読み込むこともできます。保存は基本的にはデータは直接Google Earthで開くので、そこで保存してもらえばいいのですが、何らかの理由でデータそのものを保存しておきたい場合のために、簡易的ですがCSV形式で保存できるようにしました。

CSVは項目の並んでいる順に
名前,住所(あるいは緯度経度),説明,タイムスタンプ,タイムスパンbegin,タイムスパンend

といった形式になります。先頭にタイトル行は入れないでください。いまはあまり入力判定をしていないので、たとえ入っていても先頭行に表示されるだけですが、判定をするようになるとはじかれてしまう可能性があります。
またCSVで保存した場合、タイトル行無しの上記形式のCSVで保存します。

csvファイルといっても単純に項目をカンマで区切っているだけですので、保存や読み出しの予定がある場合は、項目内にカンマを使わないようにしてください。保存できても読み出せないファイルが出来上がります。Google Earthに出力するだけなら説明欄にカンマを使ってあっても問題ありません。

KML作成
必要な項目を埋めたら(住所と緯度経度の欄は必須)KMLファイル作成ボタンをクリックしてください。
作成後Google Earthで開くかどうかのダイアログが出ますので、OK、あるいはキャンセルをしてください。
KMLファイルは実行ファイルのあるフォルダに作成された「KMLtemp」フォルダ内に、フォルダ名の項目に記入された名前で保存されます。フォルダ名の指定がないときは「AG2KML.kml」の名前で保存されています。
たまっていくので必要なければGoogle Earthで保存した後、適宜削除して問題ありません。

2万個くらいまでは作ってみましたが(といってもコピペで同じ場所ばかりをエクセルで作って読み込み)大丈夫なようです。どこまで作れるかはわかりませんが、CSVで読み込むときに結構時間がかかります。なぜか作成のほうがかなり早いです。
しかし、Google Earthで表示するときに相当な時間がかかりました。住所の場合、最初にGoogle Earthが検索しているのでかなーり時間がかかりますね。いったん取り込んでしまえば緯度経度情報もKMLに付け加えられるので後は早いです。

できたらこれに直接Google Earth APIなんたらというもので緯度経度情報を取り込みたいものです。でもまだ、どうしたらいいのか見当もつきません。VB2005はCとか言うののやりかたでは駄目なんですかね。dllとか作らなくちゃ駄目なんでしょうか。参照設定には現れるけれど、名前空間が適切でないとかいって怒られて何もできないでいます。どなたか参考になるページとか本があったら、ぜひ教えてくださいませ。というかやり方教えて!

最新版はBugsの物置部屋AGtoKMLのヘルプページの右上からダウンロードできます。

V.0.0.0.4で改善しました。

|

« あちこちふらりフォトリンク | トップページ | AGtoKMLのバグ »

AG2KML」カテゴリの記事

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

コメント

 お久しぶりです。
 ボタン部分のソースもブログで公開しましたので見てやってください。保障はしませんがこれで出来るのではないかと思います。

投稿: Takashi.U | 2006.11.27 23:34

ソースの公開までありがとうございます。
せっかく公開してくださったのにあまりにも初心者で、どうもうまく行きません。たぶんもっと前の段階の宣言とかdllを呼ぶとかそんなところがぜんぜんできていないせいだと思います。
まじめに参考書買ってきます。できの悪いBugsですみません。
一つだけ、dllの作成もよくわからないのですが、Takashi.Uさんのツールに入っているdllをVB2005の参照の追加でdllファイルを取り込んだのでは駄目なんでしょうか?

投稿: バッグスからTakashi.U さんへ | 2006.11.28 01:42

>dllをVB2005の参照の追加でdllファイルを取り込んだのでは駄目なんでしょうか?

 それで問題ありません。VB2005上で制作する際には参照したdllのソースは出てきませんが、使えるようになっています。入力補助もしてくれますので、自分のソースで良ければ試しに入力して試してみてください。

 自分もVBは初めてなので、まじめに勉強しなければいけません。お互い頑張りましょう。

投稿: Takashi.U | 2006.11.28 09:30

ありがとうございます。
今日は紀ノ国屋で参考書を買ってきました。ずらりと並んだ分厚い本を前にくらくらしましたが適当に気に入った色の本を買ってきたものの、すらすら読み解くには程遠く・・・

がんばります。

投稿: バッグスからTakashi.U さんへ | 2006.11.28 19:09

コメントを書く



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


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



トラックバック

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

この記事へのトラックバック一覧です: プレースマーク作成ツール A-GtoKML:

» プレイスマーク集簡単作成ツール AG2KML [GE Maniacs]
先日、公開した「住所2KML」は、カプチ2氏作成のツールを簡単に改造してつくっ... [続きを読む]

受信: 2006.11.28 20:23

« あちこちふらりフォトリンク | トップページ | AGtoKMLのバグ »