Menú
Está libre
registro
hogar  /  Internet/ El formato de archivo KML y su uso en Google Maps. Introducción

El formato de archivo KML y su uso en mapas de Google. Introducción

Anuncio

El formato de archivo KML Misc

Los archivos KML se almacenan en formato XML y fueron desarrollados originalmente para el programa de mapeo Keyhole. En 2004, Google compró Keyhole Inc., razón por la cual los servicios de mapas de Google ahora utilizan mucho los archivos KML: Google Maps y Google Earth.

Detalles técnicos sobre los archivos KML

Los archivos KML contienen información que se almacena en formato XML. Esta información incluye imágenes y datos más simples como líneas, polígonos y puntos. Estos archivos se utilizan para almacenar información sobre una ubicación específica en el mapa. El archivo KML permite al usuario no solo marcar la ubicación en el mapa, sino también agregar contenido (formato HTML), textura y vista desde diferentes ángulos. Para abrir archivos KML en Google Maps, todo lo que se necesita es el archivo KML, alojado en la web. Con un enlace de extensión separado en línea búsqueda de Google Maps lo abrirá.

Más información sobre el formato de archivo KML

La primera opción con la que puedes abrir Formato KMZ, es la aplicación de Google Earth. Este es un programa de cartografía universal de una empresa de fama mundial.

Todo lo que tiene que hacer es seleccionar el elemento de menú "Archivo" - "Abrir" en el software en ejecución. En la siguiente etapa, seleccione la carpeta en la que se encuentra el archivo, selecciónelo y presione el botón "Abrir".

Otra forma es arrastrar el archivo desde el Explorador al área donde se muestran los mapas.

Usando la aplicación Google SketchUp

Este programa se utiliza para modelado tridimensional y en el archivo con extensión KMZ Puede almacenar todo tipo de modelos 3D de objetos necesarios para una demostración realista del terreno.

Para abrirlo, haga clic en Importar-Archivo. Como en el caso anterior, encontramos carpeta deseada, elige en él archivo deseado y haga clic en Importar.

Software de información geográfica Global Mapper

Este programa admite una gran cantidad de formatos cartográficos, incluido el mencionado en este artículo. Gracias a la aplicación, los datos que contiene no solo se pueden editar, sino también transformar.

La apertura se realiza mediante el elemento de menú Abrir archivo (s) de datos - Archivo. Además, todo es similar a las opciones anteriores.

Plataforma de información geográfica ArcGIS Server

Usaremos la versión de escritorio, ArcGIS Explorer. Archivo KMZ, que también se utiliza en este anexo, ayuda a establecer las coordenadas del objeto requerido.

Puede abrirlo arrastrando y soltando desde el Explorador de Windows directamente en área de trabajo SOBRE.

Extensión de archivo .kml
Categoría de archivo
Archivo de ejemplo (2,05 KiB)
Programas asociados Blender (Windows, Mac y Linux)
Mapeador global de Blue Marble Geographics (Windows)
ESRI ArcGIS para escritorio (Windows)
Google Earth (Windows, Mac y Linux)
Google Maps (web)
Merkaartor (Windows, Mac y Linux)
Keyhole PRO (Windows y Mac)

KML es un formato de archivo que se utiliza para mostrar datos geográficos en un navegador de la Tierra como Google Earth. KML utiliza una estructura basada en etiquetas con elementos y atributos anidados y se basa en el estándar XML. Todas las etiquetas distinguen entre mayúsculas y minúsculas y deben aparecer exactamente como se enumeran en la Referencia de KML. La referencia indica qué etiquetas son opcionales. Dentro de un elemento dado, las etiquetas deben aparecer en el orden que se muestra en la Referencia.

Si es nuevo en KML, explore este documento y los archivos de muestra adjuntos ( SamplesInEarth) para comenzar a aprender sobre la estructura básica de un archivo KML y las etiquetas más utilizadas. La primera sección describe las funciones que se pueden crear con la interfaz de usuario de Google Earth. Estas características incluyen marcas de posición, descripciones, superposiciones de suelo, rutas y polígonos. La segunda sección describe las funciones que requieren la creación de KML con un editor de texto. Cuando un archivo de texto se guarda con un .kml o .kmz extensión, los navegadores de la Tierra saben cómo mostrarlo.

Propina: Para ver el "código" KML de una función en Google Earth, simplemente haga clic con el botón derecho en la función en el Visor 3D de Google Earth y seleccione Copiar. Luego pegue el contenido del portapapeles en cualquier editor de texto. La función visual que se muestra en Google Earth se convierte en su equivalente de texto KML. Asegúrese de experimentar con esta función.

Para obtener más información sobre cómo utilizar algunas de las funciones clave de KML, consulte la Guía para desarrolladores.

Tabla de contenido

Documentos KML básicos

El tipo más simple de documentos KML son los que se pueden crear directamente en Google Earth; es decir, no es necesario editar ni crear ningún KML en un editor de texto. Las marcas de posición, las superposiciones de suelo, las rutas y los polígonos se pueden crear directamente. en Google Earth.

Marcas de posición

Una marca de posición es una de las funciones más utilizadas en Google Earth. Marca una posición en la superficie de la Tierra, utilizando una chincheta amarilla como icono. La marca de posición más simple incluye solo una Elemento, que especifica la ubicación de la marca de posición. Puede especificar un nombre y un icono personalizado para la marca de posición, y también puede agregarle otros elementos geométricos.

Por ejemplo, habilite la carpeta "Posicionamiento absoluto: parte superior izquierda" en el archivo de muestras KML y verá una pantalla superpuesta en la parte superior izquierda de la ventana de visualización. Esto fue creado con el siguiente código KML:




Posicionamiento absoluto: arriba a la izquierda

http: //site/kml/documentation/images/top_left.jpg






El posicionamiento se controla mapeando un punto en la imagen especificado por hasta un punto de la pantalla especificado por ... En este caso, la esquina superior izquierda de la imagen (0,1) se ha hecho coincidir con el mismo punto de la pantalla.

Consulte los otros ejemplos en la carpeta para ver cómo es posible obtener otras posiciones fijas y crear imágenes de ese tamaño dinámicamente con el tamaño de la pantalla. (Tenga en cuenta que xunidades y yunits también se puede especificar como "píxeles" para un control de precisión). Para obtener más detalles, consulte la Referencia de KML 2.2.

Vínculos de red

Un enlace de red contiene un elemento con un (una referencia de hipertexto) que carga un archivo. los puede ser una especificación de archivo local o una URL absoluta. A pesar del nombre, un no necesariamente carga archivos de la red.

los en un enlace especifica la ubicación de cualquiera de los siguientes:

  • Un archivo de imagen utilizado por íconos en estilos de íconos, superposiciones de suelo y superposiciones de pantalla
  • Un archivo de modelo utilizado en el elemento
  • Un archivo KML o KMZ cargado por un enlace de red

El archivo especificado puede ser un archivo local o un archivo en un servidor remoto. En su forma más simple, los enlaces de red son una forma útil de dividir un archivo KML grande en archivos más pequeños y manejables en la misma computadora.

Hasta ahora, todos nuestros ejemplos han requerido que el código KML se envíe a Google Earth desde la máquina local. Los enlaces de red le brindan el poder de servir contenido desde una ubicación remota y se usan comúnmente para distribuir datos a un gran número de usuarios. De esta manera, si los datos necesitan ser modificados, deben cambiarse solo en la ubicación de origen, y todos los usuarios reciben los datos actualizados automáticamente.

Secuencias de comandos CGI para KML

Además de apuntar a archivos que contienen datos estáticos, un enlace de red "s puede apuntar a datos que se generan dinámicamente, por ejemplo, mediante un script CGI ubicado en un servidor de red. Con algunos conocimientos de un lenguaje de secuencias de comandos como PHP, Python o Perl, puede crear una secuencia de comandos que envíe una secuencia (o archivo) de datos KML a cada enlace de red.

Se necesitan dos cosas para entregar KML a través de una red CGI:

Cuando se realiza una llamada desde el cliente (Google Earth) al servidor, el servidor debe (1) devolver un código de respuesta HTTP 200 y (2) establecer el tipo de contenido de la respuesta en text / plain o application / vnd.google -earth.kml + xml.

La respuesta debe ser un archivo KML válido. Para aplicaciones complejas, el manejo adecuado de errores es muy importante.

Propina: Una forma sencilla de manejar los errores es analizar el error del servidor como el texto de un nombre de carpeta. Por ejemplo, puede hacer que el servidor devuelva base de datos inaccesible como una cuerda. Esto es más informativo (y más fácil de usar) que dejar caer la conexión.

Los siguientes ejemplos usan Python, pero son igualmente válidos en cualquier otro lenguaje de programación.

Generando una marca de posición aleatoria

La siguiente secuencia de comandos de Python genera valores enteros aleatorios para latitud y longitud y luego inserta esos valores en el elemento de un Siempre que se actualiza el enlace de red, la secuencia de comandos de Python se ejecuta de nuevo y genera KML con nuevos valores de latitud y longitud.

#! / usr / bin / python import random latitude = random.randrange (-90, 90) longitude = random.randrange (-180, 180) kml = ("\ n "" \ n "" \ n "" Marca de posición aleatoria\ n "" \ n "" % d,% d\ n ""\ n ""\ n """)% (longitud, latitud) imprime" Tipo de contenido: application / vnd.google-earth.kml + xml \ n "imprime kml

A continuación, se muestra un ejemplo de un archivo KML que contiene un enlace de red que carga esta secuencia de comandos de Python:




Vínculos de red
0
0
Ejemplo 1 de enlace de red

Marca de posición aleatoria
0
0
Una secuencia de comandos simple del lado del servidor que genera una nueva secuencia aleatoria.
marca de posición en cada llamada

0
0

http: // yourserver.com/cgi-bin/randomPlacemark.py



Consultas de actualización basadas en vistas

Un enlace de red estándar es un enlace unidireccional: los datos fluyen solo desde el servidor a Google Earth. La actualización basada en la vista permite la comunicación bidireccional. Cuando la actualización basada en la vista está activa, Google Earth devuelve las coordenadas de la vista al servidor en un momento específico. Esto puede ser cada norte segundos, minutos u horas, o una vez que haya transcurrido cierto tiempo desde que la vista dejó de moverse. Ver en la Referencia de KML 2.2.

Las coordenadas se devuelven al servidor por medio de un HTTP GET que agrega las coordenadas de la siguiente manera (esta es la información predeterminada del cuadro delimitador):

OBTENER / ruta / a / servidor / script / consulta? BBOX = HTTP / 1.1

Si la solicitud se realizó mientras el usuario miraba hacia San Francisco, las coordenadas podrían tener el siguiente aspecto:

OBTENER /ruta/al/servidor/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP / 1.1

Esta función se puede utilizar para algunas aplicaciones muy creativas, pero para empezar, a continuación se presenta un ejemplo sencillo.

Seguimiento de un punto directamente bajo su vista

La siguiente secuencia de comandos de Python del lado del servidor analiza el mensaje de retorno enviado por Google Earth y responde con una marca de posición en el centro de la pantalla. Cada vez que se actualiza el enlace de red, se genera una nueva marca de posición.

#! / usr / bin / python import cgi url = cgi.FieldStorage () bbox = url ["BBOX"]. value bbox = bbox.split (",") west = float (bbox) south = float (bbox) east = flotar (bbox) norte = flotar (bbox) center_lng = ((este - oeste) / 2) + oeste center_lat = ((norte - sur) / 2) + sur kml = ("\ n "" \ n "" \ n "" Marca de posición centrada en la vista\ n "" \ n "" % .6f,%. 6f\ n ""\ n ""\ n """)% (center_lng, center_lat) print" Content-Type: application / vnd.google-earth.kml + xml \ n "print kml

Y aquí está el KML para el enlace de red que carga la secuencia de comandos de Python:




Vínculos de red
0
0
Ejemplo 2 de enlace de red

Ver marca de posición centrada
0
0
La actualización basada en vistas permite al servidor remoto calcular
el centro de la pantalla y devolver una marca de posición.

0
0

http: // yourserver.com/cgi-bin/viewCenteredPlacemark.py

2
onStop
1



El principio ilustrado en este ejemplo se puede utilizar para algunas aplicaciones muy complejas. Por ejemplo, si tiene una base de datos de información geográfica, puede extraer las coordenadas del visor, realizar una llamada a la base de datos para obtener los datos específicos de la vista y devolverlos a Google Earth como KML.

3 tipos de KML MIME

Al responder a una solicitud de Google Earth (o cualquier navegador de la Tierra), un servidor KML debe seguir un cierto conjunto de reglas para que Google Earth pueda interpretar correctamente sus respuestas.

Si tiene éxito, el servidor debe devolver un código de respuesta HTTP 200 y establecer el tipo de contenido de la respuesta en un tipo MIME adecuado, como se describe aquí.

Google Earth lee archivos KML y KMZ. El tipo MIME para archivos KML es

  • application / vnd.google-earth.kml + xml

El tipo MIME para archivos KMZ es

  • application / vnd.google-earth.kmz

Para Apache, agregue estas líneas al httpd.conf expediente:

  • Aplicación AddType / vnd.google-earth.kml + xml .kml
  • Aplicación AddType / vnd.google-earth.kmz .kmz

Consulte la documentación de Microsoft para obtener detalles sobre la configuración de tipos MIME en IIS de Microsoft.

El cuerpo de la respuesta debe contener datos KML válidos, incluida la declaración XML (). Si el servidor devuelve un archivo KML no válido, el enlace de red se detendrá, se desactivará y mostrará un mensaje de error.

El formato KML es una extensión que almacena datos geográficos para funciones en Google Earth. Dicha información incluye marcas de posición en el mapa, un área arbitraria en forma de polígono o líneas, un modelo tridimensional y una imagen de una parte del mapa.

Consideremos aplicaciones que interactúan con este formato.

Google Earth

    1. Después de comenzar, haga clic en "Abierto" en el menú principal.

  1. Busque el directorio con el objeto original. En nuestro caso, el archivo contiene información de ubicación. Haga clic en él y haga clic en "Abierto".

La interfaz del programa con la indicación de la ubicación en forma de etiqueta.

Computadora portátil

El Bloc de notas es una aplicación de Windows integrada para crear documentos de texto... También puede actuar como editor de código para ciertos formatos.

    1. Ejecute este software. Para ver el archivo, seleccione "Abierto" en el menú.

  1. Nosotros elegimos "Todos los archivos" en el campo apropiado. Habiendo seleccionado el objeto deseado, haga clic en "Abierto".

Visualización del contenido del archivo en el Bloc de notas.

Podemos decir que la extensión KML tiene poca distribución, y se usa exclusivamente en Google Earth, y ver un archivo de este tipo a través del Bloc de notas no será de utilidad para nadie.