[osmtl] La facon la plus simple de calculer un BBox ?

Mathieu Leduc-Hamel marrakis at gmail.com
Mar 12 Aou 12:28:22 EDT 2014


Eh bien je cherchais une acon de calculer le bouding une fois pour
toute et il semblerait que la methode plus simple ne fonctionne pas
tres bien... j'obtenais une fenetre vide...

Mais j'ai trouvé comment le calculer en radiant et ensuite en le
retransformant en degré !

Le code ce trouve ici:

https://github.com/mlhamel/agendadulibre/blob/516ad283ef3788170b10e1305023067e1dd75978/agenda/lib/bbox.py

Et Maintenant l'Agenda du libre a une super fenètre OpenstreetMap avec
un marqueur montrant la localisation de l'événement:

Quelques exemples:

http://www.agendadulibre.qc.ca/event/978/
http://www.agendadulibre.qc.ca/event/958/

Par contre ca marche pas toujours on dirait (oups)....

http://www.agendadulibre.qc.ca/event/954/

Et puis ensuite, il a les lieux qui n'ont pas d'adresses:

http://www.agendadulibre.qc.ca/event/977/

Il faudrait pouvoir permettre au gens de sélectionner sur une carte,
Est-ce quelqu'un a déjà fait ça avec OpenstreetMap ?

2014-08-11 18:26 GMT-04:00 Peuc <peuc at wanadoo.fr>:
> Le 11/08/2014 17:44, Mathieu Leduc-Hamel a écrit :
>
> Des suggestions sur comment calculer cela le plus facilement ?
>
> Salut Mathieu,
>
> Voilà comment je procéderais pour afficher Montréal dans une iframe d'OSM
> (les coordonnées x sont [-73.634,45.531])
>
> Le plus simple, c'est de faire appel à ton iframe, en mettant deux fois les
> mêmes paires de coordonnées :
>  -
> [...]src="http://www.openstreetmap.org/export/embed.html?bbox=-73.634,45.531,-73.634,45.531&layer=mapnik"[...]
> Conceptuellement, c'est faux, puisque ta bounding box est de taille 0.
> Néanmoins, le site d'OSM le gère correctement en centrant bien sur ce point,
> au niveau de zoom maximum. Je n'ai pas été voir le code source, mais je
> suppose que c'est le code qui adapte la bbox au rapport longueur/hauteur de
> l'iframe qui permet ça, ça ne doit donc pas être un hack trop moche.
>
> - Si tu veux avoir un niveau de zoom plus faible, tu peux aussi faire un
> calcul sur tes coordonnées pour que ton point se trouve autour de ta bbox.
> En mettant un offset de -0.1 - 0.1 à nos coordonnées on a donc :
> Haut-gauche de la bbox : y1 = x1 - 0.1 = -73.734 ; y2 = x2 + 0.1 =45.631
> Bas-droit de la bbox : z1 = x1 + 0.1 = -73.534 ; y2 = x2 - 0.1 =45.431
> [...]src="http://www.openstreetmap.org/export/embed.html?bbox=-73.734,45.631,-73.534,45.431&layer=mapnik"[...]
> Avec un offset de 0.1, tu obtiens un zoom qui correspond à l'échelle d'une
> ville, en gros.
>
> La seconde solution est un peu plus complexe, mais elle est aussi beaucoup
> plus souple.
>
> Pierre
>
>
> _______________________________________________
> montreal mailing list
> montreal at listes.osmqc.ca
> http://listes.osmqc.ca/listinfo/montreal
>



-- 
Mathieu Leduc-Hamel
PyCon Co-Chair
Senior Developer at Ajah


More information about the montreal mailing list