Agradezco tus comentarios

Me encantaría conocer tus impresiones acerca de los distintos ejemplos o artículos de este blog, si te es posible deja un comentario en mi libro de visitas. En cambio para preguntas o problemas con alguno de los ejemplos, te ruego me las formules en el foro de Access en grupos Emagister o en en el foro de Access y VBA.

domingo, 12 de julio de 2009

Crear KML desde Access

Me puso sobre la pista de este tema mi amigo de los foros Oirti, que ha colaborado conmigo en este ejemplo.

Yo no tenía mucha idea de esto, así que me puse a investigar un poco. El objetivo era poder representar los datos de longitud/latitud de una tabla en un mapa de Google Earth. ¿Para que podría esto servirme?. Pues por ejemplo podemos representar en el mapa con iconos y cuadros descriptivos, todos nuestros clientes, los hoteles de un viaje...etc
Me di cuenta que en realidad lo único que tenía que hacer era escribir un archivo de texto con extensión KML, que es el que se usa para representar datos en diversos tipos de mapas.
Poco a poco fueron apareciendo los resultados y a su vez fuimos volviendo el proyecto un poco más ambicioso. Por ejemplo, ¿como podía obtener fácilmente los datos de latitud/longitud para una dirección deseada?. Lo más sencillo fue crearme mi propia sistema que lo hiciera (incluido en el ejemplo). Después me di cuenta que KML dispone de una etiqueta que se llama "address" que para representar datos en puntos que dispongan de una dirección conocida, hacía innecesario el uso de coordenadas.
También me pareció interesante poder, desde Access, preparar los puntos de dirección, pudiendo crear subcarpetas, editar los iconos, las etiquetas, poner un cuadro descriptivo...trabajar con los colores (esto tuvo cierta complejidad dado que KML trabaja con un sistema propio que representa los colores con 8 dígitos, siendo los dos primeros dígitos para el valor de transparencia y los seis siguientes su valor hexadecimal pero en un orden distito a como lo sería en html), para poder usar los cuadros de diálogo de color desde Access no tuve más remedio que pasar primero los colores a RGB y luego a Hexadecimal, pero al final el resultado creo que es francamente bueno

Aporto dos ejemplos en ambos es neccesario mantener los tres archivos contenidos en el rar en la misma carpeta al descomprimir.
El primero solo necesita de las direcciones para funcionar
Enlace al ejemplo

El segundo se basa en coordenadas por tanto se necesita la latitud y longitud de cada punto (aquí se incluye el ejemplo para obtener coordenadas)
El enlace al ejemplo aquí

23 comentarios:

  1. Hola juan, soy Oirti.Felicidades por haberlo conseguido y muchísimas gracias. Eres un crack. La verdad es que no te dicho nada desde hace unas semanas porque pensaba que estarías de vacaciones, o con mucho curro. Y gracias por mentir y mencionar que he colaborado contigo, ya que el 99,99% lo has hecho tú solito.

    Bueno, y no comento más porque todavía no lo he probado. Voy a hacerlo ahora mismo.

    Un saludo.

    ResponderEliminar
  2. Juan: Desde Argentina y emocionado hasta las lágrimas por este post que es justo lo que necesitaba. Te envío un abrazo y suerte !!
    Eduardo

    ResponderEliminar
  3. Gracias Eduardo.
    Espero que te sirva
    Un abrazo a tí también

    ResponderEliminar
  4. Juan, nuevamente te felicito por este generador de KML, hoy generé la tabla de todos los empleados con sus direcciones y lo tire en el mapa salió justo como deseaba, tu ejemplo es muy didáctico, muchas gracias. farid.monti@gmail.com

    ResponderEliminar
  5. FELICIDADES SEÑORES!!
    ESTO ES ALGO PARECIDO A LO QUE HE QUERIDO HACER...DE HECHO A LO MEJOR ME PUEDEN HECHAR LA MANO...ESTOY HACIENDO UNA CONSULTA EN ACCESS Y QUIERO COLOCARLE EL PLUGIN DEL GOOGLE EARTH, PARA QUE VAYA MOSTRANDO LA UBICACION DE CADA LUGAR DE LA BASE DE DATOS...ALGUNA SUGERENCIA???

    GRACIAS DE ANTEMANO Y FELICIDADES DE NUEVO

    ResponderEliminar
  6. Juan, muchisimas gracias, me has ayudado un monton, ojala te hubiera encontrado antes.... muchas gracias

    ResponderEliminar
  7. Eres un fenómeno, fantástico tu web, estoy aprendiendo mucho con tus ejemplos. Gracias.

    ResponderEliminar
  8. No se si llego mi consulta, la repito.
    Primero GRACIAS !!!! UN GENIO !!!!

    Cuando intento generar el KML en geodirecciones me da un error Visual. Cuando lo depuro es en :
    FollowHyperlink CurrentProject.Path & "\ProbandoKML.kml"

    Que puede ser porque yo lo veo bien escrito ???

    Gracias

    Eduardo desde Argentina

    ResponderEliminar
  9. Juan Cots eres un genio, la aplicacion me ha ayudado mucho, pero me gustaria hacerle una pequeña modificaciòn que no se como hacerlo.... En la parte donde genera el kml y te indica que el archivo kml se guardo en la ruta de la bdd, me gustaria hacer que me diera la opciòn de guardar el archivo donde yo quiera-., Como puedo hacer eso????? te lo agradeceria mucho!!

    Patricio

    blackdroots@gmail.com

    ResponderEliminar
  10. Juan he resuelto mi problema con FollowHyperlink.
    Solo re instale el Google Earth.

    Muchas gracias por ser tan generoso.

    Eduardo desde Argentina

    ResponderEliminar
  11. Estimados, muchas gracias por el aporte, me ayudaron un monton, queria pedirles n favor, si me pudierna dar alguna idea de como hacer lo mismo con polylines, ya que necesito dar los atributos de grosor, color, etc.
    Muchas gracias de antemano
    Att. JotaK

    ResponderEliminar
  12. Hola Juan,

    Felicitarte por tu blog. Estoy encantado con él.

    Me gustaría saber por qué el script me da error "GMap2 no esta definido"? (error linea 27, carater 7 que si voy al html aparece: map = new GMap2(document.getElementById("map_canvas"));)

    Hay que instalar alguna referencia en Access? Tener algún navegador especifico?

    El kml lo genera bien y lo puedo ver en google earth pero lo que no puedo es utilizar la opción de "obtener dirección"

    Muchas gracias de antemano?

    ResponderEliminar
  13. Hola de nuevo,

    Soy el autor (Lorenzo) del comentario anterior. Ya lo he solucionado. He tenido que obtener una Key en http://code.google.com/intl/es/apis/maps/signup.html para poder utilizar el API (poniendo localhost cuando no tienes sitio web)

    ResponderEliminar
  14. Hola. Te felicito por el post, lamentablemente el link a los ejemplos está roto. Tenés una dirección alternativa desde donde pueda visualizarlos?

    ResponderEliminar
    Respuestas
    1. mira si te sirve esta aplicación!
      http://www.mediafire.com/?5ulst600f3lv0uu

      Eliminar
  15. Hola!, primero que nada te agradezco mucho porque gracias a tus ejemplos, los modifiqué un poco e hice una aplicación que sirve para georreferenciar bases de datos de direcciones, te dejo el link de descarga para que me des tu opinión:
    http://www.mediafire.com/?5ulst600f3lv0uu
    Para abrir la aplicación y ver los modulos, mantener apretado tecla shift y presionar enter o doble click en la aplicacion.

    Mi correo es blackdroots@gmail.com

    ResponderEliminar
  16. Si alguien puede modificarla o mejorarla, seria genial!... ahora lo que quiero es que el archivo .kml creado, me de la opcion de guardarlo donde yo quiera, pero no he podido...gracias!
    blackdroots@gmail.com

    ResponderEliminar
  17. Buen día el enlace no funciona. Podrias actualizarlo?

    ResponderEliminar
  18. Juan, gusto en saludarte y conocerte por este medio.
    Muchas felicidades por el generador de KML por medio de access, me ha esta funcionando bien, hasta que lo genere en otra maquina y me da el sigueiente error:

    La expresión "Al activarese registro" que ha especificado como valor de la propiedad de evento produho el error El código de este proyecto se debe actualizar para usarse en sistemas de 64 bits. Revise y actualiza las instrucciones Declare y, a continación, marquelas con el atributo Ptrsafe.

    Siento que una de las soliciones es instalar office a 32 bits, mi pregunta es; si hay alguna forma como de indicarle al formulario que reconozca a los sistemas de 64 bits? o como se solucionaría?......

    Que sigas pasando buen día..

    mi correo: nandos@mexico.com

    Fernando

    ResponderEliminar
  19. Alguien por favor lo puede colocar en algun link, el otro no sirve :(

    ResponderEliminar
  20. NO SEAN MALOS EN LINK ESTA CAIDO, ME SUPER URGE, MUY BUEN APORTE PERO SI ESTA CAIDO NO SIRVE.

    ResponderEliminar
  21. El archivo esta dañanado, si pudieras subirlo otra vez.

    Gracias

    ResponderEliminar
  22. http://www.mediafire.com/?5ulst600f3lv0uu

    ResponderEliminar