[Geoserver-users] Prepare GeoTiff data for optimal performance

I have 1-meter resolution imagery thatI downloaded from this site:
http://viewer.nationalmap.gov/viewer/. Due to the size of the raster data,
the results are broken into chucks and the downloaded format is JP2. I used
the following scripts to convert the JP2 to GeoTiff:

for file in *.jp2;do
filename=`echo "$file" |cut -d'.' -f1`
gdal_translate -of GTiff $file $filename.tif
gdalwarp -t_srs EPSG:3857 $filename.tif $filename-warped.tif
gdal_translate -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512"
$filename-warped.tif $filename.tif
gdaladdo -r cubic $filename.tif 2 4 8 16 32 64 128
rm $filename-warped.tif
done

Below is the output of gdalinfo of one of the GeoTiff file:
Files: m_3711909_ne_11_1_20120628_20120904.tif
Size is 6562, 7948
Coordinate System is:
PROJCS["WGS 84 / Pseudo-Mercator",
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4326"]],
    PROJECTION["Mercator_1SP"],
    PARAMETER["central_meridian",0],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0
+lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext
+no_defs"],
    AUTHORITY["EPSG","3857"]]
Origin = (-13352064.088617129251361,4562412.907068637199700)
Pixel Size = (1.267235134041296,-1.267235134041296)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left (-13352064.089, 4562412.907) (119d56'37.08"W, 37d52'46.09"N)
Lower Left (-13352064.089, 4552340.922) (119d56'37.08"W, 37d48'28.87"N)
Upper Right (-13343748.492, 4562412.907) (119d52' 8.16"W, 37d52'46.09"N)
Lower Right (-13343748.492, 4552340.922) (119d52' 8.16"W, 37d48'28.87"N)
Center (-13347906.290, 4557376.915) (119d54'22.62"W, 37d50'37.51"N)
Band 1 Block=512x512 Type=Byte, ColorInterp=Red
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 3281x3974, 1641x1987, 821x994, 411x497, 206x249,
103x125, 52x63
Band 2 Block=512x512 Type=Byte, ColorInterp=Green
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 3281x3974, 1641x1987, 821x994, 411x497, 206x249,
103x125, 52x63
Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 3281x3974, 1641x1987, 821x994, 411x497, 206x249,
103x125, 52x63
Band 4 Block=512x512 Type=Byte, ColorInterp=Alpha
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63

Depending on the size of the selected area, the number of files can be in
the 50s or even 100s. I tested with a sample imagery that has 24 JP2 files
and create a store using ImageMosaic. The performance was not good. Can
someone tell me what is the best way to perpare this kind of imagery for
best performance?

Many thanks in advance,

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Prepare-GeoTiff-data-for-optimal-performance-tp5136963.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Ciao Tam,
a few things:

-1- give a quick read to these slides http://goo.gl/74XUPq
-2- why are you warping to google mercator?
-3- which version of GeoServer are you using?
-4- please, attache the mosaic.properties files that geoserver creates for you
-5- you might want to consider creating lesser geotiff files mergine
some of the original jp2 files prior to adding overviews.

Regards,
Simone Giannecchini

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Thu, Apr 24, 2014 at 8:44 PM, tt5430 <tt9488@anonymised.com> wrote:

I have 1-meter resolution imagery thatI downloaded from this site:
http://viewer.nationalmap.gov/viewer/. Due to the size of the raster data,
the results are broken into chucks and the downloaded format is JP2. I used
the following scripts to convert the JP2 to GeoTiff:

for file in *.jp2;do
filename=`echo "$file" |cut -d'.' -f1`
gdal_translate -of GTiff $file $filename.tif
gdalwarp -t_srs EPSG:3857 $filename.tif $filename-warped.tif
gdal_translate -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512"
$filename-warped.tif $filename.tif
gdaladdo -r cubic $filename.tif 2 4 8 16 32 64 128
rm $filename-warped.tif
done

Below is the output of gdalinfo of one of the GeoTiff file:
Files: m_3711909_ne_11_1_20120628_20120904.tif
Size is 6562, 7948
Coordinate System is:
PROJCS["WGS 84 / Pseudo-Mercator",
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4326"]],
    PROJECTION["Mercator_1SP"],
    PARAMETER["central_meridian",0],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0
+lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext
+no_defs"],
    AUTHORITY["EPSG","3857"]]
Origin = (-13352064.088617129251361,4562412.907068637199700)
Pixel Size = (1.267235134041296,-1.267235134041296)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left (-13352064.089, 4562412.907) (119d56'37.08"W, 37d52'46.09"N)
Lower Left (-13352064.089, 4552340.922) (119d56'37.08"W, 37d48'28.87"N)
Upper Right (-13343748.492, 4562412.907) (119d52' 8.16"W, 37d52'46.09"N)
Lower Right (-13343748.492, 4552340.922) (119d52' 8.16"W, 37d48'28.87"N)
Center (-13347906.290, 4557376.915) (119d54'22.62"W, 37d50'37.51"N)
Band 1 Block=512x512 Type=Byte, ColorInterp=Red
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 3281x3974, 1641x1987, 821x994, 411x497, 206x249,
103x125, 52x63
Band 2 Block=512x512 Type=Byte, ColorInterp=Green
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 3281x3974, 1641x1987, 821x994, 411x497, 206x249,
103x125, 52x63
Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 3281x3974, 1641x1987, 821x994, 411x497, 206x249,
103x125, 52x63
Band 4 Block=512x512 Type=Byte, ColorInterp=Alpha
  Overviews: 3281x3974, 1641x1987, 821x994, 411x497, 206x249, 103x125, 52x63

Depending on the size of the selected area, the number of files can be in
the 50s or even 100s. I tested with a sample imagery that has 24 JP2 files
and create a store using ImageMosaic. The performance was not good. Can
someone tell me what is the best way to perpare this kind of imagery for
best performance?

Many thanks in advance,

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Prepare-GeoTiff-data-for-optimal-performance-tp5136963.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Simone,

Below are my answers to you questions:

1. The slides suggest that ImageMosaic should not be used if the number of
files is high and instead use ImagePyramid. I changed to use ImageMosaic
and the performance is good.
2. Not sure if it is neccessary, but the reason for warping to EPSG:3857 is
because I have other layers such as OSM which already has that projection.
Also, we use Leaflet engine for displaying maps and I believe its default
projection is EPSG:3857. Also, is it desirable not to have Geoserver
perform re-projection on the fly?
3. We are using the latest stable Geoserver version 2.5.0.
4. Here is the content of the Mosaic.properties
#-Automagically created from GeoTools-
#Thu Apr 24 15:52:05 GMT+00:00 2014
Levels=1.3832528371921782,1.3832528371921782
2.766505674384357,2.7665056743843564 5.531165781274127,5.533011348768713
11.05495667483989,11.066022697537425 22.10991334967978,22.1320
4539507485 44.10222077728679,44.17375591098613
88.20444155457358,87.98837559505368 176.40888310914715,174.55758384180004
Heterogeneous=true
AbsolutePath=false
Name=Sioux-Falls
TypeName=Sioux-Falls
Caching=false
ExpandToRGB=false
LocationAttribute=location
CheckAuxiliaryMetadata=false
LevelsNum=8

5. What I am doing is to provide some means for the user to download the
NAIP imagery from the website and upload them to our map server, which is
Geoserver, prepare the data, and install them onto Geoserver for rendering.
Since we have no control on how the user download the NAIP imagery, the
number of files can be large. I have tried with a download that has 120 jp2
files and used ImagePyramid for it. The performance was really good. One
thing I noticed is the size of the pyramid is big; it is 16 GB. Your
suggestion of merging some of the original jp2 files sound great but I am
not sure what is the best way to do it since the number of jp2 files is
unpredictable and the process has to be done by some script. Can you give
me some ideas? Also, is there a limit of the number of GeoTiff files before
the performance of ImagePyramid becomes degraded.

Thanks,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Prepare-GeoTiff-data-for-optimal-performance-tp5136963p5137629.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Ciao,
please read below...

Regards,
Simone Giannecchini

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Tue, Apr 29, 2014 at 12:30 AM, tt5430 <tt9488@anonymised.com> wrote:

Hi Simone,

Below are my answers to you questions:

1. The slides suggest that ImageMosaic should not be used if the number of
files is high and instead use ImagePyramid. I changed to use ImageMosaic
and the performance is good.
2. Not sure if it is neccessary, but the reason for warping to EPSG:3857 is
because I have other layers such as OSM which already has that projection.
Also, we use Leaflet engine for displaying maps and I believe its default
projection is EPSG:3857. Also, is it desirable not to have Geoserver
perform re-projection on the fly?

That is usually not a problem, reprojection is optimized hence it
should not make a huge difference.
What is the original CRS for this data.

3. We are using the latest stable Geoserver version 2.5.0.
4. Here is the content of the Mosaic.properties
#-Automagically created from GeoTools-
#Thu Apr 24 15:52:05 GMT+00:00 2014
Levels=1.3832528371921782,1.3832528371921782
2.766505674384357,2.7665056743843564 5.531165781274127,5.533011348768713
11.05495667483989,11.066022697537425 22.10991334967978,22.1320
4539507485 44.10222077728679,44.17375591098613
88.20444155457358,87.98837559505368 176.40888310914715,174.55758384180004
Heterogeneous=true
AbsolutePath=false
Name=Sioux-Falls
TypeName=Sioux-Falls
Caching=false
ExpandToRGB=false
LocationAttribute=location
CheckAuxiliaryMetadata=false
LevelsNum=8

This is sub-optimal

Heterogeneous=true

which means that the granules have different resolutions. I believe
this comes from the fact that you reprojected to EPSG:3857, this is
why I would probably prefer to use the original CRS and reproject on
the fly at the end if possible.

5. What I am doing is to provide some means for the user to download the
NAIP imagery from the website and upload them to our map server, which is
Geoserver, prepare the data, and install them onto Geoserver for rendering.
Since we have no control on how the user download the NAIP imagery, the
number of files can be large. I have tried with a download that has 120 jp2
files and used ImagePyramid for it.

Are you sure you are not using ImageMosaic instead?

The performance was really good. One
thing I noticed is the size of the pyramid is big; it is 16 GB. Your
suggestion of merging some of the original jp2 files sound great but I am
not sure what is the best way to do it since the number of jp2 files is
unpredictable and the process has to be done by some script. Can you give
me some ideas?

you might want to check these pages:
http://geoserver.geo-solutions.it/edu/en/raster_data/index.html

Also, is there a limit of the number of GeoTiff files before
the performance of ImagePyramid becomes degraded.

Some euristic is in the slides I have pointed you at.

Thanks,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Prepare-GeoTiff-data-for-optimal-performance-tp5136963p5137629.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Simone,

Thanks for the response. Here are my answers to your questions:

  1. The original CRS is: EPSG:26911. One other reason for re-projection to EPSG:3857 is so that we can use GeoWebCache. We already have EPSG:3857 Gridset defined in Geoserver.

  2. Below was what I did:
    for file in *.jp2;do
    filename=echo "$file" |cut -d'.' -f1
    gdal_translate -of GTiff $file $filename.tif
    gdalwarp -t_srs EPSG:3857 $filename.tif $filename-warped.tif
    mv $filename-warped.tif $filename.tif
    gdal_retile.py -v -r bilinear -levels 4 -ps 2048 2048 -co “TILED=YES” -co “BLOCKXSIZE=256” -co “BLOCKYSIZE=256” -co “COMPRESS=DEFLATE” -useDirForEachRow -targetDir pyramid $filename.tif
    done

After that I create a ImagePyramid store that the GeoTiff. Does that mean I use ImagePyramid or ImageMosaic?

Regards,

Tam

···

On Wed, Apr 30, 2014 at 6:55 AM, Simone Giannecchini <simone.giannecchini@anonymised.com> wrote:

Ciao,
please read below…

Regards,
Simone Giannecchini

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


On Tue, Apr 29, 2014 at 12:30 AM, tt5430 <tt9488@anonymised.com> wrote:

Hi Simone,

Below are my answers to you questions:

  1. The slides suggest that ImageMosaic should not be used if the number of
    files is high and instead use ImagePyramid. I changed to use ImageMosaic
    and the performance is good.
  2. Not sure if it is neccessary, but the reason for warping to EPSG:3857 is
    because I have other layers such as OSM which already has that projection.
    Also, we use Leaflet engine for displaying maps and I believe its default
    projection is EPSG:3857. Also, is it desirable not to have Geoserver
    perform re-projection on the fly?

That is usually not a problem, reprojection is optimized hence it
should not make a huge difference.
What is the original CRS for this data.

  1. We are using the latest stable Geoserver version 2.5.0.
  2. Here is the content of the Mosaic.properties
    #-Automagically created from GeoTools-
    #Thu Apr 24 15:52:05 GMT+00:00 2014
    Levels=1.3832528371921782,1.3832528371921782
    2.766505674384357,2.7665056743843564 5.531165781274127,5.533011348768713
    11.05495667483989,11.066022697537425 22.10991334967978,22.1320
    4539507485 44.10222077728679,44.17375591098613
    88.20444155457358,87.98837559505368 176.40888310914715,174.55758384180004
    Heterogeneous=true
    AbsolutePath=false
    Name=Sioux-Falls
    TypeName=Sioux-Falls
    Caching=false
    ExpandToRGB=false
    LocationAttribute=location
    CheckAuxiliaryMetadata=false
    LevelsNum=8

This is sub-optimal

Heterogeneous=true

which means that the granules have different resolutions. I believe
this comes from the fact that you reprojected to EPSG:3857, this is
why I would probably prefer to use the original CRS and reproject on
the fly at the end if possible.

  1. What I am doing is to provide some means for the user to download the
    NAIP imagery from the website and upload them to our map server, which is
    Geoserver, prepare the data, and install them onto Geoserver for rendering.
    Since we have no control on how the user download the NAIP imagery, the
    number of files can be large. I have tried with a download that has 120 jp2
    files and used ImagePyramid for it.

Are you sure you are not using ImageMosaic instead?

The performance was really good. One
thing I noticed is the size of the pyramid is big; it is 16 GB. Your
suggestion of merging some of the original jp2 files sound great but I am
not sure what is the best way to do it since the number of jp2 files is
unpredictable and the process has to be done by some script. Can you give
me some ideas?

you might want to check these pages:
http://geoserver.geo-solutions.it/edu/en/raster_data/index.html

Also, is there a limit of the number of GeoTiff files before
the performance of ImagePyramid becomes degraded.

Some euristic is in the slides I have pointed you at.

Thanks,
Tam


View this message in context: http://osgeo-org.1560.x6.nabble.com/Prepare-GeoTiff-data-for-optimal-performance-tp5136963p5137629.html

Sent from the GeoServer - User mailing list archive at Nabble.com.


“Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.”
http://p.sf.net/sfu/SauceLabs


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Ciao Tam,
please, read below...

Regards,
Simone Giannecchini

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Wed, Apr 30, 2014 at 4:49 PM, tam tran <tt9488@anonymised.com> wrote:

Hi Simone,

Thanks for the response. Here are my answers to your questions:

1. The original CRS is: EPSG:26911. One other reason for re-projection to
EPSG:3857 is so that we can use GeoWebCache. We already have EPSG:3857
Gridset defined in Geoserver.

I don't see the point or better I believe this is a misunderstanding
on your side. You do not need to reproject the data yourself (or
better this is not required)
GeoServer will handle that. You might just want to use the gutter
param in GWC to cut away eventual black borders.

2. Below was what I did:

for file in *.jp2;do
filename=`echo "$file" |cut -d'.' -f1`
gdal_translate -of GTiff $file $filename.tif
gdalwarp -t_srs EPSG:3857 $filename.tif $filename-warped.tif
mv $filename-warped.tif $filename.tif
gdal_retile.py -v -r bilinear -levels 4 -ps 2048 2048 -co "TILED=YES" -co
"BLOCKXSIZE=256" -co "BLOCKYSIZE=256" -co "COMPRESS=DEFLATE"
-useDirForEachRow -targetDir pyramid $filename.tif
done
After that I create a ImagePyramid store that the GeoTiff. Does that mean I
use ImagePyramid or ImageMosaic?

You used the ImagePyramid :slight_smile:

That is ok, but if this size is ok, I would probably go with the
ImageMosaic which is simpler to manage (or at least this is my
opinion).

Check carefully the doc I gave you, the answers are somewhat in there.

Regards,
Tam

On Wed, Apr 30, 2014 at 6:55 AM, Simone Giannecchini
<simone.giannecchini@anonymised.com> wrote:

Ciao,
please read below...

Regards,
Simone Giannecchini

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Tue, Apr 29, 2014 at 12:30 AM, tt5430 <tt9488@anonymised.com> wrote:
> Hi Simone,
>
> Below are my answers to you questions:
>
> 1. The slides suggest that ImageMosaic should not be used if the number
> of
> files is high and instead use ImagePyramid. I changed to use
> ImageMosaic
> and the performance is good.
> 2. Not sure if it is neccessary, but the reason for warping to EPSG:3857
> is
> because I have other layers such as OSM which already has that
> projection.
> Also, we use Leaflet engine for displaying maps and I believe its
> default
> projection is EPSG:3857. Also, is it desirable not to have Geoserver
> perform re-projection on the fly?

That is usually not a problem, reprojection is optimized hence it
should not make a huge difference.
What is the original CRS for this data.

> 3. We are using the latest stable Geoserver version 2.5.0.
> 4. Here is the content of the Mosaic.properties
> #-Automagically created from GeoTools-
> #Thu Apr 24 15:52:05 GMT+00:00 2014
> Levels=1.3832528371921782,1.3832528371921782
> 2.766505674384357,2.7665056743843564 5.531165781274127,5.533011348768713
> 11.05495667483989,11.066022697537425 22.10991334967978,22.1320
> 4539507485 44.10222077728679,44.17375591098613
> 88.20444155457358,87.98837559505368
> 176.40888310914715,174.55758384180004
> Heterogeneous=true
> AbsolutePath=false
> Name=Sioux-Falls
> TypeName=Sioux-Falls
> Caching=false
> ExpandToRGB=false
> LocationAttribute=location
> CheckAuxiliaryMetadata=false
> LevelsNum=8
>

This is sub-optimal

Heterogeneous=true

which means that the granules have different resolutions. I believe
this comes from the fact that you reprojected to EPSG:3857, this is
why I would probably prefer to use the original CRS and reproject on
the fly at the end if possible.

> 5. What I am doing is to provide some means for the user to download the
> NAIP imagery from the website and upload them to our map server, which
> is
> Geoserver, prepare the data, and install them onto Geoserver for
> rendering.
> Since we have no control on how the user download the NAIP imagery, the
> number of files can be large. I have tried with a download that has 120
> jp2
> files and used ImagePyramid for it.

Are you sure you are not using ImageMosaic instead?

> The performance was really good. One
> thing I noticed is the size of the pyramid is big; it is 16 GB. Your
> suggestion of merging some of the original jp2 files sound great but I
> am
> not sure what is the best way to do it since the number of jp2 files is
> unpredictable and the process has to be done by some script. Can you
> give
> me some ideas?

you might want to check these pages:
http://geoserver.geo-solutions.it/edu/en/raster_data/index.html

> Also, is there a limit of the number of GeoTiff files before
> the performance of ImagePyramid becomes degraded.
>

Some euristic is in the slides I have pointed you at.

> Thanks,
> Tam
>
>
>
> --
> View this message in context:
> http://osgeo-org.1560.x6.nabble.com/Prepare-GeoTiff-data-for-optimal-performance-tp5136963p5137629.html
> Sent from the GeoServer - User mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos. Get
> unparalleled scalability from the best Selenium testing platform
> available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Geoserver-users mailing list
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users