Usos de la coordenada M en las bases de datos espaciales.

La coordenada M (measure – medida) puede representar una medida arbitraria almacenada dentro de la geometría (punto).

Por ejemplo puede representar la hora o tiempo en el que dicha geometría se encontraba en ese punto.

O puede representar el número de identificación de un fenómeno que ocurre en esa geometría o punto, por ejemplo, si se representa una carretera con una linea y en esa carretera hay teléfonos de emergencia, podemos incrustar en cada punto del vértice de esa linea el número de identificación de la caseta donde se encuentra el teléfono de emergencia.

Por ejemplo la función ST_LocateAlong de postgis te regresaría una colección de geometrías donde se encuentra la medida  que se le especifique:

 

SELECT ST_AsText((ST_Dump(the_geom)).geom)
	FROM
	(SELECT ST_LocateAlong(
			ST_GeomFromText('MULTILINESTRINGM((1 2 3, 3 4 2, 9 4 3),
	(1 2 3, 5 4 5))'),3) As the_geom) As foo;

   st_asewkt
---------------
 POINTM(1 2 3)
 POINTM(9 4 3)
 POINTM(1 2 3)

En el ejemplo anterior le especificamos que nos regrese la colección de geometrías dentro de una geometría tipo  multilinestringm que contienen la medida “3”.

Esto se aplica mucho en “linear referencing”  (referenciación lineal). de hecho hay funciones en Postgis que hacen uso de esta coordenada M.

Puedes leer acerca de esas funciones en este apartado:

http://postgis.net/docs/manual-2.1/reference.html#Linear_Referencing

¡Saludos!

Deja un comentario