Giter Club home page Giter Club logo

Comments (17)

michaelchin avatar michaelchin commented on August 18, 2024

The problem can be reproduced by using TrueMarble.32km.1350x675.tif, which can be downloaded from http://www.unearthedoutdoors.net/global_data/true_marble/download. We are not using this raster. Our raster(DNSC08BAT_2min_rs.nc) is too big to be attached here.

And it seemed that the number of files/folders created is incorrect for global map(-180, 90, 180, -90). For example, on level 0, according to https://cesiumjs.org/data-and-assets/terrain/formats/heightmap-1.0.html, there should be two folders with one file in earch folder. But the terrain build created 3 folders with 2 files in each folder for me. The problem can be workarounded by changing the map to (-180, 89.99, 179.99, -90). The black gap is always there no matter I apply the workaround or not.

I am guessing maybe the black gap is because the rightmost tiles need to overlap the leftmost tiles in a global map.

from cesium-terrain-builder.

michaelchin avatar michaelchin commented on August 18, 2024

We were using docker https://registry.hub.docker.com/u/homme/cesium-terrain-builder/

from cesium-terrain-builder.

homme avatar homme commented on August 18, 2024

Thank you for the comprehensive bug report. I have only used CTB for small areas and not global datasets, so you are a traversing new territory! I have a feeling that your guess that the gap is to do with a problem with the overlaps at the antimeridian is correct. The first place in the code to investigate is this function.

Are you using ctb-tile to generate both the overlay imagery tiles as well as the terrain tiles or do the overlay tiles come from a different source? If the imagery tiles are also created by ctb-tile there is a chance that the problem is manifested in both output tilesets.

I am guessing you are visualising the new gravity model from the Cryosate-2 data? If so cool!

I am busy preparing for a week abroad next week so unfortunately will likely not be able to look into this problem before my return. If you are keen to get it prioritised then we are open to getting the work funded and, of course, will gladly accept code contributions.

from cesium-terrain-builder.

michaelchin avatar michaelchin commented on August 18, 2024

Thanks Homme. We were using gdal2tiles.py for imagery tiles, which is working fine. We only used ctb-tile for terrain tiles.

Yes, we are visualising the new model in the recent Science paper. Here is the link if you are interested http://portal.gplates.org/cesium/. Currently, we are using the terrain data from http://www.vr-theworld.com/. But it does not suit our purpose very well. We need to use our own terrain data instead. I think the ctb-tile is very good. Once we fixed the "black gap", we will switch to our own terrain tiles.

from cesium-terrain-builder.

homme avatar homme commented on August 18, 2024

@michaelchin Are you able to use the latest version of master (commit ba59bba at the moment) to check whether the "black gap" problem has been resolved? There have been a couple of changes committed recently which may fix that particular issue. If it has not been resolved are you able to provide a minimal DEM dataset which replicates the problem?

The issue of there being three directories created under the top level 0 folder is a separate problem, and fairly harmless. As you found out it is caused by a very slight overlap across the date line and/or poles. Cropping the DEM to be absolutely no greater than -180, 90, 180, -90 should solve the problem.

from cesium-terrain-builder.

homme avatar homme commented on August 18, 2024

I've just remembered you are using the docker image, in which case doing a docker pull homme/cesium-terrain-builder should provide you with the latest code.

from cesium-terrain-builder.

michaelchin avatar michaelchin commented on August 18, 2024

Thanks Homme. I will try it later. A project review meeting is coming soon. I am quite busy right now.

from cesium-terrain-builder.

ethan0911 avatar ethan0911 commented on August 18, 2024

@michaelchin @homme I met the same issue. Have you solved the issue? I try to develop a server to visualize the bathymetry data. There is something wrong with the visualization outcome. The seabed is higher than the land. Do you know why? I don't know if Cesium works well on visualizing terrain underwater.
screen shot 2017-05-03 at 9 47 36 pm

from cesium-terrain-builder.

michaelchin avatar michaelchin commented on August 18, 2024

@ethan0911
I am pretty sure that the Cesium can handle negative height data(seabed). Here is a working example http://portal.gplates.org/cesium/?view=topo15 .
I think you might want to check your terrain data. It seems to me that your seabed height is not negative. Is it possible you are using unsigned integer?

from cesium-terrain-builder.

ethan0911 avatar ethan0911 commented on August 18, 2024

@michaelchin thank you for your reply. yeah, your work inspires me. I used the bathymetric data which can be accessed http://www.marine-geo.org/tools/GMRTMapTool/.
I test with this terrain tile:
screen shot 2017-05-04 at 12 27 22 pm
it shows that the altitude in the sea is negetive when I load the data in QGIS.
However, I also try to debug and inverse the raw data. Here is the result:
screen shot 2017-05-04 at 12 25 52 pm
it seems that the visualization of seabed is correct. However, there are lots of gaps on the land. Do u know any possible reason?

from cesium-terrain-builder.

ethan0911 avatar ethan0911 commented on August 18, 2024

@michaelchin you mean the data value in the raw tif is unsigned integer?
May I use your terrain data to test the code? the link [http://www.unearthedoutdoors.net/global_data/true_marble/download] doesn't work.

from cesium-terrain-builder.

ethan0911 avatar ethan0911 commented on August 18, 2024

@michaelchin I check the source file. I found that @homme use uint16_t to store the height. I wonder if the integer is cast to unsigned integer?
types.hpp
typedef uint16_t i_terrain_height; ///< A terrain tile height

TerrainTile.hpp
protected:
/// The terrain height data
std::vector<i_terrain_height> mHeights; // replace with std::array in C++11

from cesium-terrain-builder.

michaelchin avatar michaelchin commented on August 18, 2024

@ethan0911
I am using the grid from here ftp://topex.ucsd.edu/pub/srtm15_plus/.
If the height data is stored in uint16, there might be a problem.
The original problem in this ticket is due to the overlap pixel at the boundary of tiles.
If you have time, I suggest you read this paper http://journals.plos.org/plosone/article?id=10.1371%2Fjournal.pone.0150883 .
The technical details are in the supplementary section. I ended up using my own scripts to create the tiles to suit my purpose.

from cesium-terrain-builder.

ethan0911 avatar ethan0911 commented on August 18, 2024

@michaelchin May I talk to on hangout?

from cesium-terrain-builder.

michaelchin avatar michaelchin commented on August 18, 2024

@ethan0911
The work has been done more than one year ago. I can hardly remember any details. I don't think it would be effective to have a talk because it is very likely that I have to check the paper each time you ask me something. I have written down everything in the paper. And it might take weeks to have everything sorted out.

from cesium-terrain-builder.

jonaszhang avatar jonaszhang commented on August 18, 2024

@ethan0911 I meet the same problem with you. I used the data from ftp://topex.ucsd.edu/pub/srtm15_plus/ provided by @michaelchin and created the terrain tiles using the script athttp://journals.plos.org/plosone/article?id=10.1371/journal.pone.0150883
default . Have you resolved this issue? If so, would give me some help?

from cesium-terrain-builder.

ethan0911 avatar ethan0911 commented on August 18, 2024

from cesium-terrain-builder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.