Utiliser des fonds de carte dans un démonstrateur commercial

Bonjour,

Je développe un démonstrateur qui est comme un jeu 2D dans lequel s’affrontent des attaquants (avions de chasse, hélicoptères, drônes armés) et
des défenseurs terrestres armés de missiles.

Pour le rendre plus réaliste, j’aimerais utiliser les fonds de carte d’openstreetmap comme fond d’image du jeu.

Je n’ai pas besoin des résolutions les plus fines mais d’un mappage de la France depuis une échelle assez large, image comprenant toute la France,
jusqu’à une échelle avec des images de 20km par 20km, au-dessous les avions défileraient trop vite sur l’écran.

Par ailleurs, aux plus petites échelles, je n’ai pas besoin de tous les détails.
Puisque mon objectif n’est pas ici de présenter des cartes, il ne faut pas
non plus que trop de détails rendent peu lisibles le démonstrateur.

Est-il possible de récupérer un mappage de la France en png comme cela ?
à différentes échelles ? et éventuellement en enlevant certains détails ?

En vous remerciant pour votre attention

Bien cordialement

Je vais plutôt essayer de télécharger les données brutes et générer mes propres png.

Est-ce que vous connaissez un moyen simple pour faire cela ?

Je voudrais aussi pouvoir enlever des détails et notamment tous les noms
qui apparaissent sur la carte, comment je peux faire cela ?

A partir du moment où tu prends des données brutes et que tu fabriques ton PNG, tu es maître de ce qui est visible ou pas.

La stack classique de génération de fond de carte est peut être un peu trop lourde pour ton besoin, mais elle est documentée ici: Serving Tiles – Switch2OSM

Ce n’est pas la seule option, c’est juste la plus classique.

Merci pour votre réponse.

Je vais voir si « maperitive » répond à mon besoin.

Cordialement

C’est une autre option, ainsi que QGis.

Tout dépend de l’emprise nécessaire, si elles est limitée ou pas.

Bonjour,

Merci pour votre réponse.

J’ai abandonné l’idée d’utiliser maperitive parce qu’il ne peut pas gérer tout un pays.

Je m’oriente vers la solution osm wiki : créer ses propres tuiles avec mapnik.

J’ai téléchargé les données brutes « France » depuis geofabrik et je les ai importées dans une base de donnée.

Avant de générer les tuiles, j’aimerai configurer le process pour qu’il enlève certains détails des cartes : tous les noms de lieux, de route et éventuellement d’autres choses (j’affinerai en fonction du rendu).

Mais je ne sais pas où configurer cela. Savez-vous où je dois intervenir pour
filtrer certains détails ? dans mapnik ?

En vous remerciant pour votre aide

Bien cordialement

Donc ça revient à ce que je décrivais sur switch2osm.

C’est au niveau de la feuille de style (le XML pour mapnik) qu’on choisit ce qu’on veut faire apparaître sur la carte.

Ce XML n’est pas évident à écrire, donc on le génère le plus souvent à partir d’un autre format, le cartocss.
Un outil bien adapté pour mettre ça au point c’est kosmtik.

Tu peux partir d’un style existant, et retirer les couches qui font apparaître les noms. C’est sûrement le plus simple.

Merci pour votre réponse.

J’ai installé kosmtik sur debian bulleye, cloné le dépôt openstreetmap-carto,
puis j’ai démarré kosmtik avec le project.mml du dépôt. Le projet pointe bien
sur la bonne base de donnée pgsql

rien ne s’affiche, il y a l’erreur :

Postgis Plugin: ERREUR: la colonne « tags » n’existe pas
LINE 9: …ASE WHEN « natural » IN (‹ mud ›) THEN « natural » ELSE tags->'wet…

qui semble venir du fichier project.mml

Il faut voir comment la base a été importée par osm2pgsql et si « tags » manque, c’est sûrement que les tags supplémentaires n’ont pas été stockés en hstore.

C’est l’option --hstore qui doit manquer à l’import.

C’est un puzzle à plusieurs pièces, elle ne s’emboitent que si tout est d’équerre sur chaque étape.

Bonjour,

Merci pour l’info, je vais retenter.

Effectivement, je fais l’expérience que le chemin vers ses propres tuiles
est un peu pénible : entre les options à ne pas oublier, la mise en place d’une base de données postgre, kosmtik qui ne voulait pas s’installer avec « npm » (j’ai dû cloner le dépôt), … j’ai pas mal galéré.

Mais au moins je peux compter sur vous et ce forum, je vous en remercie.

Une fois au bout, je posterai un plan détaillé de tout ce que j’ai fait
pour générer ses propres tuiles, les wiki sur le sujet sont trop peu précis pour qui part de zéro. C’est bien dommage car c’est très sympa de pouvoir générer sa propre carto.

Bien cordialement

Bonjour,

Effectivement, ça marche mieux avec cette option, mais j’ai maintenant l’erreur :

Postgis Plugin: ERREUR: la relation « icesheet_polygons » n’existe pas
LINE 1: SELECT ST_SRID(« way ») AS srid FROM « icesheet_polygons » WHERE…

icesheet_polygons ne fait pas partie des tables de ma base postgresql mais provient de fichiers externes utilisés à petite échelle et listé ici:

Une façon de contourner l’obstacle est de désactiver cette couche dans le .mml, vu que ça ne concerne que les pôles.

Merci,

j’ai finalement résolu ce problème en suivant les étapes données sur switch2osm.

Comment faites-vous pour désactiver une couche dans le fichier .mml ?
Il suffit de commenter la section concernée ?

Cordialement

On peut mettre un « status: off » ou la supprimer carrément :wink:

Merci,

ça marche,

par contre, kosmtik est très lent, il faut parfois plusieurs minutes pour que les tuiles apparaissent
quand je zoome. Est-ce normal ?

J’ai l’impression que kosmtik passe surtout beaucoup de temps à interroger la base de données.
Pourtant, celle-ci se trouve sur un disque SSD, ça devrait être très rapide.

C’est variable en fonction des niveaux de zoom, de la complexité des requêtes et de celle de la feuille de style.

C’est un outil pour développer les styles, pas pour naviguer et oui, certaines metatuiles (8x8) peuvent prendre plusieurs minutes de calcul. C’est pour cela qu’il y a un cache sur les serveurs, car on ne peut pas tout fournir en temps réel !

Merci pour votre réponse.

Je voulais être sûr, j’avais lu que ça pouvait être très lent si la base de données était mal configurée ou qu’il manquait des index dans celle-ci.

Oui, aussi, mais même bien configurée et avec les bons index, ça peut prendre du temps.

Bonjour,

J’ai réussi à enlever presque toutes les indications textuelles.

Il reste des numéros sur certaines routes, le périphérique de Paris je crois (je n’ai pas la carte sous les yeux en ce moment).

Je ne vois pas à quelle section du projet.mml ces numéros correspondent.
Sauriez-vous d’où ces numéros viennent ?

En vous remerciant pour votre attention

Bien cordialement

Ce sont sûrement les numéros des sorties, il faut regarder highway=motorway_junction dans la feuille de style.