Simplifier une carte OSM pour android en Offline.

Bonjour,

J’ai un projet qui consiste a utiliser Open Street Map pour générer des cartes de pays et celle du monde. Les seuls informations visible sur ces cartes doivent être les délimitations des pays (donc pas de route, maison, fleuve, et.). Mais j’aimerai appliquer aux map un style particulier.

Ensuite, j’aimerai pourvoir en JAVA (eclipse) ajouter a ces cartes des Marker/Texte/images à des latitudes/longitudes.
Le but sera de les charger par Android et je doit pouvoir Zoomer/Dezoomer sur les cartes, cliquer sur les marker etc.

Je me suis renseigner au près de google, et voila ce qu’il ma dit : utilise mapnik, josm, PostGIS, Osmosis. Mais cela me semble pas très adapter a mes besoins…

Je pensais extraire du .osm les cartes allégées, appliquer un style puis les enregistrer.
Ensuite ouvrir chaque carte et ajouter quelque marker (sous android/Eclipse).
Charger dans un format X la map sous android et pouvoir effectuer les manipulations classique : slide, zoom, clic sur marker.

Je recherche donc les lib/tutorials/exemple pour créer ces map et les lire (en offline) via android.

Merci de votre aide.

Comme je le comprends, voilà ce que je ferai :

  • génération de tuiles avec mapnik avec un style qui n’affiche que ce que tu veux
  • faire une application en java avec les geotools qui affiche ces tuiles et des marqueurs en plus

Je n’ai pas assez joué avec les geotools en java pour savoir si c’est simple à faire, mais sinon avec openlayers (html+javascript) ce serait relativement simple.
Note, c’est tout à fait possible de faire une appli locale avec openlayers qui chargerait les tuiles depuis un répertoire local.

A propos des données : si ton besoin c’est uniquement les contours des pays et c’est tout, alors je crois qu’OSM n’est pas la bonne solution : passe plutôt par Natural Earth pour les données.

Pour la partie logicielle, pas d’avis !

@NicolasDumoulin,

Si j’ai bien compris,

Avec mapnik :
1 - je charge le .osm.
2 - J’applique un style.
3 - Je sauvegarde sous forme de tuiles (il n’est pas possible de ne conserver que un fichier .X ?)

En java :
1 : J’install GeoTools
2 : je traite les tuiles (ou le fichier .X)
3 : J’ajoute des marker (layer etc)
4 : j’exporte au format lisible par android (quelle est le meilleur ?)

SDK Android :
1 : j’install le bon SDK (le quelle ?)
2 : je charge le fichier map avec les marker
3 : je met en place les fonctionnalités.

Par contre j’aurai besoin que l’on me conseil niveau sdk/framework/lib.
Je fait des recherches sur google mais les sujet de discution date de 2010… Je suis perdu a travers toutes les informations (lol)

Merci :slight_smile:

@Damouns :
Merci c’est vraiment l’idée. Je souhaite obtenir ce type de map. Mais j’aurai bien aimé maîtriser le sujet (les bases…) de traitement de fichier .osm^^^
ET éventuellement faire évoluer mon projet…

Je me posait aussi une question, faut il charger le .osm en base de donnée ou, une version finale (sans route, etc…) peut être directement lu en java ?

Merci pour votre :slight_smile::slight_smile:

Salut,

Ne te formalise pas trop sur le format de fichier. Et ne te focalise pas sur le fichier osm : des données osm peuvent être converties dans des formats plus répandus, et plus pratiques pour l’utilisation dans d’autres applications.

Je pense au format shapefile (shp) et au format SVG, qui peuvent être produits à partir de données osm.
Comme Damouns, j’ai l’intuition que dans ton cas il vaut mieux rester sur du vectoriel.

La source NaturalEarth qu’il a évoquée ne provient pas de données osm, mais le type de format est shp.
Le gros intérêt est d’avoir des contours déjà simplifiés, quand osm cherche la précision, ce qui donne des contours “bruts” très ciselés.
Dans ton cas, cela va plutôt te compliquer la tâche.
Note qu’il y a des données shapefile disponibles pays par pays et fabriquées à partir des données osm.
http://wiki.openstreetmap.org/wiki/Shapefile#Download_pre-made_shapefiles

Pour finir, regarde du côté de Kartograph. C’est un projet qui démarre, mais qui est très prometteur
http://kartograph.org/

@Ab_fab : Parfait, je vais faire quelque exemple pour essayer de comprendre ^^
Merci :slight_smile:

Re bonjour,
Finalement je suis noyé par les liens et les choix possible. Je suis désolé de vous embêter et de devoir vous demandé encore de l’aide.

Natural Earth Vector est dont la solution que je tient, merci beaucoup.

Par contre, et la je reste totalement perdu, quelles outils qui me permettent de générer la map avec le bon style ? (tel que http://kartograph.org/showcase/italia/)
J’aimerai aussi n’afficher que certaine ville, c’est a dire ne pas de voir le définir via un éditeur mais plus tôt par le biais d’une configuration (voici les 100 villes avec leur latitude et longitude, affiche les moi a l’écran et rend moi la province dans une couleur différent).
J’ai téléchargé le fichier natural_earth_vector de 238mo : la full version (au cas ou…)

D’atre par j’aimerai pouvoir ouvrir la map sous un mobile android, zoomer sur un pays, une province et affecter une action sur une ville. C’est a ce niveau que je suis totalement perdu.

En faite je n’arrive pas a visualiser les procédures a suivre.

Merci encore pour votre aide.

Salut,

Quelques pistes pour utiliser Kartograph afin de produire du SVG à partir de données OpenStreetMap
https://github.com/kartograph/kartograph.py/wiki/Rendering-SVG-maps-from-OpenStreetMap-data

Une autre, concernant la simplification des géométries
https://github.com/kartograph/kartograph.py/wiki/Geometry-Simplification

Le reste du wiki de Kartograph est ici :
https://github.com/kartograph/kartograph.py/wiki/_pages

Pour ce qui est de la gestion d’images SVG sous Android, n’étant pas développeur pour un sou, je n’ai aucune idée de la manière de procéder.

Bonne journée

Merci Ab_fab, je m’étais mit de coté le traitement des osm pour favoriser le dev Android.

Finalement tu me redonnes un coup de boost^^