第4章 Google Earth Pro KML に挑戦 |
4.1 KML とは
地図上に、ツールを使って設定した「目印」や「パス」(Path、2地点間を結んだ直線)などは、自動的にプログラムファイルが生成されてGoogle Earth Pro に保存されます。
このプログラムファイルは、「KML」(Keyhole Markup Language) と呼ばれ、ホームページなどを記述している「HTML」(Hyper Text Markup Language)と同様、タグ言語の一種です。なお、「Keyhole」 は、第1章で述べたように、2005年、Google によって買収された会社名です。
4.2 地図上に描いミサイルの Downrange の KMLファイルを得る (「はじめに」の図02 参照)
(1) 操作手順(概要)
① 「場所パネル」に作業用の「フォルダー」を作る→② 発射地点(2か所)と着弾海域に「目印」を立てる→③ 発射地点から着弾海域に向かって2本の「パス」を引く→④ 「フォルダー」を「C:」ドライブの「ドキュメント」に保存する(圧縮された 「kmz」として保存される)→ ⑤ 解凍して 「kml」 にする→「メモ帳」のようなテキストファイル可読なアプリで読む。
(2) 「場所パネル」に作業用のフォルダーを作る
図4.1 フォルダーを作る |
上図に示すように「お気に入り」をくクリックして、メインメニューの「追加」/「フォルダー」をクリックすると「名前」を入力する画面が表示されるので「中国 南シナ海に弾道弾」と入力する。(「お気に入り」を右クリックしても同様のことができる)
(3) 発射地点_青海省、発射地点_浙江省及び着弾海域の3か所に「押しピン」立てる
操作法は、前章の 3.3 ツールバー (1)目印追加 を参照
(4) 発射地点から着弾海域に向かってパスを引く
ツールバー「パス追加」をクリックして、表示されたカーソルの中心を始点に合わせてクリック、カーソルを終点に合わせてShift キーを押した状態でクリックすると、始点と終点間に直線が引かれます。確認して「OK」ボタンをクリックする。
(5)「場所パネル」のフォルダー「中国 南シナ海に弾道弾」に生成されたファイルをパソコンの「C:」ドライブに保存する
・フォルダー上で右クリック→表示された「名前を付けて場所を保存」をクリック→ファイル名「中国 南シナ海に弾道弾」の保存用の画面が表示されるので自分用の保存先を探して保存する。
・保存されたファイル名は、「中国 南シナ海に弾道弾.kmz」と圧縮ファイル拡張子がついている。この状態では読めない。
(6)圧縮ファイルを解凍する
・拡張子が「zip」の圧縮ファイルは、Windows10 で容易に解凍できるので、「中国 南シナ海に弾道弾.kmz」を右クリックして「名前の変更」をクリック選択して、拡張子「zip」の部分を→「kmz」に変更する。
・変更された「中国 南シナ海に弾道弾.zip」ファイルをダブルクリックすると「zip」がとれた
中国 南シナ海に弾道弾. フォルダーの中に解凍された
doc.kml ファイルが生じる。
・doc.kml は、フォルダーと一緒にして 「中国 南シナ海に弾道弾.kml 」と表示できる。
4.3 「中国 南シナ海に弾道弾.kml 」ファイルを読む
kml ファイルを読むには、「Windowsアクセサリ」にある「メモ帳」のようにテキストファイルを読めるアプリが必要です。
以下、読み取った内容をファイルの最初の宣言部、弾道ミサイル発射位置及び発射から着弾に至るパスの部分に分けて示す。
(1)ファイの宣言部
図4.2 ファイルの最初 宣言部 |
① <?xml version="1.0" encoding="UTF-8"?>
・「kml」の上位規定である「xml」(Extensible Markup Lanuage)と文字コード変換方式(UTF-8)を宣言
② <kml xmlns="http://www.opengis.net/kml/2.2" ・・・・・・・・・."http://www.w3.org/2005/Atom">
・「kml」の宣言と準拠規定への参照
③ <Document>タグ
・<Document>タグ以降、このプログラム内容が記述され、・・・・・・・・・</Document>で、終わります。
④ <name>中国_南シナ海に弾道弾.kmz</name>
・この「kml」ファイルの名称を名前タグ<name>で挟んで示しています。
次に続く、<Folder> 内のプログラムを発射地点及び発射地点→着弾海域に至るパスの部分に分けて示します。
(2)<Folder>内-1:発射地点(青海省)
図4.3 発射地点(青海省)のプログラム |
① 行番号:99-103
・100: Folder に名前つけ、101:<open>1</open> 入力画面を開き(1:開く、0:閉じる)
・102-103: <description>・・・・・</description>:説明文追加
② 行番号:104 <Placemark> (場所の記録)
・<Placemark> ・・・</Placemark> (行番号122)の間に点、線、面などの幾何学データを置くことができる。
③ 行番号:108 <Lookat>・・・116</Lookat>
・ <Lookat> は指定した発射地点を撮影したカメラの注視点と見なしてデータを記録します。
・109行<longitude>:経度、110行<latitude>:緯度、111行<altitude>;標高、112行<heading>:方位(北向きが0度)、113行<tilt>:傾斜(カメラ視線の傾き、垂直が0度、水平が90度)、114行<range>:距離(カメラ位置から注視点までの距離(m))
・115行<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>:海底を基準にした標高の設定を可能にする。「gx:」は、このタグが Google 拡張要素(google extention)であることを示している。
④ 行番号:117 <styleUrl>#m_ylw-pushpin</styleUrl>
・<styleUrl> Url(Uniform resource locator)に格納されている id=m_ylw-pushpin の押しピンを呼び出す。
⑤ 行番号:118:<Point>・・・121:</Point>:目印を打つ
・行番号:119:<gx:drawOrder>1</gx:drawOrder>: 描画優先順1
・行番号:120:<coordinates>・・・</coordinates>:描画座標位置
この後に、発射地点「浙江省」及び着弾海域の <Placemark> ・・・</Placemark> が続くが、同一プログラム構造なので省略します。
(3)<Folder>内-2:発射地点(浙江省)-着弾海域、発射地点(青海省)-着弾海域、kml の終了
図4.4 発射地点から着弾海域に至るパス(Path) |
上図には、二か所に <Placemark> がありますが、同一プログラム構造です。以下、既出のタグについては説明を省略します。
① 行番号:159 <Placemark>・・・168 </Placemark>
・行番号:162 <lineString>・・・167 </lineString> パス(path)を指定する
・行番号:163 <tessellate>1</tessellate>: 「tessellate」は互いにぴったりつく意味ですが、値が「0」の場合、地上の高低を無視し、「1」の場合、高低に沿って配置されます。
(注)2地点間の距離は、地図上に表示されたパスまたは、場所パネル上のパスを右クリックし、表示されるポップアップ画面で「プロパティ」クリック→パス入力画面→「測定」タブ クリック→「測定値」(▼をクリックして「単位」選択)
このプログラムでの距離は:浙江省-着弾海域 1,523 km 浙江省-着弾海域 2,301 km です。
② 行番号:180:</Folder>、 181:</Document>、 182: </kml>
・タグ言語はネスト構造取っているので、これら三つのタグは、行番号99:<Folder>、 宣言部の<Document> 、<kml> に対応してプログラム構造を完成させている。