Atualmente, estou usando a extensão de topologia PostGIS, mas tenho algumas dificuldades para entender como a estrutura funciona:
Um dos pontos principais é o uso de "layer" s: pelo que entendi, os atributos de recursos devem ser armazenados em uma tabela fora do esquema da topologia (aquele nomeado topo_actualname) e registrados como uma camada dessa topologia AddTopoGeometryColumn.
No entanto, há uma maneira simples para se juntar os atributos (armazenados na tabela de camada) com os respectivos recursos (elementos no node, faceou edge_data)?
Agora, o que eu faço é:
SELECT whatever
FROM layer_tb l
JOIN topo_topologyname.edge_data e ON (l.topo).id=edge_id;
Mas acho que todo o layerconceito é inútil se precisar conhecer o nome do esquema de topologia e o nome da camada para obter as informações desejadas.
Na verdade, acho que entendi que a topocoluna na camada possui informações suficientes para saber onde está a respectiva topologia e, além disso, o topologyesquema armazena uma referência a cada tabela de camada para cada topologia.
Existe uma maneira curta / simples / adequada de juntar informações? Eu estava procurando por algo nas funções de extensão da topologia , mas não consegui encontrar nada útil.
TopoGeometrydiretamente para uma geometria:SELECT whatever, ST_AsText(topogeom::geometry) FROM layer_tb. O problema é que, se as arestas forem divididas mais tarde, parece que a geometria pode mudar como resultado.