mfbonfigli / gocesiumtiler

A Cesium.js point cloud 3D tiles generator from LAS files written in Golang
GNU Lesser General Public License v3.0
169 stars 36 forks source link

Project as a starting point for a mesh tiler? #21

Closed Stonelinks closed 2 years ago

Stonelinks commented 2 years ago

Hello Massimo,

First, thank you for a great tool / library. This isn't really an issue, more of a question for you.

I have several huge obj files I'd like to tile without using cesium ion / 3rd party tools I have to pay for. There's really nothing great out there for this... so here I am exploring options for building my own. This project seems like a decent starting off point for such a tool, as it already outputs 3d tilesets, includes relevant libraries / math for reprojection, and seems to be well written / modular.

My questions for you:

  1. Are my assumptions correct or am I totally off-base considering this tool as a starting off point?
  2. How would you go about implementing mesh tiling? As much detail here as possible would be great.
mfbonfigli commented 2 years ago

Hello Lucas, I totally understand your needs as I have been there in the past. This library has been written because I didn't really have a way to generate point clouds without relying on expensive or inflexible tools and doing coordinate conversion was always something really annoying to handle that required simply too many manual steps.

Having said that my thoughts are these:

a. This library is designed to tile point clouds. If you need mesh tiling I think you are better off looking somewhere else. The algorithms involved are significantly different and there is no easy way to convert this tool to a mesh tiling system for cesium.

b. I tested this tool it on a few interesting datasets and it worked quite well, handling the conversion from las to 3d tiles including coordinate conversion and geoid to ellipsoid fix quite decently (this latter is not perfect but it's better than nothing) and in a straightforward way. However there are not a ton of good georeferenced dataset out there (actually very few) to test the system, so I cannot exclude that there are cases or reference systems where the tool does not perform as it should, simply because I could not do an extensive testing.

Overall I think that if you deal only with point clouds and you can afford to process them in memory (either entirely or chunking them in multiple tilesets) then yes, this is can be a good start for a production system