2016.02.20

AG2KMLの「スクリプトエラー」について

ユーザーの方からメールをいただいて、AG2KMLがスクリプトエラーでまともに使えなくなっているのを知りました。放置していてすみません。ご報告ありがとうございました。

原因はMAP画面の表示用に使用している「WebBrowser コントロール」がいまだにインターネット・エクスプローラーのバージョン7相当で動いていることのようです。(これ、インストールしているIEのバージョンの核で動いていると思い込んでいました。)
それで、どんどん新しくなるGoogle Maps APIに対応できなくなったのだと思います。

対応策ですが、解決するにはレジストリに「WebBrowser コントロール」が使用するIEのバージョンを登録する、という方法しかないようです。


レジストリの操作は危険が伴います。
どうかいずれの方法にせよ、自己責任で注意深く対策していただけますよう、くれぐれもよろしくお願いいたします。

とりあえずダブルクリックでAG2KMLをレジストリに登録するregファイルを用意しました。

記事の一番下から「AG2KML_reg.zip」をダウンロードして解凍してください。

「ag2kml_IE9.reg」
「ag2kml_IE10.reg」
「ag2kml_IE11.reg」

の3つのファイルが出てきますので、

お使いのインターネットエクスプローラーのバージョンにあわせてどれかひとつのファイルをダブルクリックして実行してください。アラートの画面が出ますので、「OK」をクリックすると、レジストリにAG2KMLが登録されます。

手動で登録する場合には、
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION


の中に、 [DWORD (32ビット)値] で新規に「AG2KML.exe」を作成し、値を設定します。

値は、10進法で

IE9は9000
IE10は10000
IE11は11000

と入れてください。



こちらのサイトが参考になります。
(下のほうの 「 IEのバージョンと値」の欄の16進法の値は、IE9とIE10の値が同じになっているので(間違い?)10進法の数値を参考にしてください。)

http://www.ipentec.com/document/document.aspx?page=csharp-change-webbrower-control-internet-explorer-version

とりあえず、私の環境ではエラーが収まっています。

ダウンロード AG2KML_reg.zip

 

| | コメント (8) | トラックバック (0)

2014.08.27

AGtoKML MarkerResponseの住所について

AGtoKMLのMarkerResponse の住所の件でコメント欄でお問い合わせいただきました。
コメント欄にて実は間違ったお返事をしてしまいました。恥ずかしいのでそのコメントはもう取り消して書きなおしてしまいましたが、念のためこちらにも正しい内容を書いておきます。もしかしたら他の方の参考にもなるかもしれません。

Google Maps APIのジオコーディングはどんどん正確さを増していますが、データ集力の際の住所の書き間違い、あるいは旧住所で入力してしまったなど、正しくジオコーディングされないケースもままあると思います。
そのような場合Google Maps APIのジオコーディングでは文字の前方から認識できるところまでの住所で位置を返してきます。そのため一見ジオコーディング出来ているように見えて、実は見当違いのところにマーカーができているということもよくあります。その場合は、MarkerResponse欄には検索した住所とは違う住所が表示されているはずです。
AGtoKMLのMarkerResponse欄の表示やYahooでのジオコーディングはそのようなケースを発見しやすくするために追加されました。

しかしMarkerResponse欄は現在のバージョンでは画面の表の一覧部分には表示されません。
コメントではこの部分をCSV保存してひと目ですべてのデータを点検することができないか、ということだったのですが、保存形式からのCSV保存は、Google EarthやGoogle Mapsに持っていくためのもので、残念ながらMarkerResponse欄は保存されません。

そこでとりあえずの裏技的な解決方法ですが、「aml」形式の保存では、内部的なデータをすべて保存しています。
また、内容的にはxml形式のファイルですので、この拡張子をxmlにすることにより、エクセル等で開くことができます。表形式で一覧できることで、間違った位置にできたマーカーを発見しやすくなるかもしれません。

ここからは本当に想定外裏ワザということで無保証ですが、エクセル等で修正を行った後、再びXMLで保存し、拡張子を「aml」に変更してAGtoKMLに読み込むこともできるかも?しれません。
ただし文字コードの問題、うっかり列を変更してしまった場合等、様々なトラブル要因は考えられますので、自己責任でデータのバックアップなどきちんととった上で、どうしても試したい方のみお試しください。

(そういえばこのツールがそもそも自己責任仕様ツールなのでありました。)

| | コメント (0) | トラックバック (0)

2013.12.26

AG2KML V.0.0.7.2 ウェイト関連の見直し

V.0.0.7.2 修正版です。

コメント欄でジオコーディングが「not found」になりやすいと投稿いただいたので、コードを見なおしてみました。
実はこれで効果があるかどうかは疑問もあるのですが、リトライのウエイトがきちんと反映されない場合があるようだったので、少し訂正いたしました。
「not found」が出やすい場合、このバージョンでリトライのウエイトを少し多めにして試していただけたらと思います。ただ、元々の間隔を多めにとってある場合、多量のデータを一気にジオコーディングしないで、間を置きながら何回かに分けてジオコーディングする、という方法を取らざるをえないかもしれません。

更新が頻繁で恐縮です。
でもいよいよ年末年始の時期で、しばらくはバグがまたみつかっても...放置になってしまうかもしれません!あらかじめ申し訳ありませんと謝っておくことに致します。sweat02

AGtoKMLダウンロードページ

| | コメント (0) | トラックバック (0)

2013.12.21

AG2KML V.0.0.7.1 バグ修正版

バグ修正版のV.0.0.7.1をリリースしました。

いつものことながら、気をつけたつもりがアップロードするとバグが見つかるという、Bugsなどというハンドルネーム付けなきゃよかったかもです。

今回はGoogle Earth出力でaddress欄が出力されないというミスを修正しました。
また、0.0.7.0でチェックボタンの背景色が条件によって変わりますが、古いバージョンで保存したamlファイルを読み込むと誤動作して全部ライトグリーンに変わってしまう場合があるのを修正しました。

新しいバーションをご使用になって、変なところがあったら、AG2KMLへのフィードバックでお知らせいただければ幸いです。

AGtoKMLダウンロードページ

| | コメント (3) | トラックバック (0)

2013.12.18

AG2KML V.0.0.7.0

AGtoKML V.0.0.7.0のリリースのお知らせです。

主な更新内容

  • Yahoo!ジオコーダの利用(住所から緯度経度を取得する場合)
    1. Google MapsのAPIを利用しつつ、同時にYahoo!のジオコーダAPIも利用して検索する。
    2. メインの検索をYahoo!に切り替える。
  • 個別にデータを保護。
    表のチェックボックスをチェックするとそのデータは変更できなくなります。ただし、上部メニューからデータの全削除を行った場合には、保護データも削除されます。
  • MAPの「new marker」のボタンをクリックすることで、MAPの中心に、新規マーカーが作成されるようになりました。表データをMapに表示中うっかりMapをクリックして新規データに置き換わってしまうのを防ぎます。

GoogleMaps APIで久しぶりに色々データを調べてみたら、「not found」がほとんど出ないのに驚いたのですが、以前駄目だったビル名入りなどもしっかりジオコードしてくれています。その反面、よく見てみると、予想外のところにマーカーができているものもちらほら。
以前は住所全体がきちんとヒットしなければ駄目だったのが、現在では、とりあえず住所の途中まででもヒットすれば検索結果として返されるようになったためだと思います。
例えば町村統合などで住所が変わってしまったところでも、「not found」にならず、「市」までの検索結果で、市役所にヒットしているものが多くありました。
一見きちんとしているようなので気がつきにくく、なんとか判別しやすくできないかと考えて今回のYahoo!ジオコーダとのコラボを考えました。
Yahoo!ジオコーダは、ビル名が入っていたり、一文字でも間違っていると「not found」を返してきます。「東京都庁」「東京タワー」などのランドマーク的な言葉ではなかなかヒットしません。
同時検索することで、その差を利用して、Google Maps APIではヒットしたかに見えても、Yahoo!ジオコーダで結果の返らない場所は一応点検すると間違いに気づくかもしれません。ただし、先に書いたように、ビル名ありとか、ランドマーク名だったりする場合も多いと思います。
また、両方共検索結果が帰ってきていても、結果が違うこともたまにあります。たいてい住所が正確でない場合ですが、Mapに両方のマーカーが表示されますので、同じ位置にできているかどうか確認できます。

また、検索結果の場所をそれぞれのジオコーダがどういう住所で返してきているかは、Googleの場合、Map上部のMarkerResponse欄、Yahoo!の場合、「Yahoo!GeoCoder」の「Yad」欄で確認できます。ここが元の検索住所と一致していない場合も要注意です。

Yahoo!ジオコーダもGoogle的な進化をしてしまうと役に立たなくなってしまう機能ですね・・・

ヘルプサイトが間に合っていないので(汗)とりあえず以下に説明。

/////////////////////////////

V.0.0.7.0画面

Ag1_2

A:
以前のバージョンではここに表中のデータの緯度経度が表示されていましたが、0.0.7.0では、Yahoo!ジオコーダAPIでの検索結果が表示されます。
「Clear」ボタン:Yahoo!ジオコーダの結果のみ消去します。
「○」ボタン:Yahoo!ジオコーダで検索済みのデータを、並び替えて表の先頭にまとめます。並び替えている時はボタンの表示は「▲」になります。

B:
Yahoo!ジオコーダを利用するかどうかチェックを入れます。
「LatLon取得にYahoo!Geocoderを使用する。」にチェックを入れた場合、メインの検索にLatLon取得にYahoo!ジオコーダが使われ、Aの領域は空になります。

「LatLon取得にYahoo!Geocoderを同時使用する。」にチェックを入れた場合、表部分に表示されるメインの検索はGoogle Maps API を使用し、同時にYahoo!ジオコーダが使用され、A部分にその結果が返されます。「Yad」は、特定した緯度経度の場所のYahoo!ジオコーダが返してくる住所です。

C:
データを保護するチェックボックスです。ここにチェックが入っているデータは、書き換えや削除ができなくなります。ただし、上部メニューの赤丸削除ボタンで「全データを削除」した時には、保護データも削除されます。
微妙にマーカーの位置を訂正したものとか、マーカー位置決定後、アドレス欄を削除したデータ等、ここをチェックしておけば、再検索されて元に戻ってしまうのを防げます。

Yahoo!ジオコーダで同時にLatLonを取得しているデータの場合に、チェックボックスの背景がグリーンになります。
一番下のイエローのデータは、Google Maps APIでは場所が見つかりましたが、Yahoo!ジオコーダでは「not found」になっているデータです。

表のデータを表示するマーカーの種類:

Google Maps APIのみで検索されたデータ

G1

Yahoo!ジオコーダをメインで検索したデータ

Y1_2

Google Maps APIとYahoo!ジオコーダの両方で検索されたデータ

Gy1_2

Mapの変更:

  • 「MarkerResponse」の住所表示は、住所を検索した結果、どういう住所にフィットして結果を返したかを表示しています。
    検索の元住所とこの欄を見比べることで、きちんと検索されているかどうか確認できます。

  • 「New Marker」ボタンをクリックで、表示中のMapの中心に新しいマーカーが作成されます。
  • 右上の「Yahoo!」のロゴは、Yahoo!ジオコーダを使用して検索中、あるいはYahoo!ジオコーダを使用してデータを表示中に、ここに表示されます。

上部メニューの赤い矢印部分:

Ag2_4

すでにLatLonが記入されているデータで、Yahoo!ジオコーダで同時検索をしたい場合、メイン画面ではデータを選択して「選択行のLatLon取得」を行うしかありませんが、これではすでに記入されているLatLonも再検索されてしまいます。
上記画像から検索を行うと、すでにメインとして記入されているLatLonを書き換えることはせずに、同時検索としてのYahoo!ジオコーダによる検索を行います。

AGtoKML V.0.0.7.0のダウンロードサイト

| | コメント (7) | トラックバック (0)

2013.12.01

AG2KML0.0.6.3 KMLファイルの読み込みに対応

またまたバージョンアップのお知らせです。

バージョン0.0.6.3でKMLファイルの読み込みに対応しました。
KMLには様々な属性がありますが、AG2KMLで扱う項目のみの読み込みになりますので、独自のアイコンとか、SNIPPETなどは無くなります。凝った編集をしたあとのKMLには向いていません。
また、<ExtendedData>でバルーンの表示を作っているものやその他特殊なKMLは緯度経度くらいしか読み込めません。

KMLの読み込みをすると緯度経度はわかっているけれど住所がわからない、というデータが増えると思うので、緯度経度からの住所自動検索に対応しました。
ボタンが増えてごちゃごちゃしましたがよく見て間違えて押さないようにご注意。

ちょっと表記が変わってわかりにくいかもしれませんが、住所が記入してあって、緯度経度を調べる場合は 右側の3つのボタン「LatLon取得」を使います。
緯度経度がわかっていて住所を調べたいときは、左側の3つのボタン「住所を取得」を使います。

131201

その他細かい修正を行いました。

AGtoKMのページ

| | コメント (0) | トラックバック (0)

2013.11.29

AG2KMLの更新0.0.5.2及び0.0.6.2

AGtoKMLの更新です。
いろいろバグが潜んでしまって、頻繁で申し訳ありません。

今回の更新は

  • lat欄をソートした状態でMAP検索、取得を行った時の不具合修正。    
  • キャンセルボタンが働かなくなっていたのを修正。    
  • 上部メニュー内の「junk行のチェック」を外した。(常にjunkチェックを行うようになったため)    
  • その他、細かい調整。

です。

特にlat欄をソートした状態での不具合は、lat欄のデータを取得できた時点で自動並び替えが働いてしまい、lonの値が、他のデータに入り込んでしまうという大変な不具合(すみません)ですので緊急にバージョンアップをおねがいします。表にlat,lonを表示するようにした結果、できてしまったバグで気づくのが遅れました。

今回はソートした状態で、データを編集しても自動並び替えされない様になりました。データを修正した後、列のヘッダをクリックして再度並び替えを行ってください。

願わくば重大なバグがなければ、.NET Framework 3.5で動くバージョンは0.0.5.2で最終となる予定です。(0.0.5.1が最終の予定だったのですが・・・)
今後は.NET Framework 4で動作する0.0.6.*のバージョンのみとなります。

これまでもそうでしたが、今回のソート関連のコード作成や前回の文字化けなど、特に「DOBON.NET プログラミング道」の解説や掲示板が非常に参考になり、助けられました。感謝です。

AGtoKMのページ

| | コメント (0) | トラックバック (0)

2013.11.25

マップ(coder)とAG2KMLの更新0.0.5.1及び0.0.6

AG2KMLの更新です。
先日のMAP差し替えを慌てて行ったため、いろいろ気になるところが出てきてしまいました。
更新の内容の関連でMAPの変更もありますので、頻繁で申し訳ありませんが、新しいバージョンと早急に差し替えていただけますようお願いいたします。
現在の0.0.5は、MAPが今月いっぱいで表示されなくなります。

今回、0.0.5.1と0.0.6の2つのバージョンを同時にリリースしています。0.0.6はx86版とx64版の2種類なので、3種類ありますので、お使いのOSに適合したものをダウンロードして下さい。
0.0.5.1と0.0.6は機能は全く同一ですが、.NET Frameworkのバージョンが違っています。
0.0.5.1はこれまでと同じ.NET Framework3.5ですが、0.0.6は.NET Framework4を必要とします。これは開発環境をVS2013に移行していくということと、x64のバージョンを作成するためにこのようになりました。

.NET Framework3.5で動作するバージョンは、今回のV.0.0.5.1が最後になります。これからのバージョンは、NET Framework4で動作するx86、x64の2種類、となります。

更新内容

  • 文字化けの対策。  
  • リクエストを連続して送る場合のウエイトを1秒にした。    
  • HTMLエディタを使わない場合には、単体で動作し、HTMLボタンを無効にできるようにした。 (その際はHTML関連フォルダである「ckeditorフォルダ」も必要ありません。)  
  • 表の右クリックメニューで、個別にAddress欄とLat欄Lon欄を消去できるようにした。 
  • Lt,Lon欄に不正なデータが("not found"以外の文字列等)入っていた時に行をグレイに表示するようにした。  
  • 表を直接編集した場合にも、行の色別判定をするようにしたので、新しく行を追加すると、dataが空のため、オレンジ色になりますが、仕様とします。  
  • 出力のKMLにxmlns="http://www.opengis.net/kml/2.2"を付加するようにした。   
  • HTMLエディタをフォームを開いたまま、保存(descriptionへの反映)して編集を続けられるようにした。 
     
  • その他  
         
  • MAPの住所取得の精度を高めた。(MAP側での更新)

補足:
リクエストのウエイトが長すぎると思われるかもしれませんが、あまり短い間隔でリクエストを送ることによって、かえって「ZERO_RESULTS」 「OVER_QUERY_LIMIT」のエラーで、ジオコーディングができなくなるようです。無料で使わせていただくAPIでもあり、ちょっと行儀よく仕様変更しました。パフォーマンス的には改悪ですが、ジオコーディング失敗を減らせればかえって効率的かとも思います。

文字化けの対策をしたつもりですが、それでも入力時の文字化けや出力時の文字化けがある場合には、入出力のファイルの文字コード、改行コードをお知らせください。
(文字コードを調べるには FileCode Checker:ファイルの文字コード/改行コードを一括して判定・変換 などいくつかツールがあるようです。

KML作成の変更でGoogle Mapへも読み込ませやすくなったような気がします。ただし、マイマップも新しくなってしまいましたが、旧マイマップ方式がまだ使えるので、そちらから試してみてください。

AGtoKMのページ

| | コメント (0) | トラックバック (0)

2013.11.19

マップ(coder)とAG2KMLの更新

なんと2年半ぶりの投稿です。お久しぶりです。

そしてなんとAG2KMLのバージョンアップです。
実は本日、あるいは明日、右サイドの「住所でMAP検索」のMAP(coder)で使ってきたGoogle Maps API V2が完全にGoogle Maps API V3に切り替わり使用できなくなってしまうとのことです。
またこのマップはAG2KMLでの検索にも使われているので、AG2KMLごと機能しなくなってしまうというわけで、本当にギリギリではありますが、駆け込みで更新いたしました。

今回はMAP更新のほか、アプリの見た目が少し大きくなりました。常にMAPを表示して作業するようになりました。MAPをオフにすることはできません。
残念ながらジオどすは利用しなくなりました。
HTMLエディタはおまけ的な機能ですが、これまでのものがあまりにも古くなってきたので、新しくする機会に「CKEditor」に変更してみました。
プレイスマークアイコンの自由度は低いですが、今回、イエローピンの他、Google Map風の赤いしずく形も設定できるようになりました。(プレイスマーク個別ではなく出力毎)ちょっとわかりにくいですが、ユーザー設定のフォームで変更できます。

細かい使いかたのヒントなど、また、このブログやAG2KMLのサイトに書き込んでいきたいと思います。

最新版をダウンロードできるページ。(ページ上部右側の「最新版ダウンロード」をクリック)

| | コメント (0) | トラックバック (0)

2011.04.16

AG2KMLの商用利用について:重要なお知らせ

AG2KMLを活用してくださっている皆様、ありがとうございます。

AG2KMLをご利用いただくうえで重要なお知らせです。

AG2KMLはフリーのツールとして公開しておりますが、利用していただける範囲を個人としての利用に限らせていただきます。

たくさんの方に利用していただけるのは、作者としては大変うれしいのですが、このツールは動作する中で、Google Maps API『ジオどす』京都通り名ジオコーダ APITiny MCEを利用させていただいています。
AG2KMLはもともと私自身のために作ったツールですので、どのAPIも個人使用のキーしか取得してありません。そのため、商用で利用されますと、ジオどす、HTMLエディタの使用許諾に違反することになります。Google Map APIについては、いろいろ調べてはみたのですが、AG2KMLが無償で公開していればライセンス的にクリアできるのか、あるいはその先の利用者が商用利用してはいけないのかはっきりしたことがわかりません。いずれにしても公開しているAG2KMLをそのままの形で商用利用されることは不可能ということになります。

ジオどす様のほうからも、AG2KMLを通して商用利用されているというコメントをいただきました。ジオどす様、ご迷惑をおかけして申し訳ありません。
正直それほどの利用をされているとは思いもしなかったので、ユーザーの皆様の利用形態についてはっきりと制限、あるいは仕様として利用できないようにする、ということがこれまでできなかったのをお詫びいたします。

それを受けまして、一時的にジオどすの利用が今、できないようになっています。AG2KMLのジオどすのチェックを入れても、Google Map のAPIを利用したジオコーディングが行われます。

しかし、せっかく大変有用なジオどすのジオコーダーが利用できないのはとても残念ですので、いずれプログラムのほうを変更して、各ユーザー様にジオどすのAPIキーを取得していただき、それを入力することで、改めてジオどすを通したジオコーディングができるようにしたいと思っています。ジオどすのAPIキーは、個人使用であれば無料で取得することができます。
私事ですが、現在自宅を離れており、しばらくブログ以外のサイト更新、プログラムの変更などできない状況です。できるだけ早く対応したいと思いますが、しばらくお待ちください。

突然ですが、どうぞよろしくお願いいたします。

| | コメント (0) | トラックバック (0)