Más

¿Obtener lat y long en dos columnas como flotantes para todos los puntos en MULTILINESTRING en PostGIS?

¿Obtener lat y long en dos columnas como flotantes para todos los puntos en MULTILINESTRING en PostGIS?


ST_DumpPoints (geom)me da algo como esto:

("{1,1}", 0101000020E61000002DEDD45CEEB362C0CE1951DA1BC24E40) ("{1,2}", 0101000020E6100000C94AD826F1B362C09D4B7BC72CC24E40)…

Donde quiero que se vea así

seq lat lon

1, 61.1, -149.1

2, 61.2, -149.2…

He jugado conST_AsTextyST_AsGeoJsonlo que me acerca, pero me gustaría analizarlo con SQL en lugar del texto.


Hay un buen ejemplo de esto en la documentación deST_DumpPoints:

SELECT ogc_fid, (dp) .path [1] AS seq, ST_AsText ((dp) .geom) AS wktnode, ST_X ((dp) .geom), ST_Y ((dp) .geom) FROM (SELECT ogc_fid, ST_DumpPoints (the_geom ) AS dp FROM my_table) AS foo;

Regresando:

ogc_fid; seq; wktnode; st_x; st_y 84; 1; "PUNTO (1760789.64678326 5433999.35927963)"; 1760789.64678326; 5433999.35927963 84; 2; "PUNTO (1760016.74943794 5433941.50"; POINT) 1; ; 1755882.28518908; 5434644.98441615 1; 2; "POINT (1,755,953.62731641 5,434,610.42870749)"; 1,755,953.62731641; 5,434,610.42870749 1; 3; "POINT (1,756,017.76954237 5,434,602.51304863)"; 1,756,017.76954237; 5,434,602.51304863 2; 1; "POINT (1,756,055.96704621 5,434,673.63981803)"; 1,756,055.96704621; 5,434,673.63981803