Apologies if this is not the right forum for this question.
I’m trying to setup geoserver environment for demo purposes to display satellite imagery such as truemarble imagery (http://www.unearthedoutdoors.net/global_data/true_marble/download).
I’d like to set it up as follows
Scale > A - show one set of tiles
Scale range < A and > B higher res set of tiles Scale range < B and > C even higher res set of tiles And so on.
Initial thinking was to create an image pyramid so I took the high res (250m) TrueMarble tiles and did
gdal_translate -stats -co “TILED=YES” filename new_filename
because I was getting warnings
Warning 1: TIFFReadDirectoryCheckOrder:Invalid TIFF directory; tags are not sorted in ascending order ERROR 1: MissingRequired:TIFF directory is missing required “ImageLength” field ERROR 1: Bogus block size; unable to allocate a buffer.
ERROR 1: Bogus block size; unable to allocate a buffer.
ERROR 1: Bogus block size; unable to allocate a buffer.
ERROR 1: FillEmptyTiles() failed because panByteCounts == NULL E:\MAP_TM\A1_01_34.tif : 67584|0–>2048-2048
And thought the translate would fix these issues. After translating all files, I did
gdal_retile.py -v -levels 4 -ps 2048 2048 -targetDir E:\MAP_TM A1.tif A2.tif … H3.tif H4.tif
And get above errors ending with
E:\MAP_TM\A1_02_82.tif : 165888|2048–>2048-2048 Warning 1: TIFFReadDirectoryCheckOrder:Invalid TIFF directory; tags are not sorted in ascending order ERROR 1: MissingRequired:TIFF directory is missing required “ImageLength” field ERROR 1: Bogus block size; unable to allocate a buffer.
ERROR 1: Bogus block size; unable to allocate a buffer.
More than 1000 errors or warnings have been reported. No more will be reported from now.
E:\MAP_TM\A1_02_83.tif : 167936|2048–>2048-2048 E:\MAP_TM\A1_02_84.tif : 169984|2048–>2048-2048 E:\MAP_TM\A1_02_85.tif : 172032|2048–>768-2048 E:\MAP_TM\A1_03_01.tif : 0|4096–>2048-2048
.
.
.
Finishing up with
E:\MAP_TM\A1_32_10.tif : 18432|63488–>2048-2048 Traceback (most recent call last):
File “c:\Program Files\gdal\gdal_retile.py”, line 1001, in
sys.exit(main(sys.argv))
File “c:\Program Files\gdal\gdal_retile.py”, line 911, in main
dsCreatedTileIndex = tileImage(minfo,ti)
File “c:\Program Files\gdal\gdal_retile.py”, line 349, in tileImage
createTile(minfo, offsetX, offsetY, width, height,tilename,OGRDS)
File “c:\Program Files\gdal\gdal_retile.py”, line 494, in createTile
dec.uly+offsetY*dec.scaleY)
File “c:\Program Files\gdal\gdal_retile.py”, line 256, in getDataSet
data = s_band.ReadRaster( readOffsetX,readOffsetY,readX,readY, readX,readY, self.band_type )
AttributeError: ‘NoneType’ object has no attribute ‘ReadRaster’
Am I doing something wrong?
Can I build an ‘image pyramid’ data set manually? For example, configure geoserver to use 32km TIFF for lowest resolution 1km TIFF tiles for next 500m tiles for next resolution level 250m tiles for highest resolution
Seems like it should be fairly straightforward - what am I missing?
Thanks for any help/pointers/links that can be provided?
E. Scott Stricker