I am a beginner at GIS and I am developing a Java Application which needs a map. (The map would specifically be of just one city in the Philippines.) I have researched on different ways to do this and I have found that I will need a tile server to put the map because I need to be able to access this without the connection of the internet. I am a beginner and most of the tutorials I have seen have been complicated and have steps that I do not know how to do yet. Does anyone know of any tutorials or can help me start creating the tile server considering that I am a beginner at this?
4 Answers
There is a very good web site for beginners about OpenStreetMap world focused on people coming from other mapping services that could fit your question: http://switch2osm.org/serving-tiles/
But if you want to create some tiles to be served offline something like http://www.maptiler.org/ but it's focused on raster data.
If I had to do this I would probably take a look on TileMill to create the design and produce a MBTiles file and then convert it to a TMS file structure to be consumed by an OpenLayers or Leaflet in offline mode.
Yes, it's quite complicated and lot of new (but exciting!) stuff, sorry.
-
Hello, thank you for replying. If I have downloaded all of the tiles that I need, how can I use them to be mapped in my Java Application? Sorry I am a beginner at this. The map will only be offline. I have used the Geotools library to put a map in my Java Application but it only consists of shapefiles. That is why I have thought of a tile server but an offline one.– meebeeCommented Feb 7, 2012 at 4:59
-
I have no idea if there is a driver at GeoTools for a TMS structure, I would post a new question with a more precise description so folks can point you better. Commented Feb 20, 2012 at 11:31
For a single city, Tilemill and Tile Drawer are two great options: http://switch2osm.org/serving-tiles/using-an-all-in-one-solution/
Tilemill will get you an '.mbtiles' file, a SQLite3 database that contains all your rendered tiles. You'll also need to develop a custom stylesheet for the data.
Tile Drawer will do essentially everything for you, resulting in an EC2 server that you can use to do the actual rendering of your tiles. If you ssh into that server and run tilestache-seed.py for your area, you can get out a directory full of pre-rendered tile images that can be copied to wherever you need them.
Since you're a beginner, I'd suggest that you use the OpenGeo Suite. It comes with GeoServer ( map server ) and PostGIS ( spatial database ). It's an integrated package so you won't have to worry about integration yet. I suggest that you do the tutorials first and when you're confident enough, try your own data or OSM data. It has a shape file loader so it shouldn't be too hard. Good luck :)
If I understand correctly, you want to put the tiles on the same computer your Java app will run on. In that case you don't really need a tile Web server per se, you just need to prepare your Web map HTML and place it on a local disk together with map tiles. You can then access it using the file URI scheme.
One fairly easy way to generate tiles would be to follow the "Maperitive Tutorial: A Hiking Web Map In Ten Easy Steps".
-
Hello, thank you for replying. If I have downloaded all of the tiles that I need, how can I use them to be mapped in my Java Application? Sorry I am a beginner at this. The map will only be offline. I have used the Geotools library to put a map in my Java Application but it only consists of shapefiles. That is why I have thought of a tile server but an offline one.– meebeeCommented Feb 7, 2012 at 5:00
-
I cannot help you much with Java, and it also very much depends on what you need to do with the map. You could take a look at JOSM's source code, it's open source OSM mapping app written in Java. Commented Feb 7, 2012 at 6:58