Question

Transform GDB model to Cesium 3d tiles


Badge

I'm trying to convert my GDB model, which is modeled in City Engine, to Cesium 3d tiles. Both reader and writer are implied with default settings. The transformation process goes smooth, I found that the output models are grouped in different data set. So every time I click on one model in Cesium, a group of models are triggered and all the model share the same attributes.

What I am looking for is to keep the original amount of models after transformation, so they are independent and hold their own attributes. What settings are needed to make it work for me?


5 replies

Userlevel 4
Badge +13

Hi @asuxwq1991. Development investigated the issue and cannot reproduce it with an older and newer version of cesium. What version of cesium are you using?

 

If the cesium server is public facing, the URL to the scene would be useful as well. Development suspects the issue may lie in the javascript of your app.

Sharing a few more details will help the FME community help you. Please reply to this thread and provide additional details including:

  • The version of FME you are using, including build number and edition
  • A small sample of your data, or screenshots of the data in the FME Data Inspector
  • A description of your expected output, with screenshots if possible
  • Your FME workspace
  • Your FME translation log file
  • Any other information that may be useful to share

Badge

Hi @asuxwq1991. Development investigated the issue and cannot reproduce it with an older and newer version of cesium. What version of cesium are you using?

 

If the cesium server is public facing, the URL to the scene would be useful as well. Development suspects the issue may lie in the javascript of your app.

Sharing a few more details will help the FME community help you. Please reply to this thread and provide additional details including:

  • The version of FME you are using, including build number and edition
  • A small sample of your data, or screenshots of the data in the FME Data Inspector
  • A description of your expected output, with screenshots if possible
  • Your FME workspace
  • Your FME translation log file
  • Any other information that may be useful to share

 

Hi,@NatalieAtSafe.

 

Really appreciate your help.I' m using Cesium 1.35 edition, the cesium server currently is not available to the public, but I will try to make one if I got time.Here are some details about my FME settings.

 

Here is the 3d tiles data I got.

 

3d-tiles-ouput.zip
  • The version of FME
  • some screenshots of the data in the FME Data Inspector
Here is the sample data.

 

516gdb.zip

 

516gdb.zip
  • A description of your expected output, with screenshots if possible
If you open the data in data inspector, you can find that buildings are divided into several floors, each part hold their own attributes, that is the output I am expecting after transformation.
  • FME workspace

 

 

 

  • FME translation log file
gdb2b3dm.txt

 

 

 

 

I think I ran into a similar problem (all models from a single tile would be highlighted when picking buildings in Cesium). I am also using Cesium 1.35. After some digging, it appears FME was writing the b3dm files with an attribute called BATCHID, however I think the b3dm spec expects the attribute to be called _BATCHID (with an underscore at the start).

https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/TileFormats/Batched3DModel

For my data, I found editing each of the b3dm files in the data folder and making the following changes allowed me to select individual buildings:

  • Replace the string "BATCHID" with "_BATCHID"
  • Replace the string "FME 2" with "FME2" (removing the space means the file stays the same length and offset values into the binary data aren't broken).

Hi,

still exists in FME 2018 Beta Build 18233.

The Workaround with Replacing BATCHID by _BATCHID works only under a few limited conditions.

Badge

Hi,

still exists in FME 2018 Beta Build 18233.

The Workaround with Replacing BATCHID by _BATCHID works only under a few limited conditions.

Hi,

 

sorry for not keeping this question updated.

 

I believe that maybe after Cesium 1.37(not really sure about the exact edition), somehow the FME transfored model can be correctly displayed in Cesium, each separated model is individual and maintian its own property, at least this works for me in Cesium 1.41.

 

One more thing need to be noticed is that the transformed model doesn't contain LOD infos,so the performance will be laggy if you load like thousands of models in one time.

 

Reply