Making Layers

From World Wind Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 19:11, 13 February 2006 (edit)
134.163.253.129 (Talk)
(Things We Know We Know)
← Previous diff
Revision as of 11:28, 24 February 2018 (edit) (undo)
Bull (Talk | contribs)
m (Reverted edits by Monday (Talk); changed back to last version by Mkpl)
Next diff →
(29 intermediate revisions not shown.)
Line 1: Line 1:
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. 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.
-==Things We Know We Know==+==Things We Know==
-#WW's tiling scheme+#WW's tiling scheme: [http://www.ceteranet.com/nww-tile-struct.pdf], [http://issues.worldwind.arc.nasa.gov/confluence/download/attachments/394/world+wind+tile+systemt.gif].
#Formula to go from Lat/Long to WW tile numbers. #Formula to go from Lat/Long to WW tile numbers.
-#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 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).
-#'''News Flash! : '''Nowack released source code to DSTile (the Tiler) and TilePack (packs up tiles into a image pyramid so you dont have zillion of files) as Open Source (BSD licensed) [http://download.worldwindcentral.com/dstile-0.2.tar.gz Dstile and TilePack]+##[http://2bn.net/files/2/dstileww.zip Dstile and TilePack] (src)
-#What if you were to call dstile dynamically from inside WorldWind? Urobots [http://www.urbanrobots.com/Blogs/WW/2006/01/dynamic-qts.html talks about how to do this in his blog].+##'''[http://whatnick.dyndns.org:8080/tisham/dstile-0.2_win32_whatnickpatches.zip Dstile with what_nick's patches (13-08-2007)]''' + [http://whatnick.dyndns.org:8080/tisham/DsTileQtGUI.zip Dstile GUI] (bin)
-#Lucians OnEarth code to 'sniff' WorldWind requests and cache the tiles if they are not already cached [http://www.twobeds.com/upload/userfiles/adamhill/lucians%20code%20-%20cache_1_1.gz?PHPSESSID=f485cf3fd66cd30ad7a4f814a127d2cb Download]+#What if you were to call dstile dynamically from inside WorldWind? Urobots [http://www.urbanrobots.com/Blogs/WW/2006/01/dynamic-qts.html 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 ([http://forum.worldwindcentral.com/showthread.php?t=9205 forum thread], the code is in [[Source code|SVN]])
 +#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 [http://www.vso.cape.com/~nhv/files/cache_1_1.tgz download] + a few [[data serving scripts]]
 +#A [[Dstile howto]] on creating your own tiled imagery layer and putting it in your cache.
==Things We Know We Don't Know== ==Things We Know We Don't Know==
Line 14: Line 16:
#When do you know when to 'stop'? (ie. how do you know you are at 1:1) #When do you know when to 'stop'? (ie. how do you know you are at 1:1)
#Even though L0TD == 2.25, how do we get larger tiles when viewing the whole earth? #Even though L0TD == 2.25, how do we get larger tiles when viewing the whole earth?
 +
 +Some answers came [[Layers_Levels_Tiles_etc|here]]
==The Procedure for Making (As Far As I understand It Right Now)== ==The Procedure for Making (As Far As I understand It Right Now)==
Line 25: Line 29:
#Divide L0TD by 2, and start over with #3 #Divide L0TD by 2, and start over with #3
#Stop when you are at 1:1 scale (ie your L0TD sized chunk is less than <TileSize> in one of the dimensions. #Stop when you are at 1:1 scale (ie your L0TD sized chunk is less than <TileSize> in one of the dimensions.
- 
-==Details About How WorldWind Tiles Are Arranged== 
-From Matt Mills - [http://www.ceteranet.com/nww-tile-struct.pdf WW Tiling] 
[[Category:Dev Documentation]] [[Category:Dev Documentation]]

Revision as of 11:28, 24 February 2018

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.

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.

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

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