jueves, marzo 22, 2007

Creando un KML con un NetworkLink

De lo poco que he venido trabajando para crear archivos KML para Google Earth una de sus características que más me han interesado es la del NetworkLink, la cual te permite acceder a datos que propiamente no están en el mismo archivo KML sino que son enviados al acceder a una dirección de un recurso en red (URL).

Esto es muy importante entre varias razones por la limitante que el formato KML tiene al encontrarse en formato de texto, y aunque se puede comprimir en un archivo KMZ sigue siendo bromoso para conjuntos de datos muy grandes. Esto lo pude comprobar al crear el archivo KML de los municipios de México, que aunque solo son cerca de 2500 polígonos, por el detalle de los datos contienen muchas coordenandas que hacían que el archivo KML creciera a más de 50 megas de tamaño.

Otro tipo de casos donde usar la funcionalidad de NetworkLink en un archivo KML es cuando tus datos son tan dinámicos que el crear un archivo kml no te ofrecerá la posibilidad de mostrar los datos más recientes. Ejemplos que caen en este tipo de problemática pueden ser reportes de sismos diários, o el monitoreo de cualquier fenómeno como un huracán, un incendio, etc.

Y para probar esta función me decidí a crear un archivo KML que permitiera mostrar las localidades de México censadas en el 2005. Esta es una base de datos de casi 200mil registros con los datos de población total, hombres, mujeres, por edades, por educación, servicios de salud, asi como de viviendas dentro de todo el país.

Antes que nada para comparar el resultado transformé esta base de datos de formato shapefile a KML, resultando en un archivo de casi 500 megas, y eso solo incluyendo el nombre de la localidad dentro de su descripción. Por supuesto al querer abrirlo en Google Earth se congeló la aplicación y después de 15 minutos preferí cerrarlo.....

Ver la nota completa haciendo click aqui

Aunque se vea largo el código, realmente hace cosas muy simples:

  • recupera las coordenadas que envia Google Earth que definen el rectángulo que esta visible.
  • Se valida que se encuentre a una escala suceptible de desplegar las localidades, esto es importante ya que ahí reside la funcionalidad del archivo KML. Si se permite acceder a la totalidad de las localidades el sistema se alentará igual que si estuvieran en un archivo local.
  • Se genera una consulta para enviar a MySQL y recuperar los registros de las localidades deseadas.
  • se envia con la intrucción “echo” el texto que componen los elementos de KML para desplegar en Google Earth

Este trabajo fué tarea de un fin de semana, incluyendo el copiar la base de datos y aprender la sintáxis del formato KML, por lo que en mi opinión es una muy buena solución para mostrar información geográfica de manera simple y sin tener que batallar en implementar una página html para hacer lo mismo.

Si desean probar el archivo kml de las localidades de México pueden bajarlo aquí

Visto en hablandodesigs

No hay comentarios.: