MySQL y Coordenadas GEO

Cada día tenemos más dispositivos configurados que hacen uso de coordenadas de tipo GEO (Latitud,Longitud). La mayor parte de las bases de datos soportan ya tipos GEO que simplifican de forma clara la forma de trabajar con estos datos. Vamos a hacer una pequeña introducción a estos tipos de datos utilizando MySQL. Para ello el primer paso es crear una tabla en mysql que los soporte.   001

En este caso hemos creado una tabla con un campo point que hace referencia a una coordenada GPS que vamos a almacenar de un lugar determinado. Este tipo de dato es especial de MySQL para almacenar una coordenada geográfica.

007

Una vez creada la tabla insertamos dos registros pasando la longitud y la latitud para dos ciudades usando la funcion geomfromtext: 003 004 Una vez insertados los datos de coordenadas GPS podemos realizar una búsqueda en la tabla usando la funcion «asText» que los muestra las coordenadas de una forma sencilla. 005 Acabamos de seleccionar las coordenadas que hemos salvado. El siguiente paso es calcular las distancias para ello utilizamos una coordenada Point que pasamos (la coordenada de bilbao).

006 La función GeomFromText convertirá a tipo GEO la cadena que pasamos. Una vez hecho esto construiremos un LineString (otro tipo geo que agrupa varios puntos) con los dos puntos que tenemos.

008

 

Hecho esto tenemos un LineString podemos calcular la distancia entre los dos puntos. Por lo tanto entre Bilbao y Bilbao habrá cero mientras que entre Bilbao y Santander habrá 89 . Esta distancia es en linea recta  sobre el mapa sin contar la curvatura terrestre.

Post By Cecilio Álvarez Caules (32 Posts)

Oracle Certified Master, Java EE Enterprise Architect .Experto en la plataforma JEE y Trainer. Autor del libro Arquitectura Java Sólida Dueño del blog sobre JEE Arquitectura Java

Website: →

Connect

3 Responses to “MySQL y Coordenadas GEO”