GoogleEarth(グーグルアース)の便利なデータを作成 ~その2 パスやポリゴンの位置情報(緯度経度)を自分で入力~
GoogleEarthのデータ(kml,kmz)に直接位置情報を入力したい!
さて「その1 データの構造を知る」の続いてその2ではkmlに直接位置情報(緯度経度)を入力する方法について解説していきます。
何故、GoogleEarthの数ある機能の中で、まず位置情報の入力方法を解説するかというとGoogleEarth上に目印等のなにかを配置する時には必ず位置情報を設定することになるからなんですね。GoogleEarthを直接テキストで編集したいと考えている人にとってはある意味、基本中の基本となることなんです。まぁ内容的は難しくはないので気楽に読んでいただければと思います。
まずは位置情報が書かれている箇所と内容を確認しよう。
位置情報を自分で直接編集するには、まずは位置情報が記載されているところを確認しなければいけません。下に載せてあるのは「その1」でも示した目印が1つだけ配置されているサンプルデータです。
<Placemark>の箇所が目印の位置情報ということはその1でも解説しました。ではここの内容を見てみると、さらに<name>、<LookAt>、<styleUrl>、<Point>といった項目が記載されています。これらの意味は下記のようになります。
<name>目印の名前です。
<LookAt>目印をクリックした際に見る位置や高度、仰角などを記載してます。
<styleUrl>kmlの前半部分で設定しているアイコン等の書式設定を指定してます。
<Point>ここが目印の配置される位置情報そのものになります。
さて内容を見てみると一番重要なのは何よりも<Point>の>coordinates>の部分です。ここが目印がGoogleEarth上で配置される位置そのもので、ここを編集することで目印を自分の好きな位置に配置することが出来るのです。もし目印の位置を大きく変える際は<LookAt>等もある程度合わせる必要はあります。
さて<Point>の>coordinates>に記載されている値ですが「137.9639117806158,35.99994505148271,0」となっています。これはどのような値かというと「経度、緯度、高さ」です。緯度経度は単位が「度」のため、度分秒の値の場合は変換してやる必要があるので注意が必要です。ちなみに高さの値はよほど高度なデータを作成するとかでなければ、とりあえずは「0」を入れておけば問題ないです。
位置情報の直接入力が活きるのは「パス」や「ポリゴン」!
「パス」や「ポリゴン」の位置情報を見てみると
さあ「目印」で位置情報の記載されている箇所や内容を確認したところで、次は「パス」や「ポリゴン」の方を見てみましょう。下に載せてあるのは六角形のポリゴンが1つ配置されているサンプルデータです。
<Placemark>の内容を見ると構成は<name>、<LookAt>、<styleUrl>、<Polygon>となっていてPointがPolygonに変わっただけで、他は変わっていません。
<Polygon>の内容はPointに比べて、<tessellate<や<outerBoundaryIs<、<LinearRing<といったよくわからないものがありますが、ここはとりあえず無視して、位置情報そのものはPointの時と変わらず>coordinates>の部分です。ただし今回は六角形のポリゴンとだけあってこの>coordinates>の部分も長くなっています。しかし内容は簡単で構成点の緯度、経度、高さが順番に記載されているだけです。
なのでこのサンプルデータで言うと
1点目:「133.0365745334772,39.7185242479163,0」
2点目:「133.5197966742862,33.76912519098352,0」
3点目:「141.4516175935574,34.4171192206888,0」
4点目:「142.0117503665045,39.13438673103185,0」
5点目:「139.8320647605125,42.01291230008094,0」
6点目:「133.0365745334772,39.7185242479163,0」
となっています。緯度経度に関してはやはり単位が「度」となっているので注意してください。
ちなみにパスに関してはポリゴンとほとんど同様のためすみませんが解説は割愛します。
さてこの章のタイトルに「位置情報の直接入力が活きるのは「パス」や「ポリゴン」!」と書きましたが、それは何故かというと、実はGoogleEarth上ではパスやポリゴンは正確な位置の指定は出来ないんです!!目印はGoogleEarth上でも緯度経度の入力が出来るのですが、パスやポリゴンは出来ません。なのでもしパスやポリゴンで正確な位置情報を入力した場合はkmlから入力するしかないんですね。これはかなり重要な情報で実はこのようにパスやポリゴンで正確な位置を入力したい人は多いんじゃないかな?と思ったりしてるんですが、もし周りにそんな人がいたら是非教えてあげてください。
最後に
さて最後にですが、ポリゴンのところで<tessellate>や<outerBoundaryIs>、<LinearRing>といった項目に関して無視して解説を進めてきましたが、それについて付け加えておくと、「そのまま無視するようにしてください・・・」。というと「ふざけんな!!」って突っ込まれそうですね。しかし実際に無視してほしいのです。何故かというとGoogleEarthで便利なデータを作りたいと思ってkmlを編集する際の手順によって効率化できるからです。
自分でkmlデータを編集したいと考える人で、さすがにゼロから作成する人はいません。通常、GoogleEarthでサンプルデータを作って、そのkmlをベースとして編集したりデータを追加したりします。なので自分でkmlを編集したいなと思ったら、まずは自分が作ろうとしてるデータの完成形をイメージしてポリゴン等の色と言った書式を決めてベースとなるサンプルデータを作るようにします。後はそのデータをもとに位置情報を修正すれば<tessellate>や<outerBoundaryIs>、<LinearRing>といった項目は特にわからなくても問題ないのです。
ということで、ここまで解説を読んだ人なら、そろそろ自分でkmlを編集してみようかなと思う人も出てくるかもしれませんね。興味が出てきた人は是非チャレンジしてみてください。