#1 Thu 25 October 2007 20:55
- vblanque
- Participant occasionnel
- Lieu: Santiago, Chili
- Date d'inscription: 25 Oct 2007
- Messages: 20
Geocodage - Existe-t-il un geocoder libre ?
Bonjour,
je souhaite implémenter une fonction de geócodage utilisant ma propre base de données de rue (notamment, les rues de villes chiliennes)
les Geocoders de Google Maps, de Yahoo Maps et de Microsoft Live Search n'ont comme référence que la capitale Santiago, or je souhaite avoir une solution pour d'autres villes de province.
j'ai la possibilité d'utiliser la BD Geonames, mais elle n'est pas très étoffé pour les villes considérées et elle ne prend pas en compte le numéro de la rue.
la solution se trouve-t-elle du côté de GeoPy, de SRC Open Source Explorer Geocoder ou autres alternatives ? la solution serait-t-elle de développer mon propre Geocoder ? la solution serait-t-elle de transformer la base de données des rues (polylignes) en points et ensuite de faire un algo d'interpolation ?
Technologie:
- Mapserver + KaMap
- OpenLayers
- Site web en ASP.NET (+ Ajax:Anthem.NET)
- BD des rues (shapefile)
Cordialement,
Vincent
Hors ligne
#2 Fri 26 October 2007 10:13
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonjour,
Je suis en train de tester plusieurs technologie afin de faire une application pour géocoder et j'ai à peu près la même problématique que toi. L'urgence en moins sans doute
Il faut bien séparer les trois composants à mon avis : données - moteur - IHM. Pour l'instant je m'occupe de l'IHM et j'utilise le moteur de Google ou yahoo pour tester. Bien sur j'utilise ainsi les données de google et yahoo respectivement. Lorsque l'IHM sera terminé, il peut être intéressant de développer un moteur. Je pensais le faire sous forme de service WPS. Quand aux données, il faut les créer ou les acheter
Pour les données, si tu n'as pas les données ponctuelles, tu devras effectivement les créer. Dans ce cas là, comment définir le début de la rue (1) de la fin (XX) ? Et comment gérer l'espacement entre les points ?
Concernant la technologie : OpenLayer pour la partie carto (affichage et edition des geometrie mal localisé), Framework basé sur Symfony (pour l'instant fait maison, donc à jeter), BdD : MySQL, PostgreSQL, (indépendant).
Je ne connais pas les différents projets que tu cites : GeoPy (en python ?), SRC OS Exp. Geocod. Ce sont des moteurs ? des IHM, des donnés ou les trois à la fois ? Pour les données, sont elles américaines ou mondiales ?
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 Fri 26 October 2007 12:07
- jmz
- Participant actif
- Lieu: Anthon
- Date d'inscription: 5 Sep 2005
- Messages: 142
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonjour,
Pour répondre à Yves, PostGIS possède des fonctions d'interpolation de linéaire qui obtenir des points d'adresse.
Pour marquer les début / fin de rue et calculer des points d'adresse à répartir sur la base d'un linéaire routier, il me semble que PostGre/PostGIS possède des fonctions appropriées (fonctions LINE_LOCATE_POINT, LINE_INTERPOLATE_POINT, LINE_SUBSTRING, ...).
Cordialement
Julien Muraz
Hors ligne
#4 Fri 26 October 2007 14:23
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonsoir Vincent,
Les geocoders que tu cites exploitent leur propre base de données, Geopy permettant de les interroger tous facilement.
Mais pour exploiter ta BD voirie, tu dois en effet faire un petit geocoder. La difficulté n'est pas dans la localisation d'un point le long d'une ligne dont le principe est :
- recherche des tronçons correspondant aux nom + ville de mon item à géocoder
- recherche parmi ces tronçons de ceux dont les numéros du rue encadrent l'adresse de mon item
- interpolation linéaire entre les extrémités et le point à positionner en fonction de son adresse.
Donc pour cela, en quelques lignes de php ou autre, c'est facile.
La difficulté se situe généralement en amont, dans l'interprétation de l'adresse soumise. Si tes items sont correctement adressés, reprenant les mêmes libellés que ta BD voirie, ce sera facile. Si par contre cela
provient d'une saisie utilisateur, ou d'une base client quelconque, on peut présager de beaucoup de différences dans les orthographes, la structuration de l'adresse etc. Il faudra donc prévoir dans ce cas un
programme de rectification des adresses, capable de faire correspondre les libellés des adresses de tes items à géocoder à ceux des adresses de ta BD voirie. J'ai un petit script qui fait ça. Il n'est pas sans
défaut, mais si ça peut t'aider, dis le moi.
Bonne soirée
--
Guillaume SUEUR
Hors ligne
#5 Fri 26 October 2007 14:24
- jmz
- Participant actif
- Lieu: Anthon
- Date d'inscription: 5 Sep 2005
- Messages: 142
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonjour,
GeoPy permet d'accéder depuis le language Python aux services de géocodages de Google, Yahoo, Virtual earth, Geonames et autres. Si les données de ces services ne comprennent que la capitale du Chili, il ne vous sera alors d'aucune utilité.
Pour SRC OpenSource Explorer Geocoder, leur site internet mentionne que l'adressage ne couvre que le territoire des USA : donc pas intéressant non plus dans votre cas.
A mon sens, la solution passe donc forcément par la mise en place de vos propres données (collecte, préparation, intégration dans un service de géocodage et exploitation).
1. Pour la collecte des données, on peut voir les fournisseurs susceptibles (TeleAtlas, Navtech, etc ...) d'avoir des données qui conviennent sur votre zone, les fournisseurs de données OpenSource éventuellement, la saisie ou récupération chez des entreprises ou services chiliens, ... ou un mélange de tout ça ...
2. Pour la mise en place, il faudrait disposer d'un SGBD qui implémente un modèle de données et des fonctions de géocodage, afin d'y intégrer vos données, et les exploiter.
A ce titre, notons que le SGBD Oracle implémente un modèle/fonctions spécifiques pour le géocodage, notons également que l'on peut télécharger facilement les Setup pour Oracle (à des fins de test), et q'une partie de ce SGBD est distribué sous licence libre (à vérifier, je crois que c'est Oracle Locator, mais contient-il la partie geocodage).
Le SGBD PostGreSQL/PostGIS dispose également de telle fonctionnalités, via PostLBS. Le service de Géocodage semble pour l'instant spécifique au Japon, mais il peut être intéressant de fouiller de ce coté là et de se tenir au courant des évolutions.
Pour finir, je pense qu'il n'est pas nécessaire de développer un geocodeur en partant de rien, car des choses existent déjà (Oracle, PostGIS, ...). Par contre, il est nécessaire de disposer d'un bon jeu de données, c'est là tout le problème.
En espérant vous avoir éclairé.
Cordialement
Julien Muraz
Hors ligne
#6 Fri 26 October 2007 23:08
- Gwenael Bachelot
- Participant assidu
- Lieu: Bureau Autodesk : Paris 12ème
- Date d'inscription: 5 Sep 2005
- Messages: 608
- Site web
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonsoir,
A ce titre, notons que le SGBD Oracle implémente un modèle/fonctions spécifiques pour le géocodage, notons également que l'on peut télécharger facilement les Setup pour Oracle (à des fins de test), et q'une partie de ce SGBD est distribué sous licence libre (à vérifier, je crois que c'est Oracle Locator, mais contient-il la partie geocodage).
Le module de Géocodage n'est pas présent dans Locator, uniquement dans Spatial.
Cordialement,
Gwenael
Hors ligne
#7 Mon 29 October 2007 18:14
- vblanque
- Participant occasionnel
- Lieu: Santiago, Chili
- Date d'inscription: 25 Oct 2007
- Messages: 20
Re: Geocodage - Existe-t-il un geocoder libre ?
merci a tous pour vos apports.
j'utilise pour le moment le SGBD est MS SQL Server mais si j'ai bien tout suivi pour implémenter mon "geocoder" le mieux serait de passer sous PostGIS (libre et gratuit).
1 - Je ne comprends pas bien pourquoi les fonctionnalités seraient uniquement dispo pour le Japon ? N y aurait il pas la possibilité de modifier le code pour que l on s adapte a n importe qu elle syntaxe d adresse ?
je posséde la table d'adresses des villes qui m'intéressent en SHP avec type de rue, nom de rue, cote gauche, cote droit, sens, numeros...
2 - La qualité de ces tables etant tres heterogene, j imagine que mes resultats de geocodification seront de pietre qualité ?
@Guillaume SUEUR
Mais pour exploiter ta BD voirie, tu dois en effet faire un petit geocoder. La difficulté n'est pas dans la localisation d'un point le long d'une ligne dont le principe est :
- recherche des tronçons correspondant aux nom + ville de mon item à géocoder
- recherche parmi ces tronçons de ceux dont les numéros du rue encadrent l'adresse de mon item
- interpolation linéaire entre les extrémités et le point à positionner en fonction de son adresse.
3 - Pour éviter de réinventer la roue, existe t il un script ou une librairie qui permettent de realiser facilement ce "geocoder" en s appuyant sur le SGBD PostGIS, par exemple.
4 - J aimerais creer une table des intersections a partir de ma BD voirie, comment dois je m y prendre ?
5 - Pour afficher les polylignes de voirie et les points de lieux publics et sachant que je souhaite avoir comme fond de plan les images satelitales de Google Maps, OpenLayers est elle la meilleure solution ?
Hors ligne
#8 Mon 29 October 2007 19:06
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonjour,
1/ Déjà l'alphabet n'est pas le même Mais si tu te sens de bosser avec eux pour permettre la gestion des autres alphabets vas y ! Mais le problème, comme te la dit Guillaume, c'est la syntaxe : les mots peuvent être tronqués, mal orthographiés (j'ai vu des rues dans Paris orthographié différemment en fonction du fournisseur), etc.
2/ Oui je pense que si les donnes ne sont pas rigoureuse au départ, à l'arrivé ca ne sera pas très bon. Là encore cela dépend de ce que tu entends par de mauvaise qualité
3/ C'est l'objectif de quelques projets, mais ce n'est pas facile (voir 1 et le message de Guillaume)
4/ Regarde la doc du plugin itinéraire de CW ou la doc de pgrouting
5/ C'est une solution parmis d'autres, de très bonne qualité assurement
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
#9 Sat 05 September 2009 04:22
- julien2512
- Juste Inscrit !
- Date d'inscription: 5 Sep 2009
- Messages: 1
Re: Geocodage - Existe-t-il un geocoder libre ?
Bonjour,
Je réponds un peu tard mais bon, c'est pour la forme :
http://adullact.net/projects/jdonref-v2/
Salutations,
Hors ligne