KMLファイル記述

自分の目的に合った表示にするには。

(1)を書くと、は反映されなくなる。ということで、自分で細かく描画スタイルを決める必要がある。
(2)スタイルの定義には、を使う。この中でを定義していなければ、元と同じようにとルート検索が表示されるようになっている。が、目的はdescriptionらの勝手な描画を除去することにあるので、をとにかく定義する。内では、HTMLタグも使えるので、やりたいことはここですべて設定できる。
最もシンプルな定義。


$[description]

タグは、大文字小文字の区別があるので注意すること!
一箇所、<Style id>を<Style ID>と書いていたせいで、数時間はまりました。KML用のテキストエディタって何が良いのでしょうね。

本質的問題ではないけれど、KMLファイルの記述ルール

本質的ではないと書いたけれども、ブラウザから編集するのではなく、自作でKMLを作成しようとする場合には、想定以上に嵌る箇所が多々あります。結構、ちょっとしたルールの説明がなかったりするので、試行錯誤の連続。とりあえずメモを残します。

・ catを使って文字列をコマンドライン出力させる際、変数値などを組み合わせ、ファイル名や他アプリで使うコマンドを生成しようとすると、変数値の前に「不要なスペース」が入ってしまう。これを回避するには、catの中でpasteを使うこと。

・ Pointタグのcoordinatesタグで指定する緯度経度高度の間にスペースがあるとダメ。最初の経度しか読んでくれず、アイコンが赤道に張り付いた摩訶不思議な描画になる。

・ 時間の指定では、TimeSpanとTimeStampを同一のPlacemarkに入れると、思ったような動作はしてくれない。複数のTimeSpanを同一のPlacemarkに入れるのも同様によろしくない。うまく表示できる場合とできない場合が混在しており、何が効いているのかわからない、危険。

・ 例えば年を跨いで4月だけを表示させたいような場合、TimeSpanやTimeStampを使おうと思うのが人情だが、そういう繰り返し設定は今のところできないようだ。同様の疑問をpostした記事があったが、その回答は、複数のelementを作ってそこにそれぞれのTimeStampを入れなさい、ということでした。う〜ん、ちょっとした設定が面倒ですなぁ。

・ 時間を指定するとき、この1992-07記述方法では、1992年7月1日だけしか描画されない。一月の間全部描画させようと思うならTimeSpanで設定するしかなさそうだ。ううむ、理解し辛い作りだなぁ。

参考になった先人の記述

ここで述べられているKMLメモが、実践的で参考になる。いくつかの疑問が解消された。
http://www.kabosu100.net/archives/2008/03/google_earth_kml.html