Molte funzionalità KML possono contenere un elemento o una coordinata <altitude>
, che specifica una distanza dal livello del mare, dal livello del mare o dal fondale marino di una determinata funzione. Gli elementi <AbstractView>
possono contenere anche l'altitudine.
Qualsiasi valore di altitudine deve essere accompagnato da un elemento <altitudeMode>
, che indica a Google Earth come leggere il valore di altitudine. Gli altitudini possono essere misurati:
- dalla superficie della terra (
relativeToGround
), - sul livello del mare (
absolute
) oppure - dal fondo dei maggiori specchi d'acqua (
relativeToSeaFloor
).
Può anche essere ignorato (clampToGround
e clampToSeaFloor
)
Modalità altitudine di Mare e spazio dei nomi delle estensioni KML
Le modalità di altitudine relative al fondale marino sono incluse in una serie di estensioni per lo standard KML, utilizzando il prefisso gx. Per utilizzarli, devi prima aggiungere l'URI dello spazio dei nomi corretto all'elemento <kml>
di apertura nel file KML:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
Quindi sostituisci <gx:altitudeMode>
con <altitudeMode>
quando utilizzi clampToSeaFloor o relativeToSeaFloor.
Tieni presente che lo spazio dei nomi delle estensioni con prefisso gx potrebbe non essere supportato da tutti i browser geografici. È supportato da Google Earth 5.0.
Riferimento per la modalità altitudine
assoluto
La modalità altitudine assoluta misura l'altitudine rispetto al livello del mare, indipendentemente dall'effettiva altitudine del terreno sottostante. In questo modo gli elementi possono essere posizionati sotterranei e non saranno visibili. Parti di una caratteristica possono estendersi sotterranee, come nell'esempio seguente. Sono ammessi valori negativi per posizionare gli elementi sotto il livello del mare.
Questa modalità altitudine è utile nelle situazioni in cui il valore dell'altitudine è noto con precisione. Le rotte GPS, ad esempio, possono utilizzare la modalità altitudine assoluta per visualizzare i percorsi creati durante un volo o un'immersione.
Esempio
<?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
Questa modalità ignora qualsiasi valore di altitudine e posiziona la funzionalità KML sulla superficie del terreno, seguendo il rilievo. In questo modo, le sovrapposizioni del terreno, ad esempio, possono essere "drappeggiate" sulla superficie del pianeta. Se l'elemento è posizionato sopra uno specchio d'acqua principale, clampToGround lo posizionerà al livello del mare.
Per impostazione predefinita, qualsiasi funzionalità KML senza modalità di altitudine specificata è impostata su clampToGround.
Esempio
<?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
Contenuti all'interno dello spazio dei nomi delle estensioni. Per informazioni importanti, vedi Modalità altitudine di Mare e spazio dei nomi delle estensioni KML.
Come nel caso di clampToGround, questa modalità ignora il valore dell'altitudine. Posiziona l'elemento sul fondo di qualsiasi specchio d'acqua principale. Se l'elemento è lontano da uno specchio d'acqua, verrà bloccato a livello del suolo.
Esempio
<?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
Misura l'altitudine dal livello del suolo direttamente sotto le coordinate.
Questa modalità di altitudine, ad esempio, può essere utilizzata per posizionare le parti superiori dei poli della linea elettrica quando salgono e raggiungono una collina. Se ogni palo è alto 20 m, la posizione della sommità di ogni palo si sposterà in alto e in basso con l'altitudine della Terra.
Esempio
<?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
Contenuti all'interno dello spazio dei nomi delle estensioni. Per informazioni importanti, vedi Modalità altitudine di Mare e spazio dei nomi delle estensioni KML.
Misura l'altitudine dal fondale marino direttamente al di sotto dell'elemento, se quest'ultimo è posizionato su uno specchio d'acqua importante. Se non si trova sull'acqua, l'altitudine verrà misurata a livello del suolo.
Esempio
<?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>