Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville - Sujet suivant
#1 Tue 20 July 2010 08:44
- seb.49
- Participant occasionnel
- Date d'inscription: 5 Jun 2009
- Messages: 19
[OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville
Bonjour,
Je tente de faire du reverse geocoding local avec des données OSM.
Pour ce faire, j'ai récupérer le fichier osm de l'ile de france chez geofabrik
et je l'ai importé dans une base postgis avec osm2pgsql
J'arrive avec cette requete
Code:
select name, astext(ST_Transform(st_centroid(way),4326)) as milieu, st_distance(way, st_geomfromtext('POINT(250553.832326824 6242745.39205004 )', 900913)) as dist, * from planet_osm_line order by dist limit 10;
à récupérer dans l'ordre croissant de distance, la liste des rues proches d'un point donné.
Je ne parviens pas à obtenir les villes et les CP
Merci d'avance pour votre aide
Hors ligne
#2 Tue 27 July 2010 09:06
Re: [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville
Bonjour,
La commune peut être retrouvé via la table planet_osm_polygon en filtrant les données sur la colonne admin_level = '4' (à vérifier).
Code:
SELECT l.name, astext(ST_Transform(st_centroid(l.way),4326)) as milieu, st_distance(l.way, st_geomfromtext('POINT(250553.832326824 6242745.39205004 )', 900913)) as dist, p.name * FROM planet_osm_line AS l, planet_osm_polygon AS p WHERE admin_level='4' AND st_contains(p.way,st_geomfromtext('POINT(250553.832326824 6242745.39205004 )', 900913)) ORDER BY dist LIMIT 10;
Par contre à ta place je créerai une table plus propre avec les colonnes id, name_street, name_ville, way (celle de la rue).
Puis tu fait une requête en réalisant un buffer autour de ton point et tu récupères toutes les rues qui intersect ce buffer. Tu obtiendras des lignes (ie des rues) avec les noms de la rue et de la ville de la rue et non la ville où se trouve le point.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Tue 27 July 2010 09:14
- seb.49
- Participant occasionnel
- Date d'inscription: 5 Jun 2009
- Messages: 19
Re: [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville
Merci beaucoup cest parfait. Par contre cest admin_level = 8 je crois.
Y a t il moyen d avoir les numéros dans les rues soit directement par requete si ca existe ou pour par extrapolation. Mais dans ce dernier cas, je ne sais pas trop comment partir.
Hors ligne
#4 Tue 27 July 2010 09:54
Re: [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville
Bonjour,
Les données ne sont pas complète à mon avis. Pour l'extrapolation tu as les fonctions linear referencing : http://postgis.refractions.net/document … eferencing
Mais dans ce cas il faut connaitre la longueur de la rue : http://postgis.refractions.net/document … Point.html
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Wed 28 July 2010 13:49
- seb.49
- Participant occasionnel
- Date d'inscription: 5 Jun 2009
- Messages: 19
Re: [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville
Merci je vais regarder tout ca
Hors ligne
#6 Mon 10 November 2014 23:21
- Achref_geo
- Participant actif
- Date d'inscription: 19 Feb 2012
- Messages: 107
Re: [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville
Bonjour,
Permettez moi de réouvrir le sujet, je viens d'importer des données .osm dans une base Postgis avec osm2pgsql, mais en essayant d'exécuter la même requêtes citée au dessus j'obtiens toujours ce message :
Code:
ERROR: transform: couldn't project point (1.10411e+006 4.41371e+006 0): failed to load NAD27-83 correction file (-38) HINT: PostGIS was unable to transform the point because either no grid shift files were found....
J'ai bien compris qu'il s'agit de la bibliothèque Proj4 et du répertoire NAD manquant, mais en suivant la documentation je me trouve perdu. Merci de me préciser les étapes à suivre afin de compiler correctement Proj4.
A+
Hors ligne
Pages: 1
- Sujet précédent - [OSM][osm2pgsql]Reverse geocoding, j'ai la rue mais pas la ville - Sujet suivant