geo-data / cesium-terrain-builder

A C++ library and associated command line tools designed to create terrain tiles for use in the Cesium JavaScript library
Other
706 stars 338 forks source link

ctb-tile gets killed after "90..." when using tiles.vrt referencing multiple tif-files. #76

Open Crare opened 5 years ago

Crare commented 5 years ago

Hi, I can manage to make cesium-terrain-tile from single tif-file, but not from multiple tif-files with merged vrt-file.

I'm creating a terrain from multiple tif files as a tiles.vrt, which I try to convert with tumgis ctb-docker.

creating tiles.vrt-file from multiple tif-files.

docker exec -it -u 0 ctb bash
cd /data/rasters
gdalbuildvrt tiles.vrt *.tif

creating terrain files

docker run -dit --name ctb -v "d:/docker/data/terrain":"/data" tumgis/ctb-quantized-mesh
docker exec -it -u 0 ctb bash
cd /data
ctb-tile -f Mesh -C -N -o tilesets/terrain/test tiles.vrt
0...10...20...30...40...50...60...70...80...90...Killed

I get same-ish error with homme/cesium-terrain-builder It just ends after "90...".

docker run -v c:/docker/data:/data homme/cesium-terrain-builder ctb-tile --output-dir /data/tilesets/terrain/test /data/tiles.vrt
0...10...20...30...40...50...60...70...80...90...

I've also tried creating single tif-file from those tif-files with QGIS, but in the end I get same result that it gets killed after "90...".

If i try to using -R resume, I get few folders more in /test/-folder. and in tumgis version I can add layer.json with -l -command. But I still have only folders 7-16.

ctb-tile -f Mesh -C -N -R -o tilesets/terrain/test5 rasters/tiles.vrt
ctb-tile -f Mesh -C -N -l -R -o tilesets/terrain/test5 rasters/tiles.vrt

and I get this error in browser if I try running it on terrain server:

An error occurred in "T": Failed to obtain terrain tile X: 1 Y: 0 Level: 0. Cesium.js:420 An error occurred in "T": Failed to obtain terrain tile X: 0 Y: 0 Level: 0.

original tiles are downloadable from maanmittauslaitos.fi file-download service -> elevation model -> elevation model 2m -> and choosing some tiles from the view. I've selected area around Helsinki. information about the service. kartat.kapsi.fi is currently not available or lacking some of the tiles..

List of tiles I chose:

K4242F.tif K4242H.tif K4244B.tif K4244D.tif K4244F.tif K4244H.tif L4131E.tif L4131F.tif L4131G.tif L4131H.tif L4132E.tif L4132F.tif L4132G.tif L4132H.tif L4133A.tif L4133B.tif L4133C.tif L4133D.tif L4133E.tif L4133F.tif L4133G.tif L4133H.tif L4134A.tif L4134B.tif L4134C.tif L4134D.tif L4134E.tif L4134F.tif L4134G.tif L4134H.tif

tiles.vrt:

<VRTDataset rasterXSize="18000" rasterYSize="15000">
  <SRS>PROJCS["ETRS89 / TM35FIN(E,N)",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",27],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","3067"]]</SRS>
  <GeoTransform>  3.6800000000000000e+05,  2.0000000000000000e+00,  0.0000000000000000e+00,  6.6900000000000000e+06,  0.0000000000000000e+00, -2.0000000000000000e+00</GeoTransform>
  <VRTRasterBand dataType="Float32" band="1">
    <NoDataValue>-9999</NoDataValue>
    <ColorInterp>Gray</ColorInterp>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">K4242F.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="0" yOff="12000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">K4242H.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="3000" yOff="12000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">K4244B.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="6000" yOff="12000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">K4244D.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="9000" yOff="12000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">K4244F.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="12000" yOff="12000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">K4244H.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="15000" yOff="12000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4131E.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="0" yOff="9000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4131F.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="0" yOff="6000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4131G.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="3000" yOff="9000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4131H.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="3000" yOff="6000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4132E.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="0" yOff="3000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4132F.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4132G.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="3000" yOff="3000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4132H.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="3000" yOff="0" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133A.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="6000" yOff="9000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133B.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="6000" yOff="6000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133C.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="9000" yOff="9000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133D.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="9000" yOff="6000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133E.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="12000" yOff="9000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133F.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="12000" yOff="6000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133G.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="15000" yOff="9000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4133H.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="15000" yOff="6000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134A.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="6000" yOff="3000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134B.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="6000" yOff="0" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134C.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="9000" yOff="3000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134D.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="9000" yOff="0" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134E.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="12000" yOff="3000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134F.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="12000" yOff="0" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134G.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="15000" yOff="3000" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">L4134H.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="3000" RasterYSize="3000" DataType="Float32" BlockXSize="256" BlockYSize="256" />
      <SrcRect xOff="0" yOff="0" xSize="3000" ySize="3000" />
      <DstRect xOff="15000" yOff="0" xSize="3000" ySize="3000" />
      <NODATA>-9999</NODATA>
    </ComplexSource>
  </VRTRasterBand>
</VRTDataset>
liwb27 commented 4 years ago

i've got same problem, see this issue #37