2013 Solution

  • Contact:

    [email protected]


    Data Visualization, Platform

    OpenTiles is an online service which provides GIS scientists and enthusiasts access to a plethora of satellite observations. NASA and the USGS collectively have petabytes of data pertaining to various earth, ocean, and atmospheric fields. While the data is freely available, it is difficult to find and is often in a format unfriendly to the average GIS hobbyist. This is where OpenTiles comes in. We obtain the data, convert and format it, then upload it to GeoServer where it is available to the world.

    This project is solving the EarthTiles challenge.


    Our solution OpenTiles is more of a service than a product. Currently it is a simple implementation demonstrating the 5 main components of the project. We now explain how it would operate at a production scale.

    Python scripts will take care of the first 3 components.

    1) Download

    A script will constantly query the databases and servers where satellite data is stored. If the scripts find a data file that that is not on the GeoServer drive or has been updated, it will download it. This first component ensures all the data on the GeoServer is up to date.

    2) Convert

    Satellite observations are stored in various formats. While they all have their benefits a collection of files in a more unified, GIS friendly format, would be more practical. After the data has been downloaded it is converted from its native type, most commonly NetCDF and HDF, into a Geotiff (Gtiff) file. We use the GDAL library for reprojections and conversions.

    3) Crop and Scale

    The magic of Google Earth and other earth observation data viewers is in the tiles and pyramids. One Gtiff could be laid over an earth model but it could only be viewed at that one scale. Tiling a Gtiff and creating a pyramid of different scales, allows the user to zoom in and out of the data in a more natural way. We use GDAL for retiling, to create the various pyramids and tiles.

    4) Automatic Geoserver Integration

    Once the pyramids are obtained, we use the Geoserver REST interface to upload them into Geoserver. Specifically, we are using the Geoserver Manager java library to read the contents of the pyramids and upload them automatically. Once the pyramids are uploaded into Geoserver they can be served as images using the WMS standard (for OpenLayers, Leaflet, etc.), kml files (for Google Earth) and GeoTiff files (for GIS).

    5) Demo - Tile Display

    For visualizing the tiles uploaded into Geoserver, we are cofiguring a web site that displays all the layers available in the server. The project (see open source code below) allows the user to change the transparency of the layers, choose which layers to display, and download the layer as kml and Geotiff format and zoom in and out of the map in an interface similar to that of Google Maps. These tasks can be accomplished without any external intervention.

    The data currently on our local server is obtained from the Ocean Color Web. It is the average Sea Surface Temperature (SST) throughout 2012 for the entire world. Layer 0 is the data, and layer 1 is the mask. It can be downloaded in KML format with one click and visualized on Google Earth.

    Project Information


  • The following projects are solving this challenge:

  • Welcome to the collaborative hackpad! You can use this open document to collaborate with others, self organize, or share important data. Please keep in mind that this document is community created and any views, opinions, or links do not reflect an official position of the Space Apps Challenge, NASA, or any of our partners.

    Building a team or looking for one to join? Feel free to create a Matchmaking section at the bottom of the document to help in gathering great minds together!

    If you want to edit the Hackpad, or have trouble viewing it, please create an account at