Comment construire un serveur de tuiles à partir de données Openstreetmap pour débutant?

11

Je suis débutant au SIG et je développe une application Java qui a besoin d'une carte. (La carte serait spécifiquement d'une seule ville aux Philippines.) J'ai recherché différentes façons de le faire et j'ai trouvé que j'aurai besoin d'un serveur de tuiles pour mettre la carte parce que je dois pouvoir y accéder sans le connexion à Internet. Je suis un débutant et la plupart des tutoriels que j'ai vus ont été compliqués et comportent des étapes que je ne sais pas encore faire. Est-ce que quelqu'un connaît des tutoriels ou peut m'aider à créer le serveur de tuiles étant donné que je suis un débutant dans ce domaine?

meebee
la source
Doit-il être en Java?
RK

Réponses:

9

Il existe un très bon site Web pour les débutants sur le monde d' OpenStreetMap, axé sur les personnes provenant d'autres services de cartographie qui pourraient répondre à votre question: http://switch2osm.org/serving-tiles/

Mais si vous voulez créer des tuiles à servir hors ligne, quelque chose comme http://www.maptiler.org/ mais qui se concentre sur les données raster.

Si je devais faire cela, je regarderais probablement TileMill pour créer la conception et produire un fichier MBTiles, puis le convertir en une structure de fichiers TMS à consommer par un OpenLayers ou Leaflet en mode hors ligne.

Oui, c'est assez compliqué et plein de nouveautés (mais passionnantes!), Désolé.

Jorge Sanz
la source
Bonjour, merci d'avoir répondu. Si j'ai téléchargé toutes les tuiles dont j'ai besoin, comment puis-je les utiliser pour qu'elles soient mappées dans mon application Java? Désolé, je suis un débutant dans ce domaine. La carte sera uniquement hors ligne. J'ai utilisé la bibliothèque Geotools pour mettre une carte dans mon application Java mais elle se compose uniquement de fichiers de formes. C'est pourquoi j'ai pensé à un serveur de tuiles mais hors ligne.
meebee
Je n'ai aucune idée s'il y a un pilote chez GeoTools pour une structure TMS, je posterais une nouvelle question avec une description plus précise afin que les gens puissent mieux vous orienter.
Jorge Sanz
4

Pour une seule ville, Tilemill et Tile Drawer sont deux excellentes options: http://switch2osm.org/serving-tiles/using-an-all-in-one-solution/

Tilemill vous obtiendra un fichier '.mbtiles', une base de données SQLite3 qui contient toutes vos tuiles rendues. Vous devrez également développer une feuille de style personnalisée pour les données.

Tile Drawer fera essentiellement tout pour vous, résultant en un serveur EC2 que vous pouvez utiliser pour faire le rendu réel de vos tuiles. Si vous vous connectez à ce serveur et exécutez tilestache-seed.py pour votre région, vous pouvez obtenir un répertoire plein d'images de tuiles pré-rendues qui peuvent être copiées où vous en avez besoin.

Michal Migurski
la source
2

Puisque vous êtes débutant, je vous suggère d'utiliser la suite OpenGeo. Il est livré avec GeoServer (serveur de carte) et PostGIS (base de données spatiale). Il s'agit d'un package intégré, vous n'aurez donc pas encore à vous soucier de l'intégration. Je vous suggère de commencer par les didacticiels et lorsque vous êtes suffisamment confiant, essayez vos propres données ou données OSM . Il a un chargeur de fichiers de forme, donc ça ne devrait pas être trop dur. Bonne chance :)

RK
la source
2

Si je comprends bien, vous souhaitez placer les tuiles sur le même ordinateur sur lequel votre application Java s'exécutera. Dans ce cas, vous n'avez pas vraiment besoin d'un serveur Web de tuiles en soi, il vous suffit de préparer votre carte Web HTML et de le placer sur un disque local avec des tuiles de carte. Vous pouvez ensuite y accéder à l'aide du schéma d'URI du fichier .

Un moyen assez simple de générer des tuiles serait de suivre le " Tutoriel Maperitive: Une carte Web de randonnée en dix étapes faciles ".

Igor Brejc
la source
Bonjour, merci d'avoir répondu. Si j'ai téléchargé toutes les tuiles dont j'ai besoin, comment puis-je les utiliser pour qu'elles soient mappées dans mon application Java? Désolé, je suis un débutant dans ce domaine. La carte sera uniquement hors ligne. J'ai utilisé la bibliothèque Geotools pour mettre une carte dans mon application Java mais elle se compose uniquement de fichiers de formes. C'est pourquoi j'ai pensé à un serveur de tuiles mais hors ligne.
meebee
Je ne peux pas vous aider beaucoup avec Java, et cela dépend aussi beaucoup de ce que vous devez faire avec la carte. Vous pouvez jeter un œil au code source de JOSM, c'est une application de cartographie OSM open source écrite en Java.
Igor Brejc