고도 모드

많은 KML 지점에는 <altitude> 요소가 포함되어 있으며, 이 요소는 특정 지점에 대한 지면, 해수면 또는 해저면으로부터의 거리를 지정합니다. 또한 <AbstractView> 요소에도 고도가 포함되어 있습니다.

모든 고도 값은 고도 값을 읽는 방식을 Google 어스에 지시하는 <altitudeMode> 요소와 함께 제공되어야 합니다. 다음 기준에 따라 고도를 측정할 수 있습니다.

  • 지구의 지면(relativeToGround)
  • 해수면(absolute)
  • 해저면(relativeToSeaFloor)

또한 고도가 무시될 수도 있습니다(clampToGroundclampToSeaFloor).

해저면 고도 모드 및 KML 확장 네임스페이스

해저면 관련 고도 모드는 KML 표준에 대한 확장 프로그램 모음 내에 포함되어 있으며, gx 프리픽스를 사용합니다. 이를 사용하려면 먼저 KML 파일에서 시작 <kml> 요소에 올바른 네임스페이스 URI를 추가해야 합니다.

<kml xmlns="http://www.opengis.net/kml/2.2"
     xmlns:gx="http://www.google.com/kml/ext/2.2">

그런 다음 해저면에 고정(clampToSeaFloor) 또는 해저면 기준(relativeToSeaFloor) 사용 시 <altitudeMode><gx:altitudeMode>로 대체합니다.

모든 지오 브라우저에서 gx가 프리픽스로 지정된 확장 네임스페이스가 지원되지 않을 수도 있지만, Google 어스 5.0에서는 지원됩니다.

고도 모드 참조

절대값(absolute)

절대값 모드에서는 지점 아래 지형의 실제 고도와 상관없이 해수면을 기준으로 고도를 측정합니다. 이런 방식 때문에 지점이 지면 아래에 배치될 수 있으며, 이 경우 보이지 않게 됩니다. 아래 예제처럼 지점의 일부가 지면 아래로 확장될 수 있습니다. 음수 값이 허용되므로 지점을 해수면 아래로 배치할 수 있습니다.

이 고도 모드는 정확한 고도 값을 알 수 있는 경우에 유용하게 사용할 수 있습니다. 예를 들어 GPS 추적에서 절대값 고도 모드를 사용하여 비행 또는 다이빙 도중에 생성된 경로를 표시할 수 있습니다.

예제

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
 
<GroundOverlay>
  <name>absolute Example</name>
  <Icon>
    <href>rectangle.jpg</href>
    <viewBoundScale>0.75</viewBoundScale>
  </Icon>
  <altitude>2744.0</altitude>
  <altitudeMode>absolute</altitudeMode>
  <LatLonBox>
    <north>48.783</north>
    <south>48.751</south>
    <east>-121.75</east>
    <west>-121.89</west>
    <rotation>-30</rotation>
  </LatLonBox>
</GroundOverlay>

</kml>

지면에 고정(clampToGround)

이 모드에서는 모든 고도 값이 무시되며, KML 지점이 지형을 따라 지면에 배치됩니다. 이런 방식 때문에서 지면 오버레이(GroundOverlay)가 지면 위에 '배치'될 수 있습니다. 지점을 해수 위에 배치하는 경우 지면에 고정을 사용하면 지점이 해수면을 기준으로 배치됩니다.

고도 모드가 지정되지 않은 KML 지점에는 기본값으로 지면에 고정이 사용됩니다.

예제

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <GroundOverlay> <name>clampToGround example</name> <Icon> <href>rectangle.jpg</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <altitude>2744.0</altitude> <altitudeMode>clampToGround</altitudeMode> <LatLonBox> <north>48.783</north> <south>48.751</south> <east>-121.75</east> <west>-121.89</west> <rotation>-30</rotation> </LatLonBox> </GroundOverlay> </kml>

해저면에 고정(clampToSeaFloor)

이 모드는 확장 네임스페이스 내에 포함되어 있습니다. 중요한 내용은 해저면 고도 모드 및 KML 확장 네임스페이스를 참조하세요.

지면에 고정과 마찬가지로 이 모드에서도 고도 값이 무시되며, 지점이 해저면에 배치됩니다. 해수에서 떨어져 위치한 지점은 대신 지면에 고정됩니다.

예제

<?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">   <!-- required when using gx-prefixed elements -->
 
<Placemark>
  <name>clampToSeaFloor example</name>		
  <Polygon>
    <tessellate>1</tessellate>
    <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
    <outerBoundaryIs>
      <LinearRing>
        <coordinates>
          146.793,12.213,0
          146.803,12.202,0 
          146.829,12.218,0 
          146.807,12.226,0 
          146.793,12.213,0 
        </coordinates>
      </LinearRing>
    </outerBoundaryIs>
  </Polygon>
</Placemark>

</kml>

지면 기준(relativeToGround)

좌표 바로 아래의 지면으로부터의 고도를 측정합니다.

예를 들어 언덕 정상을 향해 올라가는 전신주 꼭대기를 이어서 배치하는 경우에 이 고도 모드를 사용할 수 있습니다. 각 전신주의 높이가 20미터인 경우 전신주 꼭대기의 위치는 지면에서의 고도에 따라 위아래로 움직이게 됩니다.

예제

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>relativeToGround Example</name> <LineString> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <coordinates> -121.835,48.754,700 -121.828,48.764,700 -121.818,48.776,700 -121.794,48.787,700 -121.778,48.781,700 -121.766,48.771,700 -121.768,48.757,700 -121.773,48.747,700 </coordinates> </LineString> </Placemark> </kml>

해저면 기준(relativeToSeaFloor)

이 모드는 확장 네임스페이스 내에 포함되어 있습니다. 중요한 내용은 해저면 고도 모드 및 KML 확장 네임스페이스를 참조하세요.

지점이 해수 위에 배치된 경우 지점 바로 아래에 있는 해저면으로부터 고도를 측정합니다. 물 위가 아닌 경우에는 지면으로부터의 고도를 측정합니다.

예제

<?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">   <!-- required when using gx-prefixed elements -->

<Placemark>
  <name>relativeToSeaFloor Example</name>
  <LineString>
    <extrude>1</extrude>
    <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
    <coordinates>
      146.825,12.233,400
      146.820,12.222,400
      146.812,12.212,400
      146.796,12.209,400
      146.788,12.205,400
    </coordinates>
  </LineString>
</Placemark>

</kml>