PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 29/03/2018 09:38:28

bruhnil
Membre

Segmenter multilinestring en fonction d'une distance et création point

Bonjour à toutes et à tous,

J’ai une table spatiale d’adresses avec pour chaque entité adresse une géométrie de routes. Ainsi pour un type de voie + nom de voie (ex : avenue habib bourguiba) je vais avoir 20 adresses avec la même géométrie de route.
-    28 avenue habib bourguiba
-    29 avenue habib bourguiba
-    30 avenue habib bourguiba
-    21 avenue habib bourguiba
-    …
-    48 avenue habib bourguiba
Connaissant la longueur de chaque route (st_length) et le nombre d’adresses (intervalle) pour chacune d’entre elle, je peux obtenir st_length/intervalle (intervalle_m) soit la distance théorique entre chaque point adresse.
J’aimerais pouvoir segmenter mes lignes (routes)  en fonction de intervalle_m et créer un point (adresse) à chaque brisure de lignes. J’ai essayé sous postgis les fonctions St_Segmentize

(SELECT ST_DumpPoints( (ST_Segmentize((geom),intervale_m -- st_length/intervalle 
))) as geom
from ban.v_ban_travail_generate_series
group by  geom, intervale_m )

et St_interpolate_points

(select 	
id, 
ST_line_interpolate_point(st_makeline(st_linemerge(geom)),fraction --1/intervalle
) as geom from  ban.v_ban_travail_generate_series 
group by id, fraction)

mais les résultats ne sont pas bons.


Auriez vous une idée de comment procéder ?

Merci d’avance pour vos retours !

Marine.

Hors ligne

Pied de page des forums