limitation in data source ?

I am using Cesium 1.45 on Windows 7. My browser is firefox 52.7.2; 32 Bit

I want to render linkely huge geoJson Datasources.
Showing the data in WGS84-ellipsoid, everything is rendered. But when WorldTerrain is chosen, some data is missing; without any error message. When I reduce the datafile, all data is shown.
So I am quite sure that my software is ok.

Are there any limitations related to the size of geoJson datasources? Or to the number of points passing to “sampleTerrainMostDetailed”?

How big is your GeoJSON file? How much do you reduce it by?

Does it only disappear when WorldTerrain is chosen? It could just be that it’s underground. If you have any images/demos/data you can share that’d help a lot in figuring this out.

You could also try to turn on clampToGround when loading the GeoJSON to see if that fixes it, see: https://cesiumjs.org/Cesium/Build/Documentation/GeoJsonDataSource.html#.load

The datafiles, that don’t work, are more than 3. MB.
If I reduce to about 2 MB ( “obstacle_points_subset0_short.geojson”), there are no problems.
As it works with whatever data from the huge file; I am almost sure that the data is NOT unterground.

I attach the html and the data-files.

GeoJSONFileLoader.html (16.6 KB)

obstacle_lines_subset0.geojson (962 KB)

obstacle_points_subset0.geojson (3.52 MB)

obstacle_points_subset0_short.geojson (2.08 MB)

Thanks for providing sample data! This is definitely going to help a lot in solving this bug.

I’ve been looking through it, and I can’t seem to find the areas with missing data. Is there a particular area where this happens? How much data is missing?

If it happens in a particular location, you can add this snippet to print the location of the camera to the console so you can share it here:

document.addEventListener(‘keydown’, function (e) {

if (e.key === ‘c’ || e.keyCode === 67) {

var camera = viewer.camera;

var str = ‘{\n’;

str += ’ destination: new Cesium.Cartesian3(’ + camera.position.x + ', ’ + camera.position.y + ', ’ + camera.position.z + ‘),\n’;

str += ’ orientation: new Cesium.HeadingPitchRoll(’ + camera.heading + ', ’ + camera.pitch + ', ’ + camera.roll + ‘),\n’;

str += ’ endTransform : Cesium.Matrix4.IDENTITY\n’;

str += ‘}’;

console.log(str);

}

});

``

Otherwise, screenshots would also help.

No, it does not happen in a particular location, ALL obstacle points are not shown.

If I load the shortened file (obstacle_point_short), they are shown.
I add two screenshots

When I tested it I was able to see those cylinders with both files.

Perhaps you’re hitting some WebGL memory issue? Have you checked the browser console to see if there are any WebGL warnings?

Also, you mentioned Firefox, have you tested this in Chrome as well, does it still happen? Do you know if it happens on other devices as well?