Hi all. I did a bit of readingto find out how to get the best speed and quality for aerial imagery. We have 3" aerials that arrived as geoTIFFs. I kept them in geoTIFF with 80% JPG compression in YCBCR color space to build pyramids and overviews. Apparently JPG is much faster than lossless or wavelet (ECW/JPG2k) compression to serve per these links:
Additionally, bilinear convolution was used since imagery is continuous data. (i.e. not nearest neighbor as used for discrete data)
Now, my main question is this: I am inquiring where to store this in order to publish a service that is as fast as possible. The SDE or a file geodatabase? I intend to consume the imagery as a tiled service in web viewers to get the fastest perfromance. We have server 10.2.2. Eventually this year we'll migrate to 10.4.
This link below states imagery referenced in a mosaic dataset (which is what should be used) should NOT be stored in a database, out of performance reasons, but as standalone files in the file system, and it also states overviews should not be stored in SDE either:
https://community.esri.com/docs/DOC-8061 (it's down a few pages, it's one of the responses from Esri)
In other words, if I understand correctly, the original image files themselves and the overviews should NOT be copied into a geodatabase. The mosaic dataset should point to the plain original files. What is not clear however is whether the mosaic dataset should be on the SDE or not, before publishing to a service. Again, I think I've got the quality and size optimal from the parameterization above but I just want to know now where to store the imagery for max. speed.
Also, I noticed discussion of projection but that Esri recommends keeping imagery in its original projection. Our imagery was delivered to us in Georgia State Plane Ft NAD83. (no mention of which NAD realization in the metadata).
However based on this link above, I am wondering if for faster performance, if we stored imagery in web Mercator (reprojected) it would serve up approx. a second faster? Because of course otherwise ArcGIS Server reprojects on the fly from State Plane to Web Mercator in our webviewers, all of which have Esri basemaps. I am wondering whether forcing webviewers to State plane by loading our vector layers first would make Esri’s servers broadcast the Esri basemaps to the viewer in State plane? By loading our layers first to set the projection? Or if there's another way to get around this programmatically and get request Esri basemaps in a State plane projection vs web mercator? On this last point I shall research more. For now I shall leave it in its original projection. At least it's in mercator so the performance penalty should be lesser, according this document above.