GeoserverTerrainProvider plugin displays faults in elevation tiles

I try to display elevation data using the triple Geoserver/Openlayer3/Cesium. It seems I have the same problem than http://stackoverflow.com/questions/25936968 and for now, I can not get a working solution!

I have done nearly the same gdal processing to obtain my picture pyramid and whatever the GeoserverTerrainProvider solution I use (BIL or with SLD) I get sharp cut elevation at tile edges (see:http://postimg.org/image/wy0j1ijnp/)

In the geoserver layer preview, my elevation image as bad tile border in ‘Tiling: Tiled’ mode (see: http://postimg.org/image/8sff9lw71/) but is ok in ‘Single tile’ mode. is GeoserverTerrainProvider requesting tiles from geoserver in a bad way? I must have missed something in the parameters I use!

Here is the bash script I use to create the pyramid pastebin.com/rK2ctBnL.

Thanks.

Hello,
for me you don't need to use gdal_merge and should directly convert your asc files with gdal_translate. Moreover, you don't need to use a level of compression of 9 for gdal_translate because it generates temporary files for retile. You will win somme process time. For my conversions, I didn't use block size neither

Hi,
I have checked the man of gdal_translate how to use a set of asc files as input and sadly I did not found the good option but I tried with your suggestions: I removed the tile size and compression parameters without any enhancement!

Hello could you return the info retrieved from gdalinfo?

I put it here http://pastebin.com/9b3izMDz
the first info is for the main-fullsize image created from all the asc files and the 2 last ones are from the 2 first tiles of the pyramid at level 1.

In this pastebin (http://pastebin.com/aZTSnU6J) I put the gdalinfo of one of the asc file.

Thanks!

I do not think this is a gdal problem as I pushed my single “big” tiff as a layer in geoserver and the result is quite the same: I have got sharp cuts in elevation at tile edges. So it seems to be a geoserver tile serving problem or a bad request from the GeoserverTerrainProvider to geoserver.

Now, I think GeoserverTerrainProvider is the culprit as I tested my geoserver elevation layer in this application https://github.com/parkerabercrombie/worldwind-examples and it is displayed correctly… still searching for a solution!

Ok one last test: could you use GeotiffTranslate on your big tif and then make a pyramid from result in order to save the translated pyramid in geoserver and test again with the plugin?

Ok I will try that!

Sorry for the delay, I had some troubles to have GeotiffTranslate working with maven. But at final, even if the preview in geoserver is fine (see: http://postimg.org/image/tp2new5h9/) the result is the same (see: http://postimg.org/image/3qz18uzzx/).

Any other idea? :slight_smile:

Is it possible to have your source (asc file) from France?
Dans ce cas je testerai et je reviendrai vers toi.:slight_smile: (If possible, I'll test and make a return)

I took it directly from the ign web site (http://professionnels.ign.fr/bdalti), specifically the 75m precision dataset in ASC (https://wxs-telechargement.ign.fr/jvam1hsjm11u8voorw81v2xb/telechargement/inspire/BDALTIV2-75M_2014-04-17_BDALTIV2-75M_ASC_LAMB93_FXX_2013-10-01/file/BDALTIV2-75M_ASC_LAMB93_FXX_2013-10-01.7z).

May the force be with you!

With my data, I had this translated geotiff (http://postimg.org/image/dwo7w7e7f/ ). With this, I have the following images without your issue: http://postimg.org/image/4yc8kmbff/ ,
http://postimg.org/image/qln8rtb2t/

I'm working with your data.

Hello, after somme work, I found that with the following process, it seems to work well:
1°) convert your asc into geotiff and change the source srs to EPSG:4326 with an interpolation better than bilinear. If you move all your asc files in a folder and your console is in this folder then the command is:
gdalwarp -ot Int16 -s_srs "EPSG:2154" -t_srs "EPSG:4326" -dstnodata -32762 -r cubicspline -multi -co "TILED=YES" -co "COMPRESS=DEFLATE" -co "ZLEVEL=6" *.asc outFolder/gray.tif
2°) you should have a gray.tif which weights 110 Mio; Now you can make your pyramid from this tif:
gdal_retile.py -v -r bilinear -levels 3 -ps 2048 2048 -ot Int16 -co "TILED=YES" -co "COMPRESS=DEFLATE" -co "ZLEVEL=6" -targetDir pyramidFolder outFolder/gray.tif

Ok this solution works great!

But I do not understand why this gdal script corrects the problem or what in my previous script generates the glitches at tile edges.

I still have bad elevation data at the edges the elevation map (I only have the elevation for France) (see: http://postimg.org/image/6i5fwzs8t/ ). May be you have a solution for this problem?

Thanks for your works!

My presumptions:
* Cesium doesn't work with Lambert 93 (only EPSG 4326 and web mercator)also some conversions must be made by geoserver => big risk of integrity during these operations
* Maybe each asc use same reference but there is no smoothing operation between tile with your method. I forced the smoothing by generate one sole tif file with cubicspline interpolation

Thanks, I will have a closer look!