[Portugal] Postgis: linha de contorno de poligonos

Diego Moreira moreira.geo at gmail.com
Fri Aug 19 08:23:00 EDT 2011


Acho que o procedimento pode ser assim:

Uma função com os seguintes passos.

1 - Selecione os poligonos que intesectam o box da linha ou a propria
linha. Vc deve definir isso, pois os resultados poderam ser
diferentes.
2 - Una os poligonos; ST_Union
3 - Pegue o anel exterior; ST_ExteriorRing
4 - Faça a diferença; ST_Difference. O anel deve ser o primeiro
parametro da função. O resultado deve ser uma coleção
5 - Verifique qual elemento tem menor comprimento e retorne ele.

Espero ter ajudado,

Com os melhores cumprimentos.

Diego Moreira Carvalho



Em 16 de agosto de 2011 09:40, Marco Afonso <mafonso333  gmail.com> escreveu:
>
> Boa tarde,
> Gostaria de saber se existe uma forma de, dado um ponto inicial A e um ponto final B, chegar a uma LINESTRING (a mais curta) que contorne N poligonos que possam existir entre estes dois pontos.
> Conheço a solução pgRouting... mas gostava de saber se apenas com operações entre geometrias (ST_SymDifference, ST_Intersection, ST_LineMerge, etc...) seria possível chegar a uma linha que contornasse poligonos...
> Encontrei este método para dividir poligonos
> http://trac.osgeo.org/postgis/wiki/UsersWikiSplitPolygonWithLineString
> Apartir destes resultados, penso que seria possível order por comprimento do perímetro e fazer ST_SymDifference + ST_LineMerge da linha inicial... mas ainda não cheguei a uma query que funcionasse... ou talvez não seja possível de todo...
> Obrigado
>
>
>
>
> _______________________________________________
> Portugal mailing list
> Portugal  lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>


More information about the Portugal mailing list