Skip to main content
Solved

3d tiles


edwin_medina
Contributor
Forum|alt.badge.img+6

Hi, I have been working on CESIUM 3DTiles generation, but I am facing challenges because the results are not aligned with my intended goals. Specifically, I am unable to achieve the desired mesh quality. The input files consist of a GeoTIFF with a resolution of 6 centimeters per pixel, and the point cloud data is stored in a LAZ file containing over 250 million points. Despite these inputs, the resulting mesh quality remains disappointingly low. I am seeking guidance on how to improve my workspace and achieve a high-quality mesh.

 

Best answer by sigtill

Hi @edwin_medina - have you looked into the PointCloudSurfaceBuilder ? Remember to tile the data first, and also work on a small sample of the data to look for the quality before you process the whole pointcloud.

View original
Did this help you find an answer to your question?

10 replies

saraatsafe
Safer
Forum|alt.badge.img+9
  • Safer
  • February 9, 2024

Hi @edwin_medina, it looks like your LAS file only contains 579,803 points and not 250 million+. Would you be able to check that: 1. your original input has 250 million+ points, and 2. that they’re all being read into FME? 


edwin_medina
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • February 10, 2024

Yes they all being read and had 250M points

 


saraatsafe
Safer
Forum|alt.badge.img+9
  • Safer
  • February 12, 2024

Hi @edwin_medina, that’s odd, having that many points should yield a good quality mesh. Would you be able to share your LAS for us to take a closer look? You can attach files here (they must be zipped) or you can send it to us via our secure FTP if you’d prefer (instructions here). 


sigtill
Supporter
Forum|alt.badge.img+24
  • Supporter
  • Best Answer
  • February 12, 2024

Hi @edwin_medina - have you looked into the PointCloudSurfaceBuilder ? Remember to tile the data first, and also work on a small sample of the data to look for the quality before you process the whole pointcloud.


virtualcitymatt
Celebrity
Forum|alt.badge.img+35

Two things to look at here - firstly your mesh data are in LL84 coordinates and not meteres - I would definitely recommend first, before going through the tin generator to reproject to meters. Maybe just try SHERICAL_MECATOR if you're not sure what to go with. 

Check the Tolerance setting in the Tin generator - if you want to use ALL the points then you will need to use 0 - if not at 0 it will throw points out which is actually a good thing but when in LL84 its really hard to pick a good tolerance (this I why I'm suggesting meters)

This means you will also need to reproject your texture too. 

As for the output I'm very interested to know the size of the output .b3dm files and how many were created.

As far as I'm away FMEs 3DTiles writer will only down sample the texture and not do any simplification to the mesh or create tiles out of a single mesh feature. It may have changed now though 

 


virtualcitymatt
Celebrity
Forum|alt.badge.img+35
sigtill wrote:

Hi @edwin_medina - have you looked into the PointCloudSurfaceBuilder ? Remember to tile the data first, and also work on a small sample of the data to look for the quality before you process the whole pointcloud.

100% this


edwin_medina
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • February 16, 2024
saraatsafe wrote:

Hi @edwin_medina, that’s odd, having that many points should yield a good quality mesh. Would you be able to share your LAS for us to take a closer look? You can attach files here (they must be zipped) or you can send it to us via our secure FTP if you’d prefer (instructions here). 

Hi @saraatsafe, sure, I just uploaded a SANCHEZ CALSIFICADO.zip file via FTP


edwin_medina
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • February 16, 2024
sigtill wrote:

Hi @edwin_medina - have you looked into the PointCloudSurfaceBuilder ? Remember to tile the data first, and also work on a small sample of the data to look for the quality before you process the whole pointcloud.

Hi @sigtill, yes, I did, but they didn’t give me the results I expected. I had to connect a PointCloudComponentTypeCoercer to it because some component types were conflicting with the transformer, even with that the translation failed. That´s why I chose the TINGeneration.

 

Note: sorry I checked this as a best answer by mistake


edwin_medina
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • February 16, 2024
virtualcitymatt wrote:

Two things to look at here - firstly your mesh data are in LL84 coordinates and not meteres - I would definitely recommend first, before going through the tin generator to reproject to meters. Maybe just try SHERICAL_MECATOR if you're not sure what to go with. 

Check the Tolerance setting in the Tin generator - if you want to use ALL the points then you will need to use 0 - if not at 0 it will throw points out which is actually a good thing but when in LL84 its really hard to pick a good tolerance (this I why I'm suggesting meters)

This means you will also need to reproject your texture too. 

As for the output I'm very interested to know the size of the output .b3dm files and how many were created.

As far as I'm away FMEs 3DTiles writer will only down sample the texture and not do any simplification to the mesh or create tiles out of a single mesh feature. It may have changed now though 

 

​​

Hi @virtualcitymatt,  this barely works. I clipped a small region of data and set the Tolerance to 0. This improved the quality a little bit, but it still doesn’t give me the results that I’m looking for.

Results vs point cloud

 


saraatsafe
Safer
Forum|alt.badge.img+9
  • Safer
  • March 5, 2024

Hi @edwin_medina, apologies for the late response here. 

You can try breaking up the point cloud into tiles first using the Tiler, then use the Cesium 3D Tiles Writer (which I believe you already are). I would highly recommend trying this out-- the Tiler will help break things up and hopefully make it easier for the writer to process more detail. 

As @virtualcitymatt suggested, you may also want to reproject your starting data to Spherical Mercator or another meter-based coordinate reference system at the beginning if you haven’t already. 

Please give this a try and let me know if you have any other questions! 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings