Comment dessiner et visualiser des cartes personnalisées basées sur des données OSM?

35

J'aimerais pouvoir utiliser les données openstreetmap pour une région spécifique comme source et en "tirer" la carte des améliorations à apporter à l'infrastructure - principalement les routes.

Je veux que ce soit auto-hébergé (sans gâcher aucune donnée sur les vrais serveurs OSM), je veux avoir une assez grande flexibilité et un niveau de détail dans le processus d'édition et il serait bien de pouvoir le restituer de manière élégante.

Je ne connais pas beaucoup de logiciels SIG. En réalité, il n’est pas très important d’avoir des données OSM comme source, cela pourrait aussi être une image satellite. Les choses importantes - dessin flexible lié aux coordonnées réelles et visualisation de la carte.

Où pourrais-je commencer?

J'espère que cette question a un sens ici :)

arconaut
la source
Quelle plateforme regardez-vous? Pouvez-vous utiliser Google Maps pour dessiner des formes?
Jared Updike
Jared, voulez-vous dire la simple interface "Mes cartes" de Google Maps? Ce n'est pas assez pour moi :) J'ai besoin de beaucoup plus de détails. Ou voulez-vous dire autre chose?
arconaut
Pour quelle partie du monde voulez-vous faire cela? Il existe de nombreuses données routières dans le domaine public, dans certaines parties du monde.
djq

Réponses:

16

Le type de données XML OpenStreetMap .osm peut être analysé et restitué dans un certain nombre de packages logiciels. Pour un tiroir de tuiles de carte personnalisé quelque peu clé en main, je suggère: http://tiledrawer.com - un produit qui utilise le logiciel EC2 d'Amazon et par Michal Migurski - qui fournit d'autres pointeurs dans ce fil :)

Vous pouvez également consulter "Construire votre propre serveur OpenStreetMap" http://weait.com/content/build-your-own-openstreetmap-server Il utilise une pile Ubuntu 10.04 / PostGIS / Mapnik.

Bien sûr, veuillez regarder la licence OpenStreetMap avant de construire. http://wiki.openstreetmap.org/wiki/OpenStreetMap_License .

Glennon
la source
Merci, je suis tombé sur TileDrawer moi-même une fois, mais si je comprends bien, j'ai besoin d'une instance Amazon EC2 pour cela. Je ne veux pas faire ça pour l'instant, peut-être que je suis trop paresseux :)
arconaut
J'ai lu que vous pouvez exécuter l'image EC2 sur votre propre machine à l'aide de VirtualBox.
James
Le site Web de Tiledrawer a été abandonné, le dépôt Github est toujours là, mais il est également inactif: github.com/migurski/Tile-Drawer (voir aussi dans le Wiki OSM )
chrki
11

J'ai trouvé exactement ce dont j'avais besoin: Maperitive . Cette application peut charger des données OSM (* .osm peut être enregistré par JOSM fi) et restituer de belles images sur la base de règles très flexibles et personnalisables.

arconaut
la source
J'ai constaté que Maperitive se bloque si j'essaie de charger un fichier .osm.bz2 ou même un fichier .osm.pbf. Les fichiers que j'ai essayés font environ 185 Mo, donc rien de la taille du fichier planet.osm.bz2 (19 Go!) Dont j'ai vraiment besoin. Comment avez-vous chargé les fichiers?
Drew Noakes
Drew, je pense que je n'ai essayé que des zones beaucoup plus petites.
arconaut
Maperitive est une source fermée, construite sur .Net, ne fonctionne pas sur Linux. Mais il a définitivement un avantage sur Mapnik: un style plus facile.
Vanuan
3
Je suggère TileMill comme une alternative open source.
Vanuan
9

Deux possibilités, selon la quantité de données OSM que vous souhaitez modifier.

L'une consiste à héberger votre propre serveur OSM, avec une copie des données que vous pouvez modifier librement. Le logiciel utilisé est "Le port Rails". Vous pouvez le trouver ici: http://wiki.openstreetmap.org/wiki/The_Rails_Port

Une autre consiste à utiliser la cartographie en mosaïque d'OSM comme arrière-plan pour vos propres données. Je ne suis pas vraiment qualifié pour répondre à cette question, mais vous constaterez peut-être que des outils tels que QGIS (http://www.qgis.org) peuvent permettre de tracer de nouvelles formes basées sur une carte de base OSM.

Michal Migurski
la source
8

La création de la carte est divisée en plusieurs étapes:

  • entrer les données géographiques (qui sont des points, des lignes et des polygones avec les balises appropriées)
  • style (spécifiez l'apparence de la fonction sur la carte)
  • rendu dans une image matricielle (transformez les données géographiques et le style en image à l'aide d'un logiciel de rendu)

Vous voudriez un outil qui fait toutes les bizarreries derrière une interface utilisateur facile à utiliser. Mais malheureusement, il n’existe pas d’outil de ce type (espérons-le, il y en aura). Donc, vous devez choisir un outil dédié pour chaque étape.

J'utilise la combinaison suivante d'outils / workflow:

Entrée / téléchargement des géodonnées

  • Éditeur JOSM :
    • télécharger une carte depuis le serveur osm
    • éditer une carte
    • téléchargez vos modifications sur le serveur osm (pourquoi ne partagez-vous pas votre travail?)
    • enregistrer une carte dans un fichier * .osm
  • PostGIS / osm2pgsql
    • mettre à jour le fichier de style d'importation si nécessaire
    • importer une carte sur le serveur local

Si vous ne souhaitez pas partager votre travail, vous pouvez configurer le serveur OSM local et le faire fonctionner avec JOSM (l'enregistrement d'une carte dans un fichier * .osm et l'utilisation de osm2pgsql sont inutiles). Soyez conscient de la licence si vous utilisez une partie des données OSM.

Coiffant

Le style comprend deux étapes:

  • couches d'installation / source de données
  • personnaliser les lignes / poligons / points / la sortie de texte.

Il existe deux formats pour styler une carte: un fichier de style "brut" mapnik et CartoCSS.

  • Mapnik est une bibliothèque de rendu qui alimente le site OSM.
    • Configurer et éditer un fichier de style mapnik
    • ouvrez le fichier de style dans le visualiseur mapnik

Il est difficile d’éditer un fichier de style Mapnik "brut", et CartoCSS une alternative plus simple. CartoCSS (anciennement Cascadenik) est convertible en fichier de style mapnik. Tilemill est un outil que j'utilise pour éditer / prévisualiser CartoCSS.

  • Tilemill .
    • Style / prévisualiser votre carte dans tilemill
    • exporter vers un fichier mapnik * .xml.

Le rendu

  • Script python personnalisé pour mapnik
    • Mise à jour du cadre de sélection / niveau de zoom / taille
    • rendre la carte en fichier * .png.

[Facultatif] Apportez votre carte en ligne

Bien sûr, vous pouvez simplement utiliser un gros fichier * .png pour votre carte, mais imaginez combien de temps cela prendrait pour le télécharger! Donc, vous divisez votre carte en tuiles à différents niveaux de zoom.

  • Tilemill -> Mapnik -> MBTiles -> Mapbox

    • Vous pouvez mettre votre carte en ligne en utilisant Tilemill et MapBox.

Malheureusement, pour mettre à jour votre carte en fonction des nouvelles modifications OSM, vous devrez toujours la télécharger et la restituer localement.

Donc, il y a une meilleure solution: CartoDB. CartoDB prend en charge CartoCSS. Avec cela, vous n'avez rien besoin d'installer localement. Importez simplement vos données dessus, stylisez avec CartoCSS et cliquez sur le bouton Partager. Il existe cependant une limite de taille de base de données gratuite. Mais comme il est open source, vous pouvez l'héberger vous-même. Il existe une autre limitation: vous ne pouvez visualiser que des points, des lignes ou des polygones.

PS

Chaque outil a ses propres limites, alors essayez d’expérimenter.

Vanuan
la source
3

Si vous cherchez un bon éditeur de carte personnalisé, jetez un coup d'œil à OCAD , il s'agit d'un logiciel de dessin de carte professionnel. Une ancienne version est disponible gratuitement sur la page de téléchargement.

OSM n'est pas spécialement pris en charge, mais vous pouvez toujours utiliser une image exportée à partir de OSM en arrière-plan.

Jonas
la source
3

Il existe une option plus simple pour vous permettre de jouer avec les données Open Street Map au format OSM. Vous pouvez essayer FME à partir de Safe Software (www.safe.com)

Pour plus d'informations, consultez le support OSM ici: http://blog.safe.com/2010/03/sharing-your-data-on-openstreetmap/

J'ai utilisé FME à plusieurs reprises pour créer des ensembles de données de démonstration pour la formation de ma région à l'aide de données FME et OSM.

~ SRG

SRG
la source
3

Les mosaïques OSM par défaut sont au format "mosaïque Google", elles sont appelées Tile Map Service (TMS). Pour le moment, vous ne pouvez pas utiliser QGIS for TMS. Mais vous pouvez accéder au système WMS dérivé OSM en consultant un autre service tiers. Certains sont liés ici: http://wiki.openstreetmap.org/wiki/WMS#Public_WMS_Servers

maning
la source
1
Vous pouvez utiliser le plug-in OpenLayers ( github.com/sourcepole/qgis-openlayers- plugin ) dans QGIS pour extraire des mosaïques OSM.
mattwigway
2

Vous pouvez utiliser l'éditeur de styles de Cloudmade (branche commerciale de OSM)

Gratuit pour vous inscrire et utiliser en tant qu'individu.

Avec une très bonne interface utilisateur, vous pourrez créer votre propre style de carte. Lorsque vous avez personnalisé votre carte avec vos couleurs, etc., vous pouvez l’utiliser pour intégrer ou créer un lien vers la page avec votre carte personnalisée.

Voir l'article du blog http://mapperz.blogspot.com/2009/03/cloudmade-map-editor.html (d'autres mises à jour disponibles).

Mapperz
la source
Cloudmade ne fait pas partie d'OpenStreetMap: CloudMade fait-il partie d'OpenStreetMap?
scruss
1

Les cartes OSM officielles sont stylées avec TileMill et rendues avec Mapnik. Les deux outils sont extrêmement puissants et flexibles. Ce qui est bon pour OSM, devrait être bon pour vous!

Malheureusement, la procédure d'installation de TileMill est compliquée, du moins si vous souhaitez restituer des données OSM. Il existe de nombreuses descriptions pour Ubuntu ou Mac , mais les commentaires dans les forums montrent que la procédure est délicate sous Windows.

Vous trouverez une description détaillée du rendu de carte avec TileMill sous Windows dans le wiki de TopoMapCreator .

Il suit la procédure classique:

  • Étape A: Téléchargement et installation du logiciel requis (principalement une base de données Postgresql / PostGis)
  • Étape B: Télécharger et importer des données OSM dans la base de données
  • Étape C: Téléchargement et traitement des polygones de terrain
  • Étape D: Création d'un projet TileMill
  • Étape E: Styliser et exporter la carte avec TileMill

Plus d'informations sur le wiki de TopoMapCreator .

Günter Schmudlach
la source
1

Une autre façon de créer des cartes personnalisées avec des données OSM consiste à utiliser la bibliothèque Mapsense.js et les mosaïques vectoriels Mapsense Earth. Il y a une interface utilisateur pour choisir les couleurs sur http://styler.mapsense.co/ et des démonstrations montrant les fichiers css et javascript sur developer.mapsense.co/examples/

Un avantage d’une API comme celle-ci est que vous pouvez ajouter tout ce que vous voulez avec javascript / d3 (imagerie satellite, autre géo / topojson, etc.).

Divulgation complète: je travaille chez Mapsense. :)

jmk
la source
0

Si vous voulez simplement créer une image de carte statique, vous pouvez cocher cette case pour créer un fichier inkscape .svg à partir de .osm, mais c'est un peu lent. Vous pouvez ensuite ouvrir le fichier .svg, ou si vous voulez le convertir en un autre format (png?) Ou même le charger dans un studio 3d ou Blender:) ...

(En outre, JOSM semble avoir un plugin qui fait osmarender, mais je n'ai pas réussi à l'exécuter une fois où j'ai essayé ...)

ntg
la source