Mi pregunta es similar a esta pregunta ¿Cómo crear una secuencia particionada de PostgreSQL?
En mi caso, estoy convirtiendo el vértice del polígono en puntos usando este código
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;Pero este código genera una identificación de secuencia para todos los vértices, independientemente de la identificación del polígono.
Quiero indexar los puntos en función de la partición por identificación de polígono, y los puntos generados a partir de cada polígono deben comenzar con la identificación de secuencia con 1. Agradezco cualquier ayuda. Como no estoy seguro de qué hacer en este caso.
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 WHERE pos = 1 ORDER BY gid, path;