Accéder au contenu.
Menu Sympa

devel - Re: [Moderateurs] Entre agenda !

Objet : devel-adl

Archives de la liste

Re: [Moderateurs] Entre agenda !


Chronologique Discussions 
  • 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']);}


Cordialement,
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




Archives gérées par MHonArc 2.6.18.

Haut de le page