[technique] YunoSeeMe: Une application pour faire des profiles d'altitudes entre deux points

Florian Morgan florian.morgan at gmail.com
Lun 13 Juil 15:45:52 CEST 2015


Hello,

Quelques news sur l'appli :
La génération d'images (png) est dispo. Le script profile_graph.py et le
serveur profile_server.py sont capable de générer des images. Un exemple
ici : http://postimg.org/image/s1f7w0gj3/.
C'est toujours le même profile (entre pech david et le ratelier). On peut
bien voir sur l'image qu'il va y avoir un soucis pour relier les deux sites
:)

Si vous avez des remarques, si quelqu'un a envie de l'essayer et à besoin
d'aide il ne faut pas hésiter à demander.

A+

Florian

2015-07-03 9:47 GMT+02:00 Florian Morgan <florian.morgan at gmail.com>:

> Sur le code actuel pylint me donne :
> 253 lignes de code,
> 165 docstring,
> 34 commentaires et
> 42 lignes vides.
>
> Il m'a aussi sorti un paquet de warnings que je vais corriger rapidement.
> Je suis un newb du python donc je ne connais pas trop les conventions et
> les bonnes pratiques...
> Le 3 juil. 2015 7:57 AM, "Riri B" <richardbaret at gmail.com> a écrit :
>
>> Le mec il développe une ptite appli super utile en 300 lignes, OKLM...
>> Ca part bien et c'est super comme idée :)
>> Richard
>> Le 2 juil. 2015 23:54, "Florian Morgan" <florian.morgan at gmail.com> a
>> écrit :
>>
>>> Bonjour à tous,
>>>
>>> J'ai commencé à développé une application pour pouvoir faire des
>>> profiles d'altitudes (un peu comme heywhatsthat).
>>> L'idée de base est de prendre deux coordonnées GPS et de générer quelque
>>> chose qui ressemble à ça :
>>>
>>> ​Cela représente un profile (vue en coupe) de l'altitude (niveau au
>>> sol) entre les deux points, avec le trait droit représentant la "ligne de
>>> vison" entre ces points.
>>>
>>> Actuellement ce service existe et est rendu par
>>> http://www.heywhatsthat.com/. Le "problème" avec heywhatsthat est qu'on
>>> a pas accès aux données brutes (liste des altitudes).
>>> C'est pour ça que je souhaite développer un programme pour avoir les
>>> données brutes et éventuellement "ajouter" de l'intelligence dessus.
>>>
>>> L'objectif par rapport à tetaneutral est de pouvoir entrer une
>>> coordonnées GPS avec altitude (par exemple la position de ma maison avec la
>>> hauteur au niveau de mon toit) et de calculer tous les profiles possibles
>>> entre cette position et les antennes déjà existantes du réseau.
>>> Ensuite à partir du profile on pourra attribuer une note qui donnera la
>>> "qualité" possible de la liaison. On pourrait ainsi plus facilement choisir
>>> une antenne ou une autre pour faire relai.
>>>
>>> Actuellement j'ai codé une petite appli en python (environ 200-300
>>> lignes de code, ce qui est peu).
>>> Le résultat est :
>>>
>>> $ ./profile.py 43.561725 1.444796 43.671348 1.225619
>>> $HOME/Downloads/EUD_CP-DEMS_3500025000-AA.tif
>>> elevation profile between coordinates 43.561725, 1.444796 and 43.671348,
>>> 1.225619 is
>>> [{'lat': 43.561725, 'distance': 0.0, 'elevation': 226.31865, 'long':
>>> 1.444796, 'overhead': 0.0}, {'lat': 43.56193910742188, 'distance':
>>> 41.88788248425599, 'elevation': 224.31079, 'long': 1.444367919921875,
>>> 'overhead': 0.0703612706860941}, ...]
>>>
>>> J'ai tronqué le tableau résultant qui fait ~500 points.
>>>
>>> Le tableau renvoyé correspond à la liste des
>>>  - latitudes
>>>  - distances depuis le point de départ
>>>  - altitudes
>>>  - longitude
>>>  - correction par rapport à la courbure de la terre
>>> entre les deux points entrés en paramètre.
>>> Tracé en graph à partir de Numbers (OS X) ça donne :
>>>
>>> ​Le trait bleu correspond aux altitudes "brutes", le trait vert
>>> représente la courbure de la terre entre les deux points et enfin le trait
>>> jaune correspond à la somme des deux.
>>>
>>> Pour info, les points correspondent à Pech David (départ) et le Ratelier
>>> (arrivée), un restaurant du côté de la forêt de Bouconne.
>>>
>>> Pour y arriver, je suis parti d'une carte DEM publique (le fichier
>>> *EUD_CP-DEMS_3500025000-AA.tif* passé en ligne de commande) provenant
>>> de l'agence européene de l'environnement résultant du programme Copernic (
>>> http://www.eea.europa.eu/data-and-maps/data/eu-dem). La carte
>>> représente une grosse partie de la France (un peu tronqué au nord) et a une
>>> résolution de 25m au niveau de la surface.
>>> Cette carte est censée représenter le niveau du sol au point demandé en
>>> mètres.
>>> Pour info, la carte utilisé par heywhatsthat est la carte américaine
>>> SRTM qui a une définition de 90m environ (donc beaucoup moins précise).
>>> Ces cartes sont souvent les cartes utilisées par Google Maps et autres
>>> pour fournir le même genre de service. L'idée dans mon cas est d'avoir une
>>> appli offline sans aucune dépendance.
>>>
>>> Pour cet exemple, le programme python met ~ 900ms pour générer la liste
>>> des points sur mon ordi portable, ce que est largement acceptable pour moi.
>>> ça serait probablement plus lent sur un Raspberry Pi ... Des optimisations
>>> sont surement possibles ...
>>>
>>> Actuellement il manque :
>>>  - la ligne de vue entre les deux points à partir d'altitudes spécifiées
>>> aux points de départ et d'arrivée.
>>>  - le "score" : Cette partie là est plus compliquée, ça consisterait à
>>> donner une note au profile pour qualifier la "qualité" de la ligne de vue.
>>>
>>> Le code est dispo sur le dépot GitHub suivant :
>>> https://github.com/superbob/YunoSeeMe
>>>
>>> Il y a un README avec des infos sur comment exécuter le programme.
>>>
>>> Qu'en pensez-vous ?
>>>
>>>
>>> _______________________________________________
>>> technique mailing list
>>> technique at lists.tetaneutral.net
>>> http://lists.tetaneutral.net/listinfo/technique
>>>
>>>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20150713/ddaceb4c/attachment.htm>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: profile-curvature2.png
Type: image/png
Taille: 77239 octets
Desc: non disponible
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20150713/ddaceb4c/attachment.png>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: profile-0904.png
Type: image/png
Taille: 1904 octets
Desc: non disponible
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20150713/ddaceb4c/attachment-0001.png>


Plus d'informations sur la liste de diffusion technique