Esta não é uma resposta completa, mas pode ser um ponto de partida para quem procura mais detalhes.
ST_Polygonize
(na forma de polygonize_garray
) e ST_BuildArea
são definidos no código-fonte (espelho) em https://github.com/postgis/postgis/blob/svn-trunk/postgis/lwgeom_geos.c .
Os dois eventualmente chamam GEOSPolygonize
, que é definido no GEOS , que é uma porta C / C ++ do Java Topology Suite .
E pelos documentos -
ST_Polygonize - Cria uma GeometryCollection contendo possíveis polígonos formados a partir da linha de trabalho constituinte de um conjunto de geometrias. https://postgis.net/docs/ST_Polygonize.html
ST_BuildArea - Cria uma geometria areal formada pelo trabalho de linha constituinte de determinada geometria. O tipo de retorno pode ser um polígono ou multi-polígono, dependendo da entrada. Se as linhas de entrada não formarem polígonos, NULL será retornado. As entradas podem ser LINESTRINGS, MULTILINESTRINGS, POLYGONS, MULTIPOLYGONS e GeometryCollections. Esta função assume que todas as geometrias internas representam furos. http://postgis.net/docs/ST_BuildArea.html