Google Earthで空間に線を引くKMLの基本コードです。

これをベースに、Flight Pathを描く場合は、このページを参照




単純に線のみを引く場合、こういうシチュエーションを想定してみました。

大阪の上空370Kmに国際宇宙ステーション(ISS)があるとしてみます。

ISSの大きさはこんな感じです。大阪市庁舎の隣に置いてみます。

蚊トンボみたいなのがISSです。

案外大きいもので、アメリカンフットボールのフィールドより少し大きいくらいのサイズだそうです。



では、370Km上空の場合、どうでしょう。これはそのさらに2Km上から見たISSです。



370Km上空のISSをEarthで地平近くから見ることはできません(たぶん描画自体できないと思います)。

で、どのあたりにあるのか示すような場合に線を引いてみます。

真下から線を引くと、だいぶ離れていても確認できます。

370KmにあるISSを、19Km上からみたものです。赤い線の先端にポツンとあるなにやら黄色い点がISSです。

注意する点は、視点の高度は必ずISSの高度より上であること...です。



大阪上空370KmにあるISSを札幌から指示してみます。こんな感じ。



370Km上空にあるものは札幌からでも視界内にはあります。ただ見えません。

線を引くことで確認はできます。

なんか、ラピュタに出てくる飛行石みたいです。




ISSのモデルです(SketchUp6データ)

こんな感じ。



Earthで真上からISSを見下ろす場合のkmz

kmlはこんな感じ。

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Folder><name>model</name>
<description>Created with &lt;a href=&quot;http://sketchup.com&quot;&gt;SketchUp&lt;/a&gt;</description>
<visibility>1</visibility><LookAt><heading>0</heading><tilt>0</tilt><latitude>34.6939</latitude><longitude>135.50199999999995</longitude><range>371000</range><altitude>0</altitude><altitudeMode>clampToGround</altitudeMode></LookAt>
<Placemark><name>Model</name><description></description><Style id="default" /><Model><altitudeMode>relativeToGround</altitudeMode><Location><latitude>34.6939</latitude><longitude>135.50199999999995</longitude><altitude>370000</altitude></Location><Orientation><heading>-0</heading><tilt>0</tilt><roll>0</roll></Orientation><Scale><x>1</x><y>1</y><z>1</z></Scale><Link><href>models/untitled.dae</href></Link></Model></Placemark>
</Folder></kml>


ISSが見えなかったり消えた場合は、Earthの左メニュのmodelの項目をダブルクリック。

で、札幌から大阪上空のISSに線を引くコード(kml)

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.0"> <Document>
<Placemark> 
 <LineString>
  <coordinates>
     141.3543763,43.0620958,1. 
     135.50199999999995,34.6939,370000.
  </coordinates>
 <altitudeMode>absolute</altitudeMode>
 </LineString>

<Style> 
  <LineStyle>  
   <color>#ff0000ff</color>
   <width>5</width>
  </LineStyle> 
  <BalloonStyle>
  <bgColor>00664422</bgColor> 
 </BalloonStyle>
 </Style>
</Placemark>
</Document> </kml>


ただし、このコードで地球の裏側ブラジルに線は引けません。

これで線を描くと、なんかのSFみたいに線は地球のコアを突っ切って裏側に達します。

こういう場合は、以下を参照。

Google Earthのデータ(KML)を作る