Skip to main content

The FME tell me that translation was successful when I converted COLLADA to Cesium 3D Tiles. But I want to look at the model of 3dtiles through FME Data Inspector, it's failed. I tried to apply this 3dtiles format model to the my project, it's also failed.

I can ensure that my collada model has no problems.The FME also tell me that translation was successful. I don't know why the 3dtiles format model will go wrong. I want to know where the problem is and how to solve it.

Hi @zhengsy, unfortunately, FME doesn't support reading Cesium 3D Tiles dataset.

0684Q00000ArKUuQAN.png

I recently tested rendering a 3D Tiles dataset created by FME via a web page (this simple HTML document) uploaded to a web server.

<!DOCTYPE html>
<html lang="en">
<head>
  <!-- Use correct character set. -->
  <meta charset="utf-8">
  <!-- Tell IE to use the latest, best version. -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <title>3D Tileset Test</title>
  <script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script>
  <style>
      @import url(https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer');
    var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: './3dtilesets/miyake-island'
    }));
  </script>
</body>
</html>

The directory structure in the web server document directory is like this. The "tileset.json" and the "data" folder containing "data0.b3dm" are from the dataset created by FME. You can see the folder "miyake-island" that contains the dataset is specified with a relative URL in the script within the HTML document ("tester.html") above.

tester.html
3dtilesets
    + miyake-island
        + tileset.json
        + data
            + data0.b3dm

Displaying on Google Chrome: The dataset has been moved upper (+Z direction), in order to ease comparing the result with the default image of Cesium.

0684Q00000ArKVHQA3.png

If you don't have a Web server, consider installing and running Apache on your machine as a local server to test rendering your 3D tiles.

See here to learn more about Apache: https://httpd.apache.org/

Hope this helps.


Hi @zhengsy, unfortunately, FME doesn't support reading Cesium 3D Tiles dataset.

0684Q00000ArKUuQAN.png

I recently tested rendering a 3D Tiles dataset created by FME via a web page (this simple HTML document) uploaded to a web server.

<!DOCTYPE html>
<html lang="en">
<head>
  <!-- Use correct character set. -->
  <meta charset="utf-8">
  <!-- Tell IE to use the latest, best version. -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <title>3D Tileset Test</title>
  <script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script>
  <style>
      @import url(https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer');
    var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: './3dtilesets/miyake-island'
    }));
  </script>
</body>
</html>

The directory structure in the web server document directory is like this. The "tileset.json" and the "data" folder containing "data0.b3dm" are from the dataset created by FME. You can see the folder "miyake-island" that contains the dataset is specified with a relative URL in the script within the HTML document ("tester.html") above.

tester.html
3dtilesets
    + miyake-island
        + tileset.json
        + data
            + data0.b3dm

Displaying on Google Chrome: The dataset has been moved upper (+Z direction), in order to ease comparing the result with the default image of Cesium.

0684Q00000ArKVHQA3.png

If you don't have a Web server, consider installing and running Apache on your machine as a local server to test rendering your 3D tiles.

See here to learn more about Apache: https://httpd.apache.org/

Hope this helps.

I also load  3D Tiles dataset with Cesium, but the result is bad. Look at this picture

0684Q00000ArMSyQAN.jpg

Then I tried to use the other 3dtiles model, all is well. I don't understand why the FME tell me that translation was successful, It's still so bad.

 

But I'm also trying to switch to 3dtiles in other formats.If you know the reason, I hope you can help me. thanks very much.

 


Hi @zhengsy, unfortunately, FME doesn't support reading Cesium 3D Tiles dataset.

0684Q00000ArKUuQAN.png

I recently tested rendering a 3D Tiles dataset created by FME via a web page (this simple HTML document) uploaded to a web server.

<!DOCTYPE html>
<html lang="en">
<head>
  <!-- Use correct character set. -->
  <meta charset="utf-8">
  <!-- Tell IE to use the latest, best version. -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <title>3D Tileset Test</title>
  <script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script>
  <style>
      @import url(https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer');
    var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: './3dtilesets/miyake-island'
    }));
  </script>
</body>
</html>

The directory structure in the web server document directory is like this. The "tileset.json" and the "data" folder containing "data0.b3dm" are from the dataset created by FME. You can see the folder "miyake-island" that contains the dataset is specified with a relative URL in the script within the HTML document ("tester.html") above.

tester.html
3dtilesets
    + miyake-island
        + tileset.json
        + data
            + data0.b3dm

Displaying on Google Chrome: The dataset has been moved upper (+Z direction), in order to ease comparing the result with the default image of Cesium.

0684Q00000ArKVHQA3.png

If you don't have a Web server, consider installing and running Apache on your machine as a local server to test rendering your 3D tiles.

See here to learn more about Apache: https://httpd.apache.org/

Hope this helps.

A possible reason is that the features have not been set an appropriate coordinate system before writing. Even if the features didn't have a coordinate system, FME would create 3D Tileset dataset, but it may not be rendered correctly.

 

Do the features have a proper coordinate system?

 

 


A possible reason is that the features have not been set an appropriate coordinate system before writing. Even if the features didn't have a coordinate system, FME would create 3D Tileset dataset, but it may not be rendered correctly.

 

Do the features have a proper coordinate system?

 

 

Thank you very much for helping me point out the problem. I really neglected the importance of the coordinate system.

 

Then I tried several common coordinate systems in China, such as WGS84, Beijing1954, Xian1980, Mercator projection system and so on.The result is not very good.

 

Can you give me some suggestions? thanks a lot.

 

 


A possible reason is that the features have not been set an appropriate coordinate system before writing. Even if the features didn't have a coordinate system, FME would create 3D Tileset dataset, but it may not be rendered correctly.

 

Do the features have a proper coordinate system?

 

 

Unfortunately it could be hard to resolve the issue unless you know the correct coordinate system of the source dataset. I would recommend you to ask the data provider what coordinate system should be set to the dataset.

 

 


Unfortunately it could be hard to resolve the issue unless you know the correct coordinate system of the source dataset. I would recommend you to ask the data provider what coordinate system should be set to the dataset.

 

 

oh.. I see. thank you very much for your help.

 

 


Reply