J'utilise actuellement l'extension de topologie PostGIS, mais j'ai quelques difficultés à comprendre le fonctionnement de la structure:
L'un des points clés est l'utilisation de «couches»: d'après ce que je comprends, les attributs des fonctionnalités doivent être stockés dans une table hors du schéma de la topologie (celui nommé topo_actualname
) et enregistrés en tant que couche de cette topologie avec AddTopoGeometryColumn
.
Cependant, est - il un moyen simple de rejoindre les attributs (stockés dans la table de couche) avec les caractéristiques respectives (éléments du node
, face
ou edge_data
)?
Maintenant, ce que je fais, c'est:
SELECT whatever
FROM layer_tb l
JOIN topo_topologyname.edge_data e ON (l.topo).id=edge_id;
Mais je suppose que l'ensemble du layer
concept est plutôt inutile si je dois connaître à la fois le nom du schéma de topologie et le nom de la couche pour obtenir les informations que je veux.
En fait, je pense avoir compris que la topo
colonne sur la couche a suffisamment d'informations pour savoir où se trouve la topologie respective, et de plus le topology
schéma stocke une référence à chaque table de couche pour chaque topologie.
Existe-t-il un moyen court / simple / approprié de réunir les informations? Je cherchais quelque chose dans les fonctions d'extension de topologie , mais je n'ai rien trouvé d'utile.
la source
TopoGeometry
directement à une géométrie:SELECT whatever, ST_AsText(topogeom::geometry) FROM layer_tb
. Le truc, c'est que si les bords se fendent plus tard, il semble que la géométrie pourrait changer en conséquence.Réponses:
Le mappage des attributs à la topologie n'est pas direct . La relation est quelque chose comme ça pour un nœud:
Votre déclaration de sélection ressemblerait donc plus à ceci:
la source