6 votos

La conversión de un PostGIS raster de vuelta a vector

¿Es posible convertir un PostGIS raster de nuevo a una línea?

Me gustaría generalizar algunos datos vectoriales mediante la conversión de raster y la alteración de la cellsize para corregir los "huecos" en el vector de conectividad.

Una vez que haya alcanzado una buena trama cellsize, me gustaría convertir esa trama de vuelta a un vector de línea, la conexión de todas las células de los centroides en líneas continuas dentro de un rango de tolerancia (por no conecte demasiados células adyacentes en las intersecciones).

Me imagino que la consulta sería algo como esto, pero no puede averiguar lo que el exterior de la función sería:

Convert To Vector (line) (
  Convert to Raster(cellsize)
  (
  Original Line (geom)
  )
)

Un ejemplo sencillo sería convertir la trama de 'la línea' a un vector, como en el ST_AsRaster documentación de SQL:

ST_AsRaster(
        ST_Buffer(
            ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'), 
            200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0]);

2voto

dlanod Puntos 8661

Usaría algo como:

-- Dump Como Polígonos -- http://postgis.net/docs/RT_ST_DumpAsPolygons.html

o

-- ST_Polygon -- http://postgis.net/docs/RT_ST_Polygon.html

Para convertir el ráster de vuelta a la geometría. Excepto en cuenta que desde los rásteres son pequeños píxeles, recibes un área de geometría.

En PostGIS 2.2.0 -- lanzamiento es inminente, si usted ha construido con SFCGAL, puede utilizar

el ST_ApprovimateMedialAxis.html

http://postgis.net/docs/manual-dev/ST_ApproximateMedialAxis.html

el ST_StraightSkeleton función,

http://postgis.net/docs/manual-dev/ST_StraightSkeleton.html

Creo ST_ApprovimateMedialAxis.html hace cerca de lo que usted desea cuando se aplica a la poligonal que usted regrese de la trama. Creo que otros han plpgsql funciones en todo mentira que hacer algo similar demasiado si usted no puede conseguir sus manos en SFCGAL enriquecido PostGIS 2.2

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X