Making Layers
From World Wind Wiki
(Difference between revisions)
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
- 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.