2010 年 12 月
目標
このチュートリアルでは、Google Earth 6.0 で導入された新しい KML 要素と、それらを使用して LineStyle の複雑な地図作成を行う方法について説明します。学習する要素は、<gx:physicalWidth>、<gx:outerColor>、<gx:outerWidth>、<gx:drawOrder> です。
はじめに
Google Earth 6.0 のリリース以前は、LineString の複雑な地図作成スタイルを定義する機能が制限されていました。たとえば、道路のスタイルを作成する場合、LineString の中心と端で色を変えるには、幅の異なる 2 つの LineString を別々に描画する必要があります。それでも、描画順序を保証することはできません。
次の例では、道路を作成する手順を説明します。まず、道路はシンプルなスタイルになります。次に、歩道を追加します。最後に、高速道路の高架橋を追加します。
基本的な道路
最初の要素は <gx:physicalWidth> です。これにより、LineString の幅をピクセルではなくメートル単位で設定できます。道路の例では、エンドユーザーがどの高度から道路を見ても、道路の幅を基盤となる画像と一致させることができます。高度が上がると、道路のピクセル数が減少し、ズームインしたときにのみ LineString が表示される効果が生まれます。この方法は、遠くから見たときに小さな道路を強調したくない場合や、地図作成が常に衛星画像と一致するようにしたい場合に便利です。
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>Road Styling</name> <Style id="street"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>12</gx:physicalWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> </Document> </kml>
Google Earth でカメラの高度を変更すると、常に基盤となる画像の幅とほぼ一致していることがわかります。
歩道を追加する
道路の端に薄い緑色を追加して歩道を表し、<gx:outerColor> 要素と <gx:outerWidth> 要素を追加します。道路の総ピクセルの 25% をライトグレーに設定します。
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>Road Styling</name> <Style id="street_sidewalk"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>12</gx:physicalWidth> <gx:outerColor>ff55ff55</gx:outerColor> <gx:outerWidth>0.25</gx:outerWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street_sidewalk</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> </Document> </kml>
道路の幅が 12 メートルに設定されているため、outerWidth の値が .25 の場合、その幅の 3 メートルが明るい緑色に設定されます(道路の両側に約 1.5 メートル)。
高速道路の陸橋
基本的な道路ができたので、次は高速道路の高架橋に取り組みましょう。このボックスは薄いオレンジ色で、中央値の線は濃いオレンジ色になります。ここで重要なのは、<LineSring> に <gx:drawOrder> を 1(デフォルトは 0)として含めることです。これにより、高速道路が道路の上にレンダリングされます。より複雑な高速道路のインターチェンジ(または 2 つ以上の LineString が重なり合う地図)を作成する場合は、上に表示したい方の <gx:drawOrder> に大きい値を指定するだけです。
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>Road Styling</name> <Style id="street_sidewalk"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>10</gx:physicalWidth> <gx:outerColor>ff55ff55</gx:outerColor> <gx:outerWidth>0.25</gx:outerWidth> </LineStyle> </Style> <Style id="highway"> <LineStyle> <color>cc1447ff</color> <gx:physicalWidth>20</gx:physicalWidth> <gx:outerColor>cc1473ff</gx:outerColor> <gx:outerWidth>0.75</gx:outerWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street_sidewalk</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> <Placemark> <styleUrl>#highway</styleUrl> <LineString> <gx:drawOrder>1</gx:drawOrder> <coordinates> -122.2442692500139,37.43634904345254,0 -122.2415928723012,37.43416417520744,0 </coordinates> </LineString> </Placemark> </Document> </kml>
次のステップ
1 つの LineString を複数の色で記述できる機能と、レンダリング順序を制御できる機能が組み合わさることで、これまで不可能だった複雑な線地図を作成できます。高速道路の高架橋を建設する場合でも、抽象芸術プロジェクトを制作する場合でも、これらのスタイリング ルールを楽しみましょう。