Documentos de Académico
Documentos de Profesional
Documentos de Cultura
https://developers.google.com/kml/doc
umentation/kml_tut?hl=es-419
KML es un formato de archivo que se utiliza para mostrar
datos geogrficos en un navegador terrestre, como
Google Earth, Google Maps y Google Maps para
mviles. KML utiliza una estructura basada en etiquetas
con atributos y elementos anidados y est basado en el
estndar XML. Todas las etiquetas distinguen entre
maysculas y minsculas y deben aparecer exactamente
como aparecen en la Referencia de KML. En esta
referencia se indica qu etiquetas son opcionales.
Dentro de un elemento determinado, las etiquetas deben
aparecer en el mismo orden en el que aparecen en la
referencia.
Para ver un anlisis del uso de algunos de los recursos clave de KML, consulta
la Gua para desarrolladores.
ndice
Marcas de posicin
Las marcas de posicin (Placemark) son uno de los recursos ms utilizados en
Google Earth. Permiten marcar una posicin en la superficie de la Tierra con un
icono de chincheta amarilla. La marca de posicin (Placemark) ms sencilla
incluye solo un elemento de punto (<Point>), que especifica la ubicacin de la
marca de posicin. Puedes especificar un nombre y un icono personalizado para
una marca de posicin y, si quieres, le puedes aadir otros elementos
geomtricos.
Lo que los usuarios suelen pensar que es una "marca de posicin" en Google
Earth es en realidad un elemento de marca de posicin (<Placemark>) con un
elemento secundario de punto (<Point>) en KML. Una marca de posicin
(Placemark) con un elemento de punto (Point) es la nica forma de dibujar un
icono y una etiqueta en el visor 3D de Google Earth. De forma predeterminada, el
icono es la famosa chincheta amarilla. En KML, una marca de posicin
(<Placemark>) puede incluir uno o varios elementos geomtricos como, por
ejemplo, una cadena de lneas (LineString), un polgono (Polygon) o un modelo
(Model). Pero nicamente una marca de posicin (<Placemark>) con un punto
(Point) puede tener un icono y una etiqueta. El punto (Point) se usa para colocar el
icono, pero no hay representacin grfica del punto en s.
Observa la diferencia entre las marcas HTML con etiquetas CDATA y sin ellas. En
primer lugar, el elemento de descripcin (<description>) con etiquetas CDATA.
Superposiciones de suelo
Las superposiciones de suelo permiten "colocar" una imagen sobre el relieve de la
Tierra. El elemento de icono (<Icon>) incluye el enlace al archivo .jpg que contiene
la imagen de superposicin. A continuacin se ofrece un ejemplo de superposicin
de suelo que aparece en el archivo de ejemplos de KML, en el que se muestra la
erupcin del volcn Etna en el ao 2001:
<href>http://developers.google.com/kml/documentation/images/etna.jpg</
href>
</Icon>
<LatLonBox>
<north>37.91904192681665</north>
<south>37.46543388598137</south>
<east>15.35832653742206</east>
<west>14.60128369746704</west>
<rotation>-0.1556640799496235</rotation>
</LatLonBox>
</GroundOverlay>
</Folder> </kml>
Fjate en que el archivo empieza con las mismas dos lneas que el primer ejemplo:
el encabezado XML y la declaracin de espacio de nombres KML.
En este ejemplo se utiliza una carpeta (Folder) llamada "Ground Overlays"
(superposiciones de suelo) como mecanismo para agrupar y etiquetar el
contenido. Observa cmo aparece la carpeta en el panel "Lugares" cuando se
carga el archivo de ejemplos de KML en Google Earth.
Rutas
Se pueden crear muchos tipos de rutas en Google Earth y es fcil ser creativo con
los datos. En KML, las rutas se crean con el elemento de cadena de lneas
(<LineString>). Observa el ejemplo con relieve absoluto (Absolute Extruded) que
se incluye en la carpeta de rutas (Paths) para ver cmo se ha generado la forma
con el siguiente cdigo:
Observa que en realidad se trata solo de una lnea dibujada a cierta altitud sobre
el suelo. La etiqueta <tessellate>descompone la lnea en porciones pequeas y la
etiqueta <extrude> extiende la lnea hasta el suelo.
Polgonos
Los polgonos (Polygon) se pueden utilizar para crear edificios simples y otras
formas. Busca ejemplos en la carpeta de polgonos (Polygons) en el archivo
de ejemplos de KML.
Superposiciones de pantalla
Las superposiciones de pantalla no se pueden crear directamente en Google Earth
y, en consecuencia, son ms difciles de crear que las superposiciones de suelo.
Puedes encontrar una amplia gama de ejemplos en la carpeta de superposiciones
de pantalla (Screen Overlays) en el archivo de ejemplos de KML.
<href>http://developers.google.com/kml/documentation/images/top_left.j
pg</href>
</Icon>
<overlayXY x="0" y="1" xunits="fraction" yunits="fraction"/>
<screenXY x="0" y="1" xunits="fraction" yunits="fraction"/>
<rotationXY x="0" y="0" xunits="fraction" yunits="fraction"/>
<size x="0" y="0" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>
</kml>
Consulta los dems ejemplos de la carpeta para ver cmo se pueden obtener
otras posiciones fijas y crear imgenes con un tamao dinmico con respecto al
tamao de la pantalla. Ten en cuenta que las unidades de x (xunits) y las unidades
de y (yunits) tambin se pueden especificar en "pxeles" para conseguir un control
preciso. Para obtener informacin ms detallada, consulta la Referencia de KML
2.2.
Enlaces en la red
Un enlace de red contiene un elemento de enlace (<Link>) con una referencia de
hipertexto (<href>) que carga un archivo. Un enlace de red contiene un elemento
de enlace (<Link>) con una referencia de hipertexto (<href>) que carga un archivo.
A pesar del nombre "enlace de red" (<NetworkLink>), los archivos que se cargan
no han de proceder necesariamente de una red.
Un archivo de imagen usado por los iconos en los estilos de icono, las
superposiciones de suelo y las superposiciones en pantalla.
Un archivo de modelo usado en el elemento de modelo (<Model>).
Un archivo KML o KMZ cargado por un enlace de red.
El archivo especificado puede ser un archivo local o uno que est ubicado en un
servidor remoto. En su forma ms sencilla, los enlaces de red constituyen una
forma til de dividir un archivo KML grande en archivos ms pequeos y
manejables en el mismo ordenador.
Hasta ahora, para todos nuestros ejemplos, el cdigo KML se ha tenido que
suministrar a Google Earth desde un ordenador local. Los enlaces de red te
permiten proporcionar el contenido desde una ubicacin remota y se utilizan
normalmente para distribuir datos a un amplio nmero de usuarios. De esta forma,
si es necesario corregir datos, solo hay que cambiarlos en la ubicacin de origen,
de forma que todos los usuarios recibirn los datos actualizados de manera
automtica.
Hay dos cosas que son necesarias para enviar KML a travs de una secuencia de
comandos de CGI de red:
La respuesta debe tener un formato KML vlido. Para las aplicaciones complejas,
es muy importante que los errores se gestionen correctamente.
Sugerencia: Una manera sencilla de gestionar los errores es analizar el error del servidor
como el texto de un nombre de carpeta. Por ejemplo, puedes tener la respuesta del servidor
de base de datos inaccesible (<Folder><name>database inaccessible</name></Folder>)
como una cadena. Esto proporciona ms informacin y es ms cmodo para el usuario que
dejar que la conexin se corte.
En los ejemplos siguientes se utiliza Python, pero son igualmente vlidos en otros
lenguajes de secuencias de comandos.
#!/usr/bin/python
import random
kml = (
'<kml xmlns="http://www.opengis.net/kml/2.2">\n'
'<Placemark>\n'
'<Point>\n'
'<coordinates>%d,%d</coordinates>\n'
'</Point>\n'
'</Placemark>\n'
'</kml>'
) %(longitude, latitude)
print kml
Este es un ejemplo de archivo KML que contiene un enlace de red que carga esta
secuencia de comandos escrita en Python:
GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-
122.380087,37.812331 HTTP/1.1
Este recurso se puede usar para aplicaciones muy creativas pero, para que vayas
empezando, te ofrecemos este sencillo ejemplo.
#!/usr/bin/python
import cgi
url = cgi.FieldStorage()
bbox = url['BBOX'].value
bbox = bbox.split(',')
west = float(bbox[0])
south = float(bbox[1])
east = float(bbox[2])
north = float(bbox[3])
kml = (
'<kml xmlns="http://www.opengis.net/kml/2.2">\n'
'<Placemark>\n'
'<name>View-centered placemark</name>\n'
'<Point>\n'
'<coordinates>%.6f,%.6f</coordinates>\n'
'</Point>\n'
'</Placemark>\n'
'</kml>'
) %(center_lng, center_lat)
print kml
Este es el cdigo KML para el enlace de red que carga la secuencia de comandos
escrita en Python:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Enlaces de red</name>
<visibility>0</visibility>
<open>0</open>
<description>Enlace de red, ejemplo 2</description>
<NetworkLink>
<name>Marca de posicin centrada en la vista</name>
<visibility>0</visibility>
<open>0</open>
<description>La actualizacin basada en la vista permite que el
servidor remoto calcule
el centro de tu pantalla y presente una marca de
posicin.</description>
<refreshVisibility>0</refreshVisibility>
<flyToView>0</flyToView>
<Link>
<href>http://yourserver.com/cgi-bin/viewCenteredPlacemark.py</href>
<refreshInterval>2</refreshInterval>
<viewRefreshMode>onStop</viewRefreshMode>
<viewRefreshTime>1</viewRefreshTime>
</Link>
</NetworkLink>
</Folder>
</kml>
El principio que se ilustra en este ejemplo se puede usar para aplicaciones muy
complejas. Por ejemplo, si tienes una base de datos de informacin geogrfica,
podrs extraer las coordenadas del visor, hacer una llamada a la base de datos
para obtener los datos especficos de la vista y devolverlos a Google Earth como
KML.
application/vnd.google-earth.kml+xml
application/vnd.google-earth.kmz
Ms informacin
Quieres saber ms? Consulta la Gua para desarrolladores, en la que se
describen los recursos principales de KML. Tambin puedes consultar
la Referencia de KML para obtener informacin sobre elementos especficos.
Except as otherwise noted, the content of this page is licensed under the Creative Commons
Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details,
see our Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Connect