etalab / ban-data

Projet de suivi des données BAN et des scripts de traitements associés
20 stars 5 forks source link

Snap the average point of street location to the existing closest one #119

Closed frodrigo closed 6 years ago

frodrigo commented 6 years ago

Sur les voies concaves la localisation de rue tombe sur d'autres rues.

cquest commented 6 years ago

Merci pour la PR

J'ai revu ce code en utilisant plutôt ST_ClosestPoint pour être dans une logique plus "géo", l'idéal serait de regénérer le filaire de la voie.

frodrigo commented 6 years ago

J'avais commencé avec une polyline, mais il faudrait ordonner les points pour le faire.

cquest commented 6 years ago

Le closestpoint est "simple"...

round(st_y(st_closestpoint(st_collect(st_makepoint(lon,lat)), st_centroid(st_collect(st_makepoint(lon,lat)))))::numeric,6)

cquest commented 6 years ago

Voilà un exemple (avec le ST_ClosestPoint): http://www.openstreetmap.org/?mlat=48.80397&mlon=2.49004#map=18/48.80438/2.49004