Modos de altitud

Muchos elementos KML pueden contener un elemento o coordenada de <altitude>, que especifica una distancia sobre el nivel del suelo, el nivel del mar o el suelo marino para esa función en particular. Los elementos de <AbstractView> también pueden contener altitud.

Cualquier valor de altitud debe ir acompañado de un elemento <altitudeMode>, que le indica a Google Earth cómo leer el valor de altitud. Las altitudes se pueden medir:

  • de la superficie de la Tierra (relativeToGround),
  • sobre el nivel del mar (absolute)
  • de la parte inferior de las masas de agua principales (relativeToSeaFloor).

También se puede ignorar (clampToGround y clampToSeaFloor)

Modos de altitud de SeaFloor y el espacio de nombres de extensión KML

Los modos de altitud relacionados con los fondos marinos se encuentran dentro de un conjunto de extensiones del estándar KML mediante el prefijo gx. Para usarlos, primero debes agregar el URI de espacio de nombres correcto al elemento <kml> de apertura en tu archivo KML:

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

Luego, sustituye <gx:altitudeMode> por <altitudeMode> cuando uses clampToSeaFloor o relativeToSeaFloor.

Ten en cuenta que el espacio de nombres de extensión con el prefijo gx podría no ser compatible con todos los navegadores geográficos. Es compatible con Google Earth 5.0.

Referencia del modo de altitud

absoluto

El modo de altitud absoluta mide la altitud relativa al nivel del mar, independientemente de la elevación real del terreno debajo del elemento. De esta forma, los elementos pueden colocarse bajo tierra y no serán visibles. Algunas partes de un elemento pueden extenderse de forma subyacente, como en el siguiente ejemplo. Se aceptan los valores negativos para colocar los elementos debajo del nivel del mar.

Este modo de altitud es útil en situaciones en las que el valor de altitud se conoce con precisión. Por ejemplo, los seguimientos GPS pueden utilizar el modo de altitud absoluta para mostrar los recorridos creados mientras vuelas o buceas.

Ejemplo

<?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

Este modo ignora cualquier valor de altitud y coloca el elemento KML en la superficie del suelo, siguiendo el relieve. De este modo, las superposiciones de suelo pueden, por ejemplo, “arrastrarse” sobre la superficie de la Tierra. Si el elemento está colocado sobre una gran masa de agua, clampToGround colocará el elemento al nivel del mar.

Cualquier función KML sin el modo de altitud especificado se establecerá de forma predeterminada en clampToGround.

Ejemplo

<?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

Se encuentran dentro del espacio de nombres de la extensión. Consulta Modos de altitud de SeaFloor y el espacio de nombres de extensiones KML para obtener información importante.

Al igual que con clampToGround, este modo ignora el valor de la altitud. Coloca la función en la parte inferior de cualquier masa de agua importante. Si la función está alejada de una masa de agua, la función se fijará al nivel del suelo.

Ejemplo

<?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

Mide la altitud del nivel del suelo directamente debajo de las coordenadas.

Por ejemplo, este modo de altitud se puede utilizar para colocar las partes superiores de los postes de la línea eléctrica cuando suben y suben una colina. Si cada polo mide 20 m, la ubicación de la parte superior de cada polo se moverá hacia arriba y hacia abajo según la elevación de la Tierra.

Ejemplo

<?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

Se encuentran dentro del espacio de nombres de la extensión. Consulta Modos de altitud de SeaFloor y el espacio de nombres de extensiones KML para obtener información importante.

Mide la altitud del fondo marino directamente debajo de la fuente, si es que se coloca sobre una gran cantidad de agua. Si no está sobre el agua, la altitud se medirá desde el nivel del suelo.

Ejemplo

<?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>