많은 KML 지점에는 <altitude>
요소가 포함되어 있으며, 이 요소는 특정 지점에 대한 지면, 해수면 또는 해저면으로부터의 거리를 지정합니다. 또한 <AbstractView>
요소에도 고도가 포함되어 있습니다.
모든 고도 값은 고도 값을 읽는 방식을 Google 어스에 지시하는 <altitudeMode>
요소와 함께 제공되어야 합니다. 다음 기준에 따라 고도를 측정할 수 있습니다.
- 지구의 지면(
relativeToGround
) - 해수면(
absolute
) - 해저면(
relativeToSeaFloor
)
또한 고도가 무시될 수도 있습니다(clampToGround
및 clampToSeaFloor
).
해저면 고도 모드 및 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)
- 지면에 고정(clampToGround)
- 해저면에 고정(clampToSeaFloor)
- 지면 기준(relativeToGround)
- 해저면 기준(relativeToSeaFloor)
절대값(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>