Making Layers

From World Wind Wiki

Jump to: navigation, search

This is the beginning of an attempt to try to document a process so people that have GeoTIFF's can produce and maybe even serve up data for WorldWind. If you have any insights or info please add on.

[edit] Things We Know

  1. WW's tiling scheme: [1], [2].
  2. Formula to go from Lat/Long to WW tile numbers.
  3. Nowak has a C program that uses GDAL to do this and he has another progam that packs them up so you dont have to manage zillions of files + a little PHP script to extract the correct tile from the image pyramid. Nowak released source code to DSTile (the tiler) and TilePack (packs up tiles into a image pyramid) as Open Source (BSD licensed).
    1. Dstile and TilePack (src)
    2. Dstile with what_nick's patches (13-08-2007) + Dstile GUI (bin)
  4. What if you were to call dstile dynamically from inside WorldWind? Urobots talks about how to do this in his blog. what_nick has been working on a dstile version that can be run as a plugin in WW (forum thread, the code is in SVN)
  5. Lucians OnEarth code for Apache to 'sniff' WorldWind requests, pass the request off to WMS (if needed) and cache the tiles if they are not already cached download + a few data serving scripts
  6. A Dstile howto on creating your own tiled imagery layer and putting it in your cache.

[edit] Things We Know We Don't Know

  1. How does altitude relate to a level in a layer being displayed?
  2. How does <TileSize> and <Level0TileDegrees> affect #1?
  3. When do you know when to 'stop'? (ie. how do you know you are at 1:1)
  4. Even though L0TD == 2.25, how do we get larger tiles when viewing the whole earth?

Some answers came here

[edit] The Procedure for Making (As Far As I understand It Right Now)

  1. Obtain a georeferenced geotiff and reproject it to EPSG:4326. (or reproject with 'gdalwarp' in step 3 as you go along)(note: for those crusty-brained barnacle heads, ESPG:4326 = WGS84, and NAD83 is supposedly generally equivalent- check to verify before you take my word for it, though)
  2. Get the bounds of the GTiff.
  3. Take the lower left bounds and round to the nearest multiple of L0TD for lat and lon.
  4. Extract a L0TD sized chunk of the GeoTIFF starting at the coordinates of #3..
  5. Resample the chunk to <TileSize>(scale it to 512x512px or whatever tilesize you pick) and convert to image format of choice.
  6. Place it in the correct directory and rename the tile according to the naming formula. <insert naming formula here>
  7. Iterate in L0TD sized chunks over the entire TIFF till you have covered the upper and right side bounds.
  8. Divide L0TD by 2, and start over with #3
  9. Stop when you are at 1:1 scale (ie your L0TD sized chunk is less than <TileSize> in one of the dimensions.
Personal tools