1
我的問題是類似這樣的問題How to create a PostgreSQL partitioned sequence?如何爲多邊形頂點生成的點創建PostgreSQL分區序列?
在我的情況下,我使用此代碼
SELECT geom, gid, path,nextval('seq_oid1') as seq_id,
rank() OVER (PARTITION BY gid ORDER BY gid) AS pos
FROM (
SELECT DISTINCT ON (geom) geom, path, gid
FROM (
SELECT (ST_DumpPoints(geom)).geom, (ST_DumpPoints(geom)).path, gid
FROM edge_snapping.polygon1
) f
ORDER BY geom, path, gid
) f
ORDER BY gid, path;
多邊形頂點轉換爲點,但這個代碼生成序列標識的所有頂點無論多邊形的ID。
我想根據多邊形ID分區索引點,並且從每個多邊形生成的點應以序號id開頭。我感謝任何幫助。因爲我不確定在這種情況下該怎麼做。
錯誤:列「pos」不存在,它給出了這樣的錯誤。 –
SELECT * FROM (SELECT的geom,GID,路徑,NEXTVAL( 'seq_oid1')作爲seq_id, 秩()OVER(PARTITION BY GID ORDER BY GID)AS POS FROM( SELECT DISTINCT ON(的geom)的geom,路徑,GID FROM(SELECT (ST_DumpPoints(GEOM))。的geom,(ST_DumpPoints(GEOM))。路徑,GID FROM edge_snapping.polygon1 )的F ORDER BY的geom,路徑,GID )的F ORDER BY GID,路徑 )f3 WHERE pos = 1 –
謝謝你的工作! –