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

Baptiste Jonglez baptiste at bitsofnetworks.org
Lun 3 Oct 23:51:01 CEST 2016


Salut,

Je relance le thread, parce qu'on en discutait par ailleurs.

Je ne sais pas si c'était le cas à l'époque, mais le site Geoportail
propose la même fonctionnalité de calcul de profil d'altitude :

- https://www.geoportail.gouv.fr/carte
- bouton « clé à molette » à droite
- menu « Mesures »
- « Établir un profil altimétrique »
- cliquer sur la carte, double-cliquer pour le dernier point

Après, ça n'enlève rien à l'intérêt de YunoSeeMe, ça peut être pratique vu
que c'est offline (et au passage, ça utilise des données libres et c'est
réutilisable).

Baptiste

On Thu, Jul 02, 2015 at 11:54:10PM +0200, Florian Morgan wrote:
> 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 autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 801 octets
Desc: non disponible
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20161003/ea8e0d8c/attachment.sig>


Plus d'informations sur la liste de diffusion technique