Utiliser un .osm sur Arduino ?

Bonjour,

Je cherche à réaliser un projet grâce a une carte arduino qui relèvera grâce a un module GPS la localisation de la voiture de l’utilisateur et qui comparera sa vitesse avec la vitesse limite de la route sur laquelle il se situe.

J’ai donc téléchargé la carte en .osm correspondant à ma ville (ici marseille) sauf que je sais pas comment utiliser ce fichier :unamused:
Je n’ai pas trouvé de librairie gérant les .osm sur arduino et je ne sais pas en quoi je pourrai convertir ce fichier pour pouvoir l’utiliser. Il y aurait-il un moyen d’exporter dans un fichier .txt les coordonnées gps des routes avec leurs vitesses limite ? Pour avoir quelque chose du genre :

"[Latitude;Longitude] - [Vitesse Limite]"

Merci :slight_smile:

Ouille… un .osm sur un Arduino !

Il va falloir faire un GROS filtrage pour ne garder que les infos qui t’intéressent (les routes avec vitesse maxi indiquées).
Vu de l’Arduino tu as de la chance, ce ne sont pas les plus nombreuses, vu de l’utilisateur… il en manquera beaucoup !

Une fois ces infos extraites, il faudra les ranger pour que le code Arduino puisse facilement et rapidement les retrouver, donc avec un index géographique.
C’est pour quelle genre d’emprise ? Une ville, un département, une région, un pays ?

Je possède un module SD pour l’arduino , je peux donc me permettre une certaine marge pour le stockage.

J’ai vu qu’il existait plusieurs logiciels pour extraire des données d’un .osm , mais ces données extraites seront stockées sous quelle extension en sortie ? Comment fait-on un index géographique ?

Ça serait plutôt à l’échelle d’une ville (pour montrer que ça marche , et après peut-être à l’échelle de la france.

Bonjour,

Je ne connais que 2 systèmes libres de gestion des index géospatiaux tout fait pour des données OSM (mais cela ne veux pas dire qu’il n’y en pas d’autres ):

  • Postgis : il s’agit d’une extension de Postgresql, le système de base de données bien connu. Autour de postgis il y a une miriade d’outils pour importer les données .osm dans une base postgis (osm2pgsql, imposm, ogr2ogr,… j’en oublie). C’est pas jouable sur arduino
  • spatialite : extension geo de sqlite. Il y a également des outils pour importer les données .osm dans le fichier sqlite. Beaucoup plus léger, mais toujours trop lourd !


    Pour ton fichier , ca peux se faire rapidement, mais sur quels point lon/lat ? Tous les noeuds constituant les chemins osm ? Mais si tu es sur une route sans trop de points osm (style autoroute avec des belles lignes droites), tu risque de tomber sur les petites route environnantes.
    Je mettrai plutôt dans ton fichier les segments osm (càd 2 points)
"[Latitude;Longitude] - [Latitude;Longitude] - [Vitesse Limite]"

Et puis accéder à ce fichier efficacement nécessite un index spatial.
Vu la faiblesse d’Arduino, je pense comme Christian qu’il faut creuser ton propre format de données en utilisant une bibliothèque de gestion des index spatiaux comme R-Tree.
Trouver les 2/3 segments proches grâce à un R-tree, puis sur ces segments calculer la vraie distance pour trouver le plus proche (et qui ne soit pas à 100 mètres).

C’est jouable !

http://en.wikipedia.org/wiki/Spatial_index#Spatial_index
http://jsi.sourceforge.net/