Objet : devel-adl
Archives de la liste
- From: Loïc Dayot <ldayot AT epnadmin.net>
- To: devel AT agendadulibre.org
- Subject: Re: [Moderateurs] Entre agenda !
- Date: Wed, 03 Sep 2014 13:39:24 +0200
Bonjour, Dans la version historique (en PHP), on utilise aussi geocode, et il a fallut bien construire la requête pour obtenir des résultats finalement très honnêtes, car la première tentative était assez mauvaise (en effet 50% de réussite seulement). $address = array('address' => $this->address, 'postalcode' => $this->postalcode, 'city' => $this->city, 'country'=>"France", ); if ($geo = geocode($address)) { list($this->latitude, $this->longitude) = $geo; } else { $this->message .= returnError ("Adresse non reconnaissable, elle ne sera pas prise en compte pour la localisation."); // $error_cnt++; }
function geocode($adresse) { //echo $adresse. "<br/>\n"; $url = "http://nominatim.openstreetmap.org/search.php?format=xml"; foreach ($adresse as $k=>$v) $url .= '&'.$k."=".$v; $xml = simplexml_load_file($url); //print_r($xml); if (! isset($xml->place)) return false; return array($xml->place['lat'], $xml->place['lon']);}
Loïc Dayot. Le 03/09/2014 04:24, Mathieu
Leduc-Hamel a écrit :
Salut ! Merci pour ta réponse !
En fait le problème c'est vraiment le geocoding. Je ne sais
pas de votre côté mais nous les résultat du geocoder de
OpenStreetMaps sont clairement insuffisant. J'ai essayé avant
tout de l'utiliser mais on avait un résultat correct au mieux
50-60% des cas ce qui n'est malheureusement pas suffisant.
Est-ce que vous avez eu une telle expérience ?
Pour l'instant on a opté pour le moins pire des monde soit
Google pour le geocoding et OSM pour le front-end, on a même
pas besoins de leaflet d'ailleurs pour ça au fait :)
Merci et à bientôt !
2014-09-02 19:19 GMT-04:00 echarp <echarpentier AT april.org>:
Bonsoir Mathieu Et plutôt que google maps, il faut bien sûr utiliser openstreetmap. La plus simple et meilleure API _javascript_, pour afficher les cartes, est leaflet. http://leafletjs.com Pour ce qui est du geocode, partir d'une adresse et en obtenir des coordonnées, j'utilise une gemme nommée "geocoder", qui est vraiment pratique, et qui sait utiliser plusieurs services, dont openstreetmap (nommé Nominatim). https://github.com/alexreisner/geocoder Une petite limite: il ne faut pas surcharger le service. Mais a priori demander des coordonnées quand un événement est créé, cela ne devrait pas être trop lourd :) Geocoder est une gemme, qui vient donc de l'écosystème ruby, mais il doit bien exister le même genre de librairie dans le monde python, non? Cordialement -- echarp On Tue, Sep 02, 2014 at 08:45:13AM -0400, Mathieu Leduc-Hamel wrote: > Bonjour à vous ! > > je m'appel Mathieu Leduc-Hamel. Je m'occupe de l'agenda du libre du Québec ! > > Je vous écris car j'ai vue que vous avez vous aussi des cartes présentant la > localisation des événements sur l'agenda. > > Nous avons travailler là-dessus il y a quelques temps et le problème de la > géolocalisation s'est posé. En effet, comment ne pas utiliser Google... :-/ > > Laissez moi savoir si vous des solutions, des idées ! > > -- > Mathieu Leduc-Hamel > PyCon Co-Chair > Senior Developer at Ajah Mathieu Leduc-Hamel
PyCon Co-Chair
Senior Developer at Ajah |
- Re: [Moderateurs] Entre agenda !, echarp, 03/09/2014
- Re: [Moderateurs] Entre agenda !, Mathieu Leduc-Hamel, 03/09/2014
- Re: [Moderateurs] Entre agenda !, Loïc Dayot, 03/09/2014
- Re: [Moderateurs] Entre agenda !, echarp, 03/09/2014
- Re: [Moderateurs] Entre agenda !, Loïc Dayot, 03/09/2014
- Re: [Moderateurs] Entre agenda !, Mathieu Leduc-Hamel, 03/09/2014
Archives gérées par MHonArc 2.6.18.