Web Map Tiling Services - TinyTileServer
Zurück zu StudienUndBachelorarbeiten.
- Bachelor Thesis, Spring Semester 2013, Carmen Campos Bordons (Erasmus Program, bis 14.7.13 da)
- Advisor: Prof. Stefan Keller, HSR
- Project partner: Klokan Technologies, Baar
- 1st examiner: Claude Eisenhut, Burgdorf
- 2nd examiner: Prof. Andreas Rinkel, HSR
The target audience of this thesis are people with basic GIS knowledge who want to publish their data (raster=> GeoTIFF and/or vector => Spatialite/ShapeFiles) by using open-source software. This thesis also contains a website with a gallery and practical exercises of map tile rendering and online publishing in the cloud (free services) or on own servers. For online publishing on own servers templates for server and clients need to be developed. Finally, the thesis optionally evaluates and demonstrates 'enhanced' raster tiles (UTFGrid) and pure vector tiling approaches (Kothic, OpenStreetMap Watch List/OWL).
State-of-the-art web mapping applications available today are using tiles as their core API for publishing maps. This thesis explains the basics about tiling services and shows the open-source software typically used for generating and distributing tiled maps on any ordinary web server (like Apache) in standardised tiling formats and with minimal or no need to install, configure or maintain any additional software.
There are three main goals for this thesis:
- Delivering an overview of a state-of-the-art of (web) map tiling standards, open source software and (free) services.
- Producing a gallery of examples and introductory texts to selected map tiling software.
- Programming templates t be used by web programmers who want to publish a topic as interactive web maps on own servers.
- Part of the third goal is the implemenation of an own tiling server software, called TinyTileServer (Python).
In the following there are main chapters to be covered by this thesis.
- About TileMill and CartoCSS (see also http://giswiki.hsr.ch/TileMill)
- Preparing own vector data (files, databases)
- Working with TileMill: Publishing rendered own vector data on a hosted server: Uploading data to MapBox,
- then publishing at MapBox directly (Ex.0 see http://mapbox.com/carmenbordos ).
- Publishing an own server: After exporting as MBTiles,
- Uploading data to MapBox and integrating in own webpage.
- Publishing maps from own server. Examples:
- Simple example in Leaflet (Webpage Ex.1) / OpenLayers (Webpage Ex.2) with OSM basemap
- Example using SQL with OSM basemap
- Example with own thematic data/picnic sites) (Webpage Ex. 3)
- Publishing maps from own server using own TinyTileServer to read MBTiles
- clients with Leaflet plus jQuery (Webpage Ex. 4)
- clients with OpenLayers plus jQuery and Wax (Webpage Ex. 5)
- Own basemap "Switzerland" as complex example (OpenStreetMap style) (Webpage Ex. 6)
- Working with raster (GeoTIFF) and grid files.
- MBTiles format (including UTFGrid)
- Convert raster to tiles using command line tools like GDAL2Tiles, MapTiler, raster2mbtiles, mbutil, MapCache.
- Convert raster to tiles using GUIs like TileMill and QGIS (generating MBTiles, generating GeoTIFF hierarchies)
- An example (GeoTIFF)
- Caching and seeding: MapProxy (can read also MBTiles), MapCache and GeoWebCache
- Converting File Raster Formats to MBTiles (evaluating 'raster2mb')
- Converting MBTiles to Raster Formats
- Raster Images in QGIS (using example as raster file)
- Web Map Tiling Services in QGIS (using example as WMS)
- MBTiles in QGIS (via GDAL; own scripting task using Python console (ev. plugin?))
- Overview of PostGIS Raster
- Showing PostGIS Raster in QGIS (evalution of plugin)
- Showing PostGIS Raster in a web map with TinyTileServer (clients: OpenLayers and/or Leaflet)
- Vector Tiles - an overview (evaluate server code)
- Configuration (e.g. for GetCapabilities)
(basically everything in english):
- BA thesis documentation according to the guidelines of the department and advisor (incl. a general part I and a SW engineering part II).
- Sep. document containing exercises
- Website with a show case and a gallery
- Ev. other helper tools
- Source Code (MIT license if possible)
Test Spec. for TinyTileServer:
- Browser: ...
- Tiling Clients: ...
See also  and tileserver-php