現在、PostGISトポロジ拡張を使用していますが、構造がどのように機能するかを理解するのは困難です。
重要なポイントの1つは「レイヤー」の使用です。私が理解しているように、フィーチャ属性はトポロジのスキーマ(という名前のスキーマ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
スキーマには各トポロジの各レイヤーテーブルへの参照が格納されていることを理解したと思います。
情報を結合するための短い/シンプル/適切な方法はありますか?トポロジ拡張機能で何かを探していましたが、有用なものが見つかりませんでした。
必要なのは、ツール、または交差、結合、マージなどのデータ操作です。QGISはポストGISで動作し、無料でこのようなツールを備えています。フィーチャはレイヤー内にあり、これらのタイプの操作に基づいてレイヤーをマージすると結合されます。
—
ルイス
TopoGeometry
ジオメトリに直接キャストできますSELECT whatever, ST_AsText(topogeom::geometry) FROM layer_tb
。問題は、後でエッジが分割されると、結果としてジオメトリが変更される可能性があることです。