Making Layers
From World Wind Wiki
(Difference between revisions)
Revision as of 17:24, 21 October 2006 (edit) 130.126.146.212 (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 → |
||
(7 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. | ||
- | '''A dstile howto is in progress: [[Dstile howto]]''' | + | ==Things We Know== |
- | + | ||
- | ==Things We Know We Know== | + | |
#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]. | #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! : '''Nowak 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://2bn.net/files/2/dstileww.zip Dstile and TilePack] (src) |
- | + | ##'''[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) | |
- | *[http://2bn.net/files/2/dstileww.zip Dstile and TilePack] | + | #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]]) |
- | *[http://2bn.net/files/2/dstile-02whatnickpatches.zip Dstile with what_nick's patches] + [http://2bn.net/files/2/dstile-gui.zip Dstile GUI] | + | #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]] |
- | + | ||
- | #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]. | + | |
- | #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.twobeds.com/upload/userfiles/adamhill/lucians%20code%20-%20cache_1_1.gz Download] | + | |
#A [[Dstile howto]] on creating your own tiled imagery layer and putting it in your cache. | #A [[Dstile howto]] on creating your own tiled imagery layer and putting it in your cache. | ||
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
- WW's tiling scheme: [1], [2].
- 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 released source code to DSTile (the tiler) and TilePack (packs up tiles into a image pyramid) as Open Source (BSD licensed).
- 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)
- 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
- A Dstile howto on creating your own tiled imagery layer and putting it in your cache.
Things We Know We Don't Know
- How does altitude relate to a level in a layer being displayed?
- How does <TileSize> and <Level0TileDegrees> affect #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?
Some answers came here
The Procedure for Making (As Far As I understand It Right Now)
- 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)
- Get the bounds of the GTiff.
- Take the lower left bounds and round to the nearest multiple of L0TD for lat and lon.
- Extract a L0TD sized chunk of the GeoTIFF starting at the coordinates of #3..
- Resample the chunk to <TileSize>(scale it to 512x512px or whatever tilesize you pick) and convert to image format of choice.
- Place it in the correct directory and rename the tile according to the naming formula. <insert naming formula here>
- Iterate in L0TD sized chunks over the entire TIFF till you have covered the upper and right side bounds.
- 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.