В настоящее время я использую расширение топологии PostGIS, но у меня есть некоторые трудности в понимании того, как работает структура:
Одним из ключевых моментов является использование «слоев»: насколько я понимаю, атрибуты объектов должны храниться в таблице из схемы топологии (названной topo_actualname) и регистрироваться как слой этой топологии с помощью AddTopoGeometryColumn.
Однако, есть простой способ , чтобы присоединиться к атрибутам (хранящиеся в таблице слоя) с соответствующими особенностями (элементами в node, faceили edge_data)?
Теперь, что я делаю, это:
SELECT whatever
FROM layer_tb l
JOIN topo_topologyname.edge_data e ON (l.topo).id=edge_id;
Но я полагаю, что вся layerконцепция довольно бесполезна, если мне нужно знать как имя схемы топологии, так и имя слоя, чтобы получить необходимую информацию.
На самом деле, я думаю, что я понял, что topoстолбец на уровне имеет достаточно информации, чтобы знать, где находится соответствующая топология, и, кроме того, topologyсхема хранит ссылку на каждую таблицу уровня для каждой топологии.
Существует ли короткий / простой / правильный способ объединения информации? Я искал что-то в функциях расширения топологии , но не смог найти ничего полезного.
TopoGeometryнепосредственно к геометрии:SELECT whatever, ST_AsText(topogeom::geometry) FROM layer_tb. Дело в том, что если позже края будут разделены, кажется, что геометрия может измениться в результате.