New boat 3D models for boats in sail-pro plugin to Virtual Regatta
Hi,
I have added to sail-pro plugin for Virtual Regatta Offshore new 3D models - "skins" for boats.
Models view: [www.www.youtube.com/watch?v=sIHWZAveyIg](https://www.youtube.com/watch?v=sIHWZAveyIg)
Start Jamaica- Havana race: [www.www.youtube.com/watch?v=uabntPNL_kc](https://www.youtube.com/watch?v=uabntPNL_kc)
Project page: [www.github.com/rururu/sail-pro](https://github.com/rururu/sail-pro)
Enjoy!
Sincerely,
Ru


Recompression of gltf using gltf-pipeline
@Alexander_Johannesen @omar @Gabby_Getz @sarah @Cesium Team
I've compressed the gltf file using gltf-pipeline it's working fine.
But problem is that i want to recompressed the compressed file after processing it, it's throwing error  given below:
**message: 'Error: Draco encoding failed.**
If is it possible to recompressed the compressed data please let me know.
Thanks in Advance


Cesium terrain altitude discrepancy
Hi,

I am working on an application where I am interested in sampling the terrain altitude when a user clicks on the Cesium globe. What I'm finding is that there are large discrepancies in the reported altitudes between the Cesium terrain and Google Earth, which I am considering "truth" in this case. Is this to be expected, or is there something I am doing wrong/can do differently (use a different asset, missing an offset, AGL vs. MSL, etc.). I've included an example of the reported altitude difference that I am seeing.

Thanks in advance.

![image|690x233](upload://uLj49qzMWewn9HuNkcn8SwzYDjo.jpeg)


Cesium terrain altitude discrepancy
Which function are you using to get the altitude value shown there—would you mind sharing your code? [This past forum post](https://community.cesium.com/t/what-altitude-is-returned-in-sampleterrainmostdetailed/8846) had a similar question, and the asker was ultimately linked to a related CesiumJS issue with [this comment](https://github.com/CesiumGS/cesium/issues/8414#issuecomment-558655669) that might explain the discrepancy.


From 3DTiles to GLB
Hello,

I have some 3DTiles (.json with LODs folders and .b3dm files in it)

How can I convert them to .glb file?

Thanks


From 3DTiles to GLB
you can unpack the .b3dm file to .glb, for example with a tool like b3dmtoglb https://github.com/CesiumGS/3d-tiles-tools#b3dmtoglb


From 3DTiles to GLB
The .Json I have also contains the localization of the tiled 3d model...
I'd like to have only one glb file from the .Json and .b3dm files in LOD folders.

Thanks


From 3DTiles to GLB
By the way thanks for the answer...


From 3DTiles to GLB
My .json file has

"asset": {
    "version": "1.0"
  },

I work in a c# app and I've found some tools but I had problems because that tool was asking for 2.0 version.

Thanks


From 3DTiles to GLB
It might be necessary to be a bit more precise about some details here.

When you say that you have "some 3DTiles", then I assume that you have a file `tileset.json`, and some subdirectories that contain the B3DM files that are used in the `tileset.json`.

And when you say that you have "LOD", then I assume that this refers to the "hierarchical level of detail" that is part of 3D Tiles: There are B3DM files that have a _low_ level of detail, and there are B3DM files that contain "the same geometry", but with a _high_ level of detail.

If this is correct, then ... trying to convert this into a single GLB does not necessarily make sense: A single GLB does not support multiple levels of detail. (There are proposals for LOD extensions, but nothing finalized yet).

What _could_ reasonably be done: You _could_ combine all the B3DM files with a _specific_ level of detail (maybe even the ones with the _highest_ level of detail), and generate a single GLB from that.

As far as I know, there is no tool that can solve this particular task _automatically_.

There are tools for converting B3DM to GLB (like the one that bertt linked to), assuming that the B3DM does not contain any form of metadata.

And there (probably) are tools that can combine multiple GLBs. (I don't know one from the tip of my head, and maybe there's not even one that can do this trivially from the command line, but there are some powerful tools that may support this with reasonable effort - see https://github.com/donmccurdy/glTF-Transform/discussions/691 for some discussion...)

The challenging part could then still be to figure out _which_ B3DM files should be converted to GLB and then merged. You'd have to traverse the tile hierarchy and find the B3DMs with the "right" level of detail (and keep an eye on whether it uses `ADD` or `REPLACE` refinement...).

All this is possible, and most of it would probably not take toooo long to implement based on some existing tools, but there's probably no convenient out-of-the-box solution for that yet.

---

Just a few remarks:

> The .Json I have also contains the localization of the tiled 3d model…

It's not perfectly clear what you mean by that, but I assume that this bascially refers to _the location of the model on the earth_. Whatever that location is, it should be possible to describe that with the appropriate `transform` on the root node of the resulting GLB asset.

>  My .json file has
>
>“asset”: {
>“version”: “1.0”
>},

If this is from the `tileset.json` file, then this is fine.
If this is from one GLB/glTF JSON file, then this means that you are still using glTF 1.0. And glTF 1.0 is not really widely supported. There are tools that can upgrade _certain_ glTF 1.0 files to glTF 2.0, but with maaany caveats, so you'd have to try out whether these tools work for your particular glTF asset.


From 3DTiles to GLB
Hello,

Thanks, your answer has helped me a lot.

Yes, I have a tileset.json and 3 LOD folders with .b3dm files in them.

The thing is that I have the tileset.json file well georeferenced when I use it on cesiumjs, but I'd like to convert it to a more common format so can be used in other 3D modeling softwares.

Would be ok if I have to use only the best LOD quality.

I'll check deeper how I can achieve what I'm looking for.

Thanks


WebXR for Oculus Quest
Are there any plans to integrate WebXR functionality into CesiumJS to allow VR mode exploration on a Quest (or other HMDs) operating in WebXR?
I know there's some functionality already in CesiumJS for [Cardboard](https://sandcastle.cesium.com/?src=Cardboard.html), but something for 6DoF headsets would be great.

P.S. I could not get the SandCastle Carboard demo to work properly on a Quest 2


WebXR for Oculus Quest
@Adrian_Onsen

Thank you for your post! I will check in with our XR team and get back to you as soon as possible. In the meantime, please let me know if you have any additional questions or concerns.

-Sam


WebXR for Oculus Quest
@Adrian_Onsen

WebXR for Quest is on the CesiumJS roadmap. However, we do not have a timeline for when it will be implemented. Cesium for Unreal will allow you to deploy your data to Occulus. This tutorial can help you get started.

https://cesium.com/learn/unreal/unreal-building-vr/

-Sam


WebXR for Oculus Quest
@sam.rothstein
Thank you for looking into this for me.
I'll check out the link you shared.


WebXR for Oculus Quest
@Adrian_Onsen

Great! Let me know if you have any other questions or concerns :grinning:

-Sam


WebXR for Oculus Quest
Hello, it's been a long time now. What's the progress of your webxr team?
If not, can you provide us with some simple demos? :grinning:


Converting tilesets to KTX2.0 texture format
I just discovered the advantages of the KTX 2.0 image compression/container.
Are there any tools available to convert existing 3d tiles (which used jpg as the image format) to the KTX 2.0 format?


Converting tilesets to KTX2.0 texture format
You can run this gltf-transform tool on your glTF or glb files: https://github.com/KhronosGroup/3D-Formats-Guidelines/blob/main/KTXArtistGuide.md#compressing-to-ktx-with-gltf-transform

Here's the main project site: https://gltf-transform.donmccurdy.com


3D Tiling getting stuck at 74%
I have been trying to upload a model for several days and the file will get uploaded, but then stalls during tiling at 74% every time. I have tried variations of the model and they still get stuck at the same point. Any advice?


How to make polyline not scale when camera change
How to make polyline not scale when camera zoomin or zoomout like the below picture(green line).
![polyline|390x254](upload://tlkJjSrf9RArZaHFYQOEZRLAfkI.gif)


Add '+' and '-' icon for zoom in and zoom out
Is it possible to add '+' and '-' while creating map for zoom-in and zoom-out response along with touch or mouse response?
Is it possible to override CSS of infobox?


Add '+' and '-' icon for zoom in and zoom out
you can use the camera api to achive this -
create two html buttons (you can use absolute positioning to place them above the maps div).
create an event listener for each button and use viewer.camera.zoomIn() and viewer.camera.zoomOut()

you can also use the viewer.camera.defaultZoomAmount to adjust the amount of zoom in each call


Add '+' and '-' icon for zoom in and zoom out
For posterity, [here's](https://sandcastle.cesium.com/index.html#c=lVRbb9MwFP4rVnlYKho36dpua0vFNvZQtGkTVCChvLjxSWrNsYsvHWXaf+fkxlpgIJKHOOd83/F3LnaitsyQrYAHMOQNUfBALsEKX9BPlS04SqvfS60cEwrMUY88JorgY+CrB+s+gOJgbjSHCXHGQ6/2FuybKHxRe5eigMs1UzliFioTSrhdg3Pokhh4QjImbctmShTMCa0OzStm4ZrtwNyJ9B7ModOmoKDU8SenA2NQ/53RW8FLZ5NlaoA5+KyN5MsaEnQbCirIwez+RlnUkKCbqKfuNFF1HWmlhG6MKIQTW7CUcR4csG9tceGF5ELlNujuUVOp03uaemNAubJs2JSG+d5LwdQ7ZNPM6GJh9ek4ioOjQTSIwugsjOJlPJ4MjifxGY3G8eB0dBIPB2enJ/HZaPjl6Dd9udQroBw2br3EPp7nmLx1TRVw27KZyHmWxgowjGZyt9RBNQMcaUJVfSI/y3PJjMMVU8eVzHeQGwAbhPFgQIfxyahHjk/oeITfYRTVtdZGYLZtnGa81sDK8jwHvmFuTZ3+gGambBDRqO3URrh0/SIwjEct9Knp0685cciYl+6L1sV5ob1ymP44qoCZV2kl7Ds6Fzgd5JEcklvHtAx/AL/17gV85akIieI69QXmT3NwVxLK5cVuwYOkUyJDocKVd06rpNMtB+lqi4BrYR320CAolTjuSafXCOzVY19m+Y/A2rv/iIyK90J3ep2ZdTsJ87Ksb0Wx0cYRb2RAad9BsZE4pra/8ngSHU2tLUmEVLmHG6ZAtm3eaCvqg85WVkvvYNp06hA+J7XWnzwUjOMxIdG0NmR4Q4VWfMebRDKTw775AUS+dhOy0pI39gfB3XpCRtHm27S9XNL73GD3eZhqqfHAvyqP1qDdoDVmUL6tylm/rcOMiy0R/A0W7vDKTDoklcxa9GReyo+oMenMZ33EH9Ckrib+dgtGsl0JWcfz69pIKZ318fd3ltNarpjZi9h42z2fi4iYUvWsqWRF/3XG5q9n/Xr9AnZ/bObhHrjd/gc) an example of what this might look like.


Announcing Cesium OSM Buildings
Hi everyone,

We've just announced the release of Cesium OSM Buildings, a 3D buildings layer covering the entire world.

[Read all about it on our blog!](https://cesium.com/blog/2020/06/01/cesium-osm-buildings/)

![Cesium OSM Buildings in Denver|690x418, 100%](upload://fN7ES7buTkWOZ0uogaMJCF7gasP.jpeg)
*Cesium OSM Buildings in Denver*

Oh, good, you're back from reading the blog. As one of our CesiumJS power users, you're probably interested in the technical details. Great!

Similar to Cesium World Terrain, Cesium OSM Buildings is hosted on Cesium ion and is streamed to your end-users' web browsers on demand. It uses the [3D Tiles](https://github.com/CesiumGS/3d-tiles) format, which arranges tiles into a hierarchical level-of-detail structure so that just the areas that are needed for the current of view - and with appropriate detail - are transferred and loaded. We originally designed 3D Tiles for Cesium, but it has seen fantastic adoption throughout the industry and awhile back it even became an [OGC Community Standard](https://www.ogc.org/standards/3DTiles). Cesium OSM Buildings arranges the tiles into a loose quadtree. Imagine that each of the dots in the diagram is a building. Buildings are loosely arranged into quadtree tiles, but buildings on tile edges can spill into adjacent tiles without being artificially split in two.

![The loose quadtree structure used in Cesium OSM Buildings](upload://o7pNPwRth4xskg1RI7LJyMGGXN6.png)

The dataset consists of about 3 million tiles and hundreds of gigabytes, containing in total over 350 million 3D buildings. The buildings themselves are derived from OpenStreetMap's [Planet OSM](https://planet.openstreetmap.org/), and include full OpenStreetMap metadata ("tags" in OSM parlance) for every building and building part. The buildings - and, in fact, the building parts - can be styled on-the-fly using [3D Tiles Styling](https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling).

OpenStreetMap does not use triangle meshes or multipatches to describe buildings. Instead, bulidings are represented in the source data as extruded 2D polygons with optional roofs of various shapes on top of them. The flexible schema is described in the OSM wiki's [Simple 3D Buildings page](https://wiki.openstreetmap.org/wiki/Simple_3D_buildings). Our custom pipeline turns these descriptions into triangle meshes in glTF format and batches them together for efficient rendering. Even though the buildings are batched together, however, they are still queryable and styleable as distinct features. This makes it easy for CesiumJS-based applications like [Cesium Stories](https://cesium.com/ion/stories/viewer/?id=2f0131ab-3948-4467-947c-411d5705a116) to display the metadata for a building on click.

![Metadata for Saint Peter's Basilica shown in Cesium Stories|625x500](upload://3mY5PE2OQ9vRyjeBAxKlur1Oxyw.jpeg)

As we mentioned in the blog post, being based on OpenStreetMap means that anyone can improve the dataset! We think this is very cool. Initially, we're committing to updating Cesium OSM Buildings on a monthly basis, but we intend to increase the cadence over time. Continuous updates are not out of reach. Anytime we talk about editing OpenStreetMap, however, we want to support the OSM community by reminding everyone: [don't tag for the renderer](https://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer). Please do fix inaccuracies in the OSM data. You'll be a legend. But if you happen to find a case where the OSM data is correct yet you're not happy with how Cesium OSM Buildings renders it, please [let us know](https://github.com/CesiumGS/cesium-ion-community/issues) instead of working around it by editing the data.

We're not the first to render OpenStreetMap buildings in 3D. But we believe OpenStreetMap 3D buildings and CesiumJS make a tasty pairing, bringing the rich natural environment of Cesium World Terrain together with a useful model of the built environment. On top of that, you can then bring your own data, leveraging the static and dynamic visualization that CesiumJS is famous for. We're proud of the attractive outlined rendering, enabled by the new [CESIUM_primitive_outline](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline) glTF extension, which is now implemented in CesiumJS and is available for use in other glTF and 3D Tiles datasets. And we're proud of the rendering performance, particularly given CesiumJS's completely unconstrained camera views. For most styles, we're able to render entire cities using just a single draw call per tile, minimizing the overhead of rendering in a web browser.

Please [try it out](https://sandcastle.cesium.com/?src=Cesium%20OSM%20Buildings.html) and let us know what you think! For the best experience, please make sure you're using [CesiumJS v1.70](https://cesium.com/blog/2020/06/01/cesium-june-release/).


Announcing Cesium OSM Buildings


Announcing Cesium OSM Buildings
Looking good. Thanks Cesium. I expect the unique building rendering will find its way into https://terria.io/ when v1.70 is migrated? Though I note Australia is typically behind the US here.

Shown is the view of the Sydney CBD, Australia. Together with the soil type.

![osm|690x407](upload://r89j7ouvFXFgOKtgtL5vUfMqfUN.png)


Announcing Cesium OSM Buildings
Hi Russell,

Yes, TerriaJS will get the outline rendering automatically when it upgrades to CesiumJS v1.70. You can get the building coloring today just by adding a style to your catalog item:

    style: {
      color: "Boolean(${feature['cesium#color']}) ? color(${feature['cesium#color']}) : color('#ffffff')"
    }

Kevin


Announcing Cesium OSM Buildings
Hi,
OSM Buildings looking good. I would like to use a similar style in my solution. I use my own generated buildings served with ion. Is it possible to add primitive outlines to these gltf models. In this collection, it uses KHR_draco_mesh_compression extension. Is it possible to use CESIUM_primitive_outline with KHR_draco_mesh_compression?


Announcing Cesium OSM Buildings
[quote="barti1507, post:5, topic:9757"]
Is it possible to add primitive outlines to these gltf models
[/quote]

What type of data are you uploading to Cesium ion? If you're uploading glTF models I think you should be able to add the extension Kevin mentioned (https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline) to your source data and retain that through the tiling process.


Announcing Cesium OSM Buildings
This is a great addition to Cesium. Thanks the Cesiumjs development team for your tireless contribution!


Announcing Cesium OSM Buildings
[quote="omar, post:6, topic:9757, full:true"]
[quote="barti1507, post:5, topic:9757"]
Is it possible to add primitive outlines to these gltf models
[/quote]

What type of data are you uploading to Cesium ion? If you’re uploading glTF models I think you should be able to add the extension Kevin mentioned (https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline) to your source data and retain that through the tiling process.
[/quote]
Thanks for the answer. It is possible to enable or disable outline dynamically, e.g. using the settings of the cesium itself? I don't want to use silhouette for this. I need this solution to control the map and content style.


Announcing Cesium OSM Buildings
[quote="henryqng, post:7, topic:9757, full:true"]
This is a great addition to Cesium. Thanks the Cesiumjs development team for your tireless contribution!
[/quote]

Thanks for the kind words Henry! I'm curious to hear if there's a specific project or application you're planning on using Cesium OSM Buildings for.

[quote="barti1507, post:8, topic:9757"]
It is possible to enable or disable outline dynamically, e.g. using the settings of the cesium itself? I don’t want to use silhouette for this. I need this solution to control the map and content style.
[/quote]

This isn't currently exposed in CesiumJS, I opened a GitHub issue here with some details on how this can be done by modifying the source code: https://github.com/CesiumGS/cesium/issues/8959


Announcing Cesium OSM Buildings
thanks a lot for osm buildings.
Next step : do you plan to add osm bridges ? (prevents me from doing my own experiments)


Announcing Cesium OSM Buildings
Hi,

> Next step : do you plan to add osm bridges ? (prevents me from doing my own experiments)

Can you perhaps point us to OSM documentation on tagging bridges (especially for 3D), or to examples of well-tagged bridges?

Thanks,
Kevin


Announcing Cesium OSM Buildings
hi ;
i have posted some trial of drawing main bridges in a range of 100kms with a bridgeurl to get bridges ways with their nodes at the same time

you can find it there => [http://chungswebsite.blogspot.com/2020/06/mycesiumflight-osm-openstreetmap.html](http://chungswebsite.blogspot.com/2020/06/mycesiumflight-osm-openstreetmap.html)


Announcing Cesium OSM Buildings
Hi. can i use Navmesh in here?


Announcing Cesium OSM Buildings
Hi,

Great work on adding OSM Buildings. I notice the actual OSM data itself is getting quite dated. Do you have any intention to update it (an initial "one-off" would help, but ideally on a regular basis)?

Thanks,


Announcing Cesium OSM Buildings
We were updating it monthly for awhile, but I've been caught up in other priorities lately and haven't updated it in ages. Thanks for the bump, we'll aim to get back to a regular cadence soon.


Announcing Cesium OSM Buildings
Hi Kevin,

That's great to hear - thanks for the update.

Steve


Announcing Cesium OSM Buildings
I'm not sure if this is the correct thread to put this in, but I found a completely broken building in OSM Buildings. It is located in the town Beckenried in Switzerland. Just thought someone would want to know.
![2023-03-07|690x373](upload://y4LBpm23hCuIFxq4CNw8TOPTMa2.jpeg)


Announcing Cesium OSM Buildings
Thanks @martin_d. The OSM data here is a little odd. There's a relation of type "route" that is also tagged with "building: commercial", so Cesium OSM Buildings is trying to treat that as a building.
https://www.openstreetmap.org/relation/13955819

There are some actual buildings in that relation, such as this one:
https://www.openstreetmap.org/way/121883765

But that giant triangular thing is this way:
https://www.openstreetmap.org/way/23093079

Which has a role of "route" and no tags that mark it as a building.

So I think tagging the entire route relation as a building is probably incorrect tagging and could potentially be edited in the OSM data, which would fix this problem. But also our Cesium OSM Buildings tiler should probably explicitly exclude ways inside a relation that have a role of "route". And that would also fix the problem without editing the OSM data.

I've written an issue for this internally and will try to get the tiler change into the next release. But if you agree the building tag on the relation is wrong, and are comfortable making edits to OSM, that would be appreciated as well.

Kevin


How to view the updated log each time the version is updated
I use Cesium in UE,each time I update cesium,there is no updated log .where can I find it.


About the problem that entities cannot be displayed
![image|690x281](upload://t8ZTy3vIRWCuJAXqcf2WLQo9S27.jpeg)
Why the line and the column cannot be displayed after i used Cesium.Cartographic.fromCartesian(position1) in line 34.
![image|690x310](upload://1Dd9GOHJMdHeRcTwFBogvg70xDy.jpeg)


Capturing individual 3D objects from b3dm file
Hello,

I have a batched 3D model in b3dm format containing 3D tiles (an example is attached) and I'm looking for tools that can help to get the geometry data of each individual object. I need this geometry data to calculate the volume of these individual objects.

I would like to ask you:

* if it is possible to capture the geometry data of each 3D object.
* If there is a tool/library/framework that helps to extract these geometries.

I've already done a lot of research to find a tool that can help, but couldn't find one.

I would be very grateful for your help.

Thanks in advance

[batched.zip|attachment](upload://4wNeZbDsUSg3qrdP7W1ZRCo19Xl.zip) (4.7 KB)


Capturing individual 3D objects from b3dm file
there are many similar tools that can help you to get the data transfer into individual object. but most of these are in Chinese version, i am not sure do you still need these tools. if yes you can send a email to chatonly@126.com and i will send you these tools once i read it.


Cesium Security Certification
Hi,
We're keen on making use of Cesium as a platform and need to make sure that it conforms to certain security protocols we have as an organisation. Is there any information available on this and/or what would be the best way to find out more?
Many thanks!


Cesium Security Certification
Bumping politely as any help here would be great!


Coordinates probleme
 I got a probleme and that is when I put citygml file to cesium ion it dosen't fit in the right location and it's like and longitude and the latitude are switch. It's like if the right X is -7.617758 and the right Y is 33.595294 and in the cesium ion X become 33.595294 and Y become -7.617758

here is my citygml file
[casablanca.zip|attachment](upload://9mS0bjzgoVEToxNE2JCxYKBpVKl.zip) (492.4 KB)


Introduce yourself here!
Whether you're new to the Cesium community or a long-time contributor, please tell us a bit about yourself, and where you're based! It would also be fun to share how you got into Cesium and 3D geospatial.


Introduce yourself here!


Introduce yourself here!
I'm Omar Shehata, and if you're on this community forum you'll probably see my face a lot :wave:

I'm in Philadelphia with the rest of the Cesium team, and I started working at Cesium about ~2 years ago as a graphics programmer, and right now I do a lot of community support, helping you build awesome things with Cesium, and work on improving our documentation & code examples.


Introduce yourself here!
Hi, Omar!
My name is ZhenfengJin.
I am a software developer with over 10 years of experience in GIS, especially 3D Web GIS based on CesiumJS, development.
I have worked with Construkted Reality from 2018 and helped launching Construkted Reality.
I designed the backend API of the Construtked Reality and implemented it with Node.js.
I developed FPV(First Person Camera) controlling module, measuring module, CesiumGS tileset location editing module and immersive Ar module.
I am very passionate about 3D WebGIS, specially CesiumJS and nowadays trying to understand 3D tile ecosystem.
Thank you!


Introduce yourself here!
Hi everyone! 👋 I’m Sam Suhag, and I joined Cesium as a 3D Software Developer in January of this year.

I used to be a Simulation Programmer at Purdue University, where I was assigned to an FAA research project aiming to display volumetric weather using 3D Tiles. After working with CesiumJS and 3D Tiles, I was lucky enough to get on board the Cesium team. Since then, I've been working towards advancing 3D Tiles to enable more diverse use cases and even better performance. I'm also passionate about ensuring harmonious integration of CesiumJS across the web/JS ecosystem.


Introduce yourself here!
Hello all :wave:,

I am Aristeidis Bampakos and I live in Greece. I work as a Front End Web Developer at [Plex.Earth](https://plexearth.com/) where I am mostly focused in Angular development. Plex.Earth is the maintainer of the [Cesium-Angular](https://github.com/Developer-Plexscape/cesium-angular-example) project, an open source starter pack for getting started with Angular and Cesium. I have written a blog post that explains how to use it in more details [here](https://cesium.com/blog/2018/03/12/cesium-and-angular/).

My first interaction with Cesium dates back in 2017 when we were investigating alternative solutions to integrate 3D maps in our product, except Google Earth. I thought that since we are probably going to use Cesium, why not help to improve it, right :thinking:?

Generally I love to help in open source projects. So when I do, I go for the most trivial issues so that I can get comfortable with the codebase. Initially, I tried to fix issues with label `good first issue` as the [contributing guide](https://github.com/CesiumGS/cesium/blob/master/CONTRIBUTING.md) explains (Make sure to read it first if you want to contribute also. It is very clear and concise :100:).

To be honest, 3D is not my best point in programming in contrast to Angular :joy:. So, later on I tried to help in other ways such as tooling and documentation. I was involved in the early days of generating type definitions for the library and also to improving documentation. Styling is my thing so I even redesigned the error panel (something that you should not see normally :sweat_smile:)

> Helping in an open source project should not always be in the norm of creating features or fixing bugs. There are so many other ways to contribute such as: write documentation, create a tool, answering questions to the forum, write a good issue to request a new feature or file a bug. Things that may not look important at a first glance but are equally useful for the community.


Introduce yourself here!
Hello Everyone,

I hope things are going well for you.  I wanted to introduce myself.  I have been involved with software development, primarily in Win32, since around 2006.  I work in a language called Clarion.  I'm sure many here have never heard of it.  Here's a link to it's description:

[Clarion Description](https://en.wikipedia.org/wiki/Clarion_(programming_language))

I have also worked in C#/.NET and currently dusting off my JavaScript skills with Cesium.

I have to take a moment to compliment the folks behind the development of Cesium.  You have done a great job in creating an amazing environment for creating rich, imersive, mapping experiennces.  Great job!

I currently working on transitioning my 2D map applications from Win32 to a more operating system agnostic JavaScript based model.

I have a fleet of vehicles that transmit their GPS locations using NMEA sentences via web sockets.  What I haven't figured out is how to update my 3D model's positions and orientations in real time on Cesium map.  But, i'm sure I'll figure it out.

Anyway, that's me.  Take care and I look forward to learning from you.

Don


Introduce yourself here!
@Aristeidis_Bampakos this is super cool hearing your "back story"! And I just want to echo what you said about contributing to open source:

> Helping in an open source project should not always be in the norm of creating features or fixing bugs. There are so many other ways to contribute such as: write documentation, create a tool, answering questions to the forum, write a good issue to request a new feature or file a bug. Things that may not look important at a first glance but are equally useful for the community.

I can imagine countless hours have been collectively saved by your Cesium + Angular blog and materials, for everyone who was looking for a way to quickly get started. Lowering barriers like that makes technology like Cesium accessible to more people, and that's awesome.

@donridley welcome to the Cesium community! Thank you so much for the kind words.

 > I have a fleet of vehicles that transmit their GPS locations using NMEA sentences via web sockets. What I haven’t figured out is how to update my 3D model’s positions and orientations in real time on Cesium map. But, i’m sure I’ll figure it out.

I'm actually working on a new tutorial right now that would help explain this! Feel free to open a new topic if you're still having trouble and I'm happy to point you in the right direction.


Introduce yourself here!
Hello World!

I'm Jordi Torres, I just joined Cesium as a 3D developer. I'm based in Spain sunny east coast. I've been involved in GIS, 3D, and massive visualization for years accross very different projects.

I'll do my best to try to solve the issues you may have :).


Introduce yourself here!
Hello World, and thanks @omar for the invite.

I am [TJ Koury](mailto:tj@digitalarsenal.io), I live near Washington D.C. and work with the government doing geospatial things.

I recently started a company called [DigitalArsenal.io](https://digitalarsenal.io), and we are working with [Celestrak.com](https://celestrak.com) to create an [accurate, interactive Cesium web app showing objects in public satellite catalog](http://celestrak.com/cesium/orbit-viz.php?tle=/pub/TLE/catalog.txt&satcat=/pub/satcat.txt&referenceFrame=1).

We are also working on our own freeware distro of Cesium called [C137.js](https://www.npmjs.com/package/c137.js).  Recently we have been working on some blockchain / crypto projects, and as a test decided to use BTC for software signing whenever we publish it to npm.


Introduce yourself here!
hi , my name is wayla


Introduce yourself here!
Hey I'm Brian!

I work for [onXmaps](https://www.onxmaps.com/), an outdoor-focused company based in beautiful Montana.  We help people discover access opportunity and plan trips for outdoor activities such as hunting and off-roading.

I got into Cesium for displaying 3D web maps on our web application.  I have had little-to-no 3D or GIS experience prior to this, but Cesium has really been pleasant to work with for both the geospatial and 3D side of things.  I think it's really sparked an interest in pursuing 3D development further for me.  Props to the Cesium team for making and maintaining such a great product.

Thanks!


Introduce yourself here!
Hi I'm Anu,

I currently work at nearmap where I first started playing around with cesium and geospatial imagery and tilesets. Nearmap uses aerial imagery to construct high resolution maps and tilesets to make it easier for people to plan sites remotely.


Introduce yourself here!
I'm Shashi Kumar Verma  especially working on arcgis product, recently started working on Cesium 3D.


Introduce yourself here!
Hi, I’m Kathy.

I’m a newbie to 3D mapping and rendering and very intrigued by CesiumJS. I’m in a masters data visualization program, a data manager in my career up to now and have a visual art background. I’ve been learning QGIS and d3 and I’m interested in learning anything to do with visualizing spatial and temporal data.

I was thrilled to find such great things happening in my home city Philadelphia! Cheers!


Introduce yourself here!
Hello, Tamrat Belayneh, I'm the lead author for [Indexed 3D Scene Layer (I3S) OGC community standard](https://www.ogc.org/standards/i3s). I have over 20 years of experience in 3D software development. Over my career I have worked in advancing 3D graphics in the geospatial industry and have contributed as a 3d developer and engineer in various ArcGIS family of 3D products at Esri. I have also authored and presented numerous articles and technical talks including GTC, Siggraph, Foss4G, Esri's developer and users conferences and many other internationally recognized conferences.

In the last few years, I have been focusing on using Machine Learning and Deep Learning in advancing 3d object recognition and mesh segmentation within a geospatial context.

_Tam


Introduce yourself here!
Good information thanks for sharing
[vmware](https://www.fieldengineer.com/skills/vmware-engineer)


Introduce yourself here!
Hello everyone，i am Zhang Han from Guangzhou, Guangdong, China. My English is not very good, so you will see a lot of weird grammar :laughing:
I am a developer who likes to solve all kinds of strange problems. I came into contact with cesium through the company I currently work for. I am trying to use cesium instead of arcgis to do some government projects. I also hope to contribute to the development of cesium.


Introduce yourself here!
Hi Omar, I used to work in Geospacial 20 years ago with the Environment Agency UK. I now run a spreadsheet consultancy agency and a few months ago discovered Unreal Engine and started experimenting with real world 3d heightmaps etc.
I've been looking forward to the Cesium/UE plugin ever since I first heard about it a couple of months ago, and I'm just thrilled at the possibilities that it presents.
Well done to everyone involved in this project.


Introduce yourself here!


DME to 3dtile file
hello everyone,
I have some DME terrain file,I want to change these file to 3dtiles.Follow https://github.com/CesiumGS/3d-tiles ,but couldn't found any  structure description related to the terrain(for example, coordinate system, latitude、lontitude and height storage arrangement).Where can I find relevant information?


DME to 3dtile file
3D Tiles geometry (vertex positions) is stored in a Cartesian XYZ coordinate system, not longitude/latitude/height. The coordinate system of each tile may be whatever is convenient for the tool producing the tileset (and for precision, the origin should be near the center of the tile). However, after any transforms are applied, including transforms on the glTF nodes and transforms on the tiles in the tileset.json, the coordinates should almost always be expressed in Earth-Centered, Earth-Fixed. See this section of the spec:

https://github.com/CesiumGS/3d-tiles/tree/main/specification#coordinate-reference-system-crs


DME to 3dtile file
Follow this spec,I seem to understand.
3D Tiles is also a collection of files.Take quantized-mesh as a comparison,the overall structure is the similar,has is an entrance and many terrain files.The difference is that each file of b3dm can use its own coordinate system and set the location of each b3dm terrain in tileset.json.Quantized-mesh is to set the display range of each level. UE will find the corresponding terrain file according to the range and load it.Is that right?


DME to 3dtile file
Yes, that's right. The terminology we use is that quantized-mesh terrain uses _implicit_ tiles, whereas in 3D Tiles the tiles are defined _explicitly_ in the tileset.json. However, it's also possible to use implicit tiling with 3D Tiles using this extension:
https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling

Implicit tiling is also supported in 3D Tiles v1.1 without an extension, but this is not supported by Cesium for Unreal just yet:
https://github.com/CesiumGS/3d-tiles/tree/1.1/specification#implicit-tiling


Implicit tiling and discrete LOD's?
In the 1.0 samples there is a sample with discrete LOD's see https://github.com/CesiumGS/3d-tiles-samples/tree/main/1.0/TilesetWithDiscreteLOD . I'm wondering how to achieve this effect with 1.1 Implicit Tiling (using a quadtree for example). Any ideas?

I was looking for some option in the tile semantics (https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata/Semantics#tile-semantics) but not convinced it's possible to achieve discrete LOD's using that.


Implicit tiling and discrete LOD's?
anybody have some suggestion?


Implicit tiling and discrete LOD's?
Just to get a better idea: It sounds like the goal here to have an overall structure for the tileset that is similar to the [one discussed in another thread](https://community.cesium.com/t/implicit-tiling-request-tiles-from-child-subtree-files/22048/4).

The difference would/could then be that there is a `content` available in _each_ of these 3 levels. This `content` could then just be the different LOD levels of the sample that you linked to. I think that this _should_ be possible (but would have to try it out - maybe I'm overlooking a caveat here...)


Implicit tiling and discrete LOD's?
in the sample 1 tile is replaced/refined by another tile depending on geometric error (so the tiles span the same region).

In the implicit tiling case there is a predefined quadtree, I don't think there is a possibility to define that a specific tile should be replaced/refined by another (so on the same level) depending on geometric error?
Only possibility I could think of is create the refined/replacement tile on another level (but that would mean splitting the original tile).


Implicit tiling and discrete LOD's?
If the goal is to basically have a fixed-size box, filled with _one_ model in different levels of detail, then the structure of the sample model should accomplish that goal. Implicit tiling usually implies _subdividing_ the model on the lower levels.

At which point do you see a limitation of the approach that is used in the sample model? Or conversely, which problem are you trying to solve with an implicit tiling approach here?

(One could try to force things, with some quirky workarounds or emulations - like overriding the bounding boxes with semantics, to basically "bloat up" one child to occupy the same space as the parent, but I'm not sure whether that would even have the desired effect. At this point, it might rather make sense to have a `UNITREE` subdivision scheme in addition to `QUADTREE` and `OCTREE` :D )


Ever considered creating a new web or rust library similar to Unity & Unreals?
Cesiumjs seems to be a self-contained viewer with its own rendering engine. Is it possible to recreate a version of the library that is similar in design to whats being done with Unity & Unreal? Would be great to be able to develop specific experiences & apps using 3d mapping but in web-based engines like threejs, babylonjs, etc while making it easy to incorporate into existing 3d based applications.

Here's an example of @𝗪𝗼𝗼𝗼𝗿𝗹𝗱 AR experience of using 3d maps.(https://twitter.com/haltor/status/1594166328356704258)
Being able to recreate this using threejs & webXR would be pretty amazing. I've seen this sort of thing being created using the cesium's unity library recently, so it makes me wonder why not the web too. This sort of experience is something I'd love to do on a personal level.

On a professional level, having the library detached from the renderer & being able to reuse in other web based renderers makes it easier to use in existing tools. For me internally we've been toying with basic tile rendering for the web along with using WebXR to create VR prototype experiences of things like walking around while being able to place & transform assets in the scene with the hopes of geo anchoring them to tiles. Would save us time in the long run if we could just use a 3d map library like the unity cesium to handle the mapping part of things. Other fun ideas is to incorporate physics & do car races around the world, do pokemon go like things or geo caching to name a few other things.

When it comes to how the library is created, Typescript would be the logical step for something this big & complicated. I'd probably prefer using Rust compiled to web assembly. Not only will you get a performance boost & better memory management, but it can go beyond the web. Using projects like Wgpu which is written in rust & leverage's WebGPU to create applications for the web and native desktops / mobile. It can go one step further by using the rust binding library to make it usable in the godot game engine. This approach will be far reaching & reusable where typescript will limit things to just the web.


Ever considered creating a new web or rust library similar to Unity & Unreals?
@sketchpunk Welcome to the community! It's great to see someone as passionate about 3D and xr/geospatial as we are.

As you mentioned, what you describe is exactly how Unreal & Unity and our other native client projects are created, through a renderer agnostic core library, [cesium-native](https://github.com/CesiumGS/cesium-native) (open source, just like our other clients). cesium-native could absolutely be used to build Cesium for godot or any other thick client engines.

While we currently don't have any plans to create a full-blown web equivalent to cesium-native, we _are_ very interested in using technologies like WebAssembly to compile cesium-native for use on the web. It's not something we're actively exploring yet, but definitely something we have our eye on.

Cesium cesium-native is open source, you could actually try that our yourself if you were interested. Such a library could then be integrated into Three, Babylon or other general-purpose web-based renderers.


How to build localwebserver for cesium
I would like to know how to build a localwebserver.


How to build localwebserver for cesium
https://cesium.com/learn/3d-tiling/on-prem/hosting-3d-content/


Can Bing map Aerial with Labels imagery support chinese translation？
Can Bing map Aerial with Labels imagery support chinese translation？


Can Bing map Aerial with Labels imagery support chinese translation？
Hi

I believe Bing Maps provides a culture that needs to be added to CesiumJS. There is an issue open for this here: https://github.com/CesiumGS/cesium/issues/8839. Please feel free to chime in and the CesiumJS team will see if they can prioritize.

Shehzan


Can Bing map Aerial with Labels imagery support chinese translation？
Can you change the bing map language in the unreal engine?Thank you.


Shapefile Conversion and App API
Hello everyone,

This is my first time here on the community forum. Please let me know if this is posted in the wrong category.

1.	Does Cesium support shapefile uploads? If not, is this feature in the works?
2.	Is FME the only other option available to convert from shapefile to an acceptable format? Is there an open source, Cesium provided app or any other viable methods to quickly and efficiently convert shapefiles?
3.	In our app, we want to add features to all property locations. Is that functionality built in Cesium where we can customize and create features within the 3D world on every property?
4.	Utilizing geodatabase metadata, we would like to add this information to each owned property. Is this functionality available?
5.	Will the application be able to display a large area map without losing quality or contain noticeable slowdown? Does Cesium only displays a city or specific area at a time?


Best practice to build 3d app
Hi to everyone,

thank you for your work!

I hope it it the right place to post my question or to seek advice, but correct me if I'm wrong.
I have to build an app for our costumer that need "something like google earth", in his words.
The app should render a 3d model of the terrain, some data from PostgreSQL/postigs and Oracle db anche some raster (ortophotos mostly). I was wondering about the best solution in my case.

I thought that the best solution would be
1. put everything on cesium ion and stream the data from there.
But i'm not quite sure about how to deal with db vector data that can be updated and modified by the end-user (with other tools). Is there something I'm missing?
Can I serve vector data  as wms/wfs with an applicaton server such as Geoserver/QGIS server?

2. Another concern is the possibility that the costumer does not want to use ion and I had to create the
the terrain tiles myself with someting like [this](https://github.com/geo-data/cesium-terrain-builder) but the managment of the db vector data will be more or less the same and in the end it's tha main doubt I have.

I'm sorry if it's not the right place or the right way to post this question, feel free to close it in that case.

My best regards,
Francesco


Scheduled Maintenance for Cesium ion on December 30th, 2022
Hello all,

There will be a scheduled maintenance for Cesium ion on Friday, December 30th, 2022 at 8pm EST (UTC-5). It is expected to last up to 6 hours. We will be using this time to upgrade our cloud infrastructure as part of some exciting improvements we will be announcing next year.

During this time, Cesium ion will be available, but read-only:

* Most client application will be unaffected. You will be able to stream your 3D Tiles tilesets or premium Cesium assets such as Cesium World Terrain and Bing imagery.
* Creating/deleting/modifying assets, Stories, teams, tokens, etc.. will be unavailable.
* OAuth-based applications will be unable to login to Cesium ion.
* New account sign ups will be disabled

While we do not plan for ion to become completely unavailable at any point in the maintenance window, as with any major infrastructure upgrade there is always a  possibility for small pockets of downtime.

The Cesium Community has members across the world, and in different work week schedules. To ensure up-time and stability of Cesium ion, and impact the least number of users, we are performing this upgrade during a known period of low traffic.

We will use [https://status.cesium.com](https://status.cesium.com/) to keep everyone updated on the status of the maintenance.

If you have any questions or concerns, please reply below.

Thanks,

The Cesium Team


Scheduled Maintenance for Cesium ion on December 30th, 2022


Scheduled Maintenance for Cesium ion on December 30th, 2022
Hello, I’m Hidenori Watanave, a certified developer of Cesium.
Happy New Year!

Since the end of the year (perhaps after the mainteinance), the URL of Cesium Stories has been changed so that embedding in iframe is no longer possible.

Old URL: https://cesium.com/***
New URL: https://ion.cesium.com/***

For example:
https://www.yomiuri.co.jp/world/ukraine-reconstruction/bridge-over-irpin-river/
https://japannews.yomiuri.co.jp/world/europe/20221222-78935/
They are featured in Cesium Blog:
https://cesium.com/blog/2022/11/15/major-japanese-newspaper-using-cesium-stories-ukraine/

The error message is:

```
Refused to frame 'https://ion.cesium.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' https://*.[zscaler.net](http://zscaler.net/)".
```

I have 2 requests:

1. Please redirect Cesium Stories contents from the old URLs to the new URLs.
2. Please make it embeddable in iframe. The redirect is not possible because it is set to “frame-ancestors ‘self’” as shown in the error message.

Since they are mass media content, please address this as soon as possible.


Scheduled Maintenance for Cesium ion on December 30th, 2022
The bug seems to have been fixed.
Thank you for your quick response!


Draco compression for entire tileset
I'm looking for a tool to apply draco compression to an entire tileset (all the .b3dm tiles inside the tileset).
Does a tool exist?

I know the Cesium 3d tile validator tool (on the github page) but that only applies the changes to one b3dm file, not an entire tileset.


Professional 3D Scanner
A [professional 3D scanner](https://www.scoobe3d.com/en/) that improves your business process. The Scoobe3D is a world-exclusive handheld 3D scanner. This easy-to-use scanner can scan any material precisely, even reflective surfaces. The Scoobe3D GmbH is constantly working on a product that truly adds value. Their result: The Scoobe3D – A professional 3D scanner based on a new revolutionary scanning technology. With this portable 3D scanner, you can create seamless 3D models of any visible material and precisely scan reflective surfaces without having to post or pre-process them. At the bottom line, the Scoobe makes 3D as easy as 2D.  Let us shape the future in 3D together!


The globe and terrain have disappeared
When I booted into Cesium locally, the globe and terrain disappeared.
I would like to know if you know the reason.


The globe and terrain have disappeared
hi @Katsuhiko_Kitammura
I too had a similar problem.

Try changing "default Access Token" in "packages > engine > Source > Code>in.js".

If not, find the old access token key in the local folder and replace all token keys in the folder.


Using createOsmBuildings() in Resium library
Hi everyone,

I am planning to do a simple Cesium project using Resium library.
At the start of the project I got a problem with adding primitive using Resium.

In Cesium if you want to add 'createOsmBuildings', you simply do as following:

```
const viewer = new Cesium.Viewer("cesiumContainer", {
  terrainProvider: Cesium.createWorldTerrain(),
});

viewer.scene.primitives.add(Cesium.createOsmBuildings());
```

But in Resium I could not add the OSM buildings. I tried the following:

```
import { Entity, EntityDescription, PointGraphics, Primitive, Viewer } from "resium";
import { Cartesian3, createOsmBuildings, createWorldTerrain } from "cesium";
const osmBuilding = createOsmBuildings()
                   <Viewer full >
                        <Primitive ></Primitive>  // how to add the perimitive?
                        <Entity position={position} name="Tokyo">
                            <PointGraphics pixelSize={10} />
                            <EntityDescription>
                                <h1>Hello, world.</h1>
                                <p>JSX is available here!</p>
                            </EntityDescription>
                        </Entity>
                    </Viewer>
```
Can anyone please help me?


Using createOsmBuildings() in Resium library
You can get it to work by grabbing a ref to the Viewer and then add them in a useEffect():

```
import { useRef, useEffect } from "react";
import { Viewer } from "resium";
import { createWorldTerrain, createOsmBuildings } from "cesium";

const terrainProvider = createWorldTerrain();

export default function Cesium() {

  const viewerRef = useRef<any>();

  useEffect(() => {

    if (viewerRef.current) {
      // Add Cesium OSM Buildings.
      const csEl = viewerRef.current.cesiumElement;
      csEl.scene.primitives.add(createOsmBuildings());
    }
  }, []);

  return (
    <Viewer ref={viewerRef} full terrainProvider={terrainProvider} />
  )
}
```

Or just add this under your Viewer node:

```
import { Viewer, Cesium3DTileset } from "resium";

...
return (
    <Viewer ref={viewerRef} full terrainProvider={terrainProvider} >
        <Cesium3DTileset url={IonResource.fromAssetId(96188)} />
   </Viewer>
);
...
```

(It seems that 96188 is the Asset ID for Cesium OSM Buildings)


Quantized-Mesh revolution
Hello,

I'm just raising a possible evolution for Cesium terrain model.
So far I have used and generated HeightMap and later on QuantizedMesh terrains over the past years.

Today 3D-Tiles Next is available, everything is a GLTF extension.

The idea here would be to do the same with QuantizedMesh, after all everything in a QMesh can go in a GLB with all the benefits it can bring in compression, speed and source code simplification.

* QMesh vertices -> GLTF primitive positions
* QMesh lightning -> GLTF primitive normals
* QMesh watermask -> GLTF texture
* QMesh metadata -> GLTF extras

The missing elements : Center; MinimumHeight; MaximumHeight; BoundingSphereCenter; BoundingSphereRadius; HorizonOcclusionPoint;

* Could be used if present in the metadata
* Or use the clipping/frustum culling technique from the 3d-tiles implicit-tiling

This would allow users to have a 3dtiles data both as terrain and scene, which is often the case.

What do you think ?


Best engine for rendering 300 drones over 3D tiled buildings and elevation at 60fps
I could use some advice.  I have a need to render 300 drones, all moving at once over a city (say, Las Vegas), complete with high-resolution 3D tiles/textured buildings, and over land that shows different elevations, all within a 60fps, non-jittering smooth display.  That's not even half of it - - - I also need to be able to show past and future trajectories, collision-thresholds, ability to follow specific drones, and render protected airspace.  The goal being to show the highest resolution possible at the highest frame-rate possible.

I would like to know if I should use CesiumJS, Cesium ION, Cesium for Unity, Cesium for Unreal, or Cesium for O3DE.  In a perfect world, this would all render in the browser.  I doubt that CesiumJS would be able to pull this off at 60fps.  I was originally thinking that perhaps the Unreal Engine with html browser export would help, but it appears that it discontinued.

If doing all that is not possible within a browser, that's ok - - - I could just use some advice on which other engine to use.  It _sounds_ like O3DE is specially designed for this "pulling in real-world 3D data and using it within a high-powered engine".  If I don't use ION, does that mean I lose out on all the 3D building texture tiles?  Any advice is greatly appreciated.


3D tiles not rendering/streaming
Hello everyone,

I've uploaded a couple of .b3dm files to cesium ion and I'm having problems with the visualization, the files doesn't seem to be streaming or rendering the 3D model. I have other files from a month back and those ones work fine. All the files have been generated with the same software (DJI Terra).
Do you have some idea of what can be causing this ?

Thank you. Best regards,
Franco


3D tiles not rendering/streaming
Hi,

I apologize that you are seeing this error. Can you please provide me with the asset id of the asset that you are seeing this incorrect behavior for?

Thanks,
Ankit


3D tiles not rendering/streaming
Hi Ankit,

Yes, the ID: 2222702.

Thank you,
Franco


3D tiles not rendering/streaming
Hi,

The source file here seems to be a capture asset and not `.b3dm`s. The job in this instance failed due to a known limitation on our current generation pipeline to handle assets like these. We are in the process of developing a new tiling pipeline which should would help fix these types of issues. I have added this thread to an internal tracking issue and will update you once the new pipeline is out.

Thanks,
Ankit


3D tiles not rendering/streaming
Hi Ankit,

Is this limitation new ? Cause the old files that I've uploaded before are also from a drone capture.

Thanks. Regards,
Franco


3D tiles not rendering/streaming
Hi,

I apologize for the confusion here. I mixed up the asset id you had provided and was looking at the wrong asset. Looking at the asset id `2222702` it is loading a tileset. Would you be able to provide the error that you are seeing? And also what you are expecting the asset to look like?

Thanks,
Ankit


Blue screen with Google Photorealistic 3D tiles
I'm experiencing a problem with the Google Photorealistic 3D tiles. Out of nowhere, the screen on my project turned blue, and I can't see the map anymore. The same thing happened to me this morning, but it started working again after around 20 minutes. I was hoping that if I waited, it would be fixed again, but it's been more than 3 hours and no luck. If I create a new project, I can see the map, but not the 3D buildings from Google Maps.

![Capture|690x326](upload://zPQsw2DdR2kHMFkR69UetnRUufY.jpeg)
![Capture2|690x335](upload://4cXxoMAnYzns5NwEKFmt7JyBmRM.jpeg)


Blue screen with Google Photorealistic 3D tiles
I am getting the same thing. Google Photorealistic 3D tiles is not showing up in ion. I can see it in my javascript builds but no longer in ion.


Blue screen with Google Photorealistic 3D tiles
Hi,

Thank you for reporting this behavior. We have recently had a spike in our activity using Google's data through the Cesium account and reached our daily experimental release quota several times. Since this feature is still experimental this may mean that Cesium Stories may not load Google's data if we go over our limit.

For this reason we ask all our users to set up their own accounts to access the Google API directly if they are building applications using Google's data. Instructions for creating your Google API account are: https://cesium.com/learn/photorealistic-3d-tiles-learn/

Thanks,
Ankit


Blue screen with Google Photorealistic 3D tiles
Thank you! I have my Google API account, but where do I connect it with Ion? I'm also experiencing other bugs. For example, every time I position a 3D object, I get an "Internal server error," and the position is set to the initial position again. It also happens quite often that when I try to capture a new view from a slide, it stays on the loading page that says "capturing view," and I need to restart the project.


Blue screen with Google Photorealistic 3D tiles
Hi,

As I said in my previous post, unfortunately with Cesium stories there isn't a way to let users specify their own keys since it uses our account's keys currently. Since this feature is experimental, some unusual behavior is expected to arise but there shouldn't be any errors. I have added this thread to an internal tracking issue for updating our Stories for the full release.

Would you be able to provide any screenshots of the error you are facing and also the errors in the browser console if you see any? And confirm that there aren't any network problems causing the "capturing view" issue. Finally, could you try positioning your assets with a base terrain different other than Google's tiles and see if the problem persists.

Thanks,
Ankit


Blue screen with Google Photorealistic 3D tiles
I don't think it's my network connection that's causing the “capturing view” issue because every time that happens, if I go back and open the project again, I can do a new capture.

I created a new project using Cesium World Terrain, and I'm having the same problem when I try to position any asset. I can position my old assets, but when I try to do it with a new one, it's not working. I know the problem is not related to the asset I'm trying to import because I also tried uploading the same asset twice. One I imported yesterday, and it works fine, but the new one won't save the position.

This is the error I'm getting after saving the position:

![Capture3|690x330](upload://uobJAzZR1s1iZbUPxydRsbgSDd5.jpeg)


Blue screen with Google Photorealistic 3D tiles
Hi,

That certainly seems like a bug. I will open a ticket for the team to look at what may be happening with this particular asset. Does this still happen if you reupload the asset now and try to position it?

Thanks,
Ankit


Blue screen with Google Photorealistic 3D tiles
Yes, I just tested it out, and I'm still experiencing the same bug. I don't think it's a problem with this particular asset since I uploaded several ones, and none of them worked.

I also uploaded one that worked perfectly fine on previous occasions, but if I re-import it, I get the error message, and it won't save a new position. The problem seems to be with all the new assets; if I try to re-position an old asset, it works well.

I really appreciate your help since I'm working on a project, and to finish it, I need to position different assets along the experience. Thank you!


Blue screen with Google Photorealistic 3D tiles
Hi,

We have deployed a fix for the positioning issues you were seeing. Please give it a try again and reach out again if you continue to see any issues.

Thanks,
Ankit


Blue screen with Google Photorealistic 3D tiles
Thank you so much. Now it's working.


Textured Mesh Import
Hi,

New to the platform so please excuse. Can i ask how to correctly import textured mesh to the story assets?

Do I just zip the folder with all of the tiles, the .mtl file and the .obj file inside and upload?

Thank you.

John


Textured Mesh Import
Hi,

Yes you can upload the asset as a pile of files or as a zip with all the mtl/obj files. Once you upload them you can add them to a story by creating a new story and clicking the `Add asset` button. Here is our documentation for Cesium stories: https://cesium.com/learn/ion/cesium-stories-overview/

Thanks,
Ankit


Textured Mesh Import
Thank you,

I have managed to upload and make a story now.

However it seems to have patches that have not rendered. Have you any idea how this could be?

![Screenshot 2023-09-06 132114|690x319](upload://6uSRBAfpjzyhSPKvJbD25J2T5vL.jpeg)

You can see the difference in the brickwork. On the model before import this area is fine.


Textured Mesh Import
You can also see here on the brickwork.

![Screenshot 2|249x500](upload://9H9zUhUuqJ1hYliScxM2Kj61oBe.jpeg)


Textured Mesh Import
Hi,

Cesium loads tiles of greater visual quality as you zoom towards/move your viewer towards an object. The reason for the above could be that the model hasn't loaded the tiles yet or your viewer may need to move a little closer to load the tiles with the higher quality for the left portion of the images that you have shared.

Thanks,
Ankit


Support tiling georeferenced 3D models into 3D Tiles
_Moving this issue from https://github.com/CesiumGS/cesium-ion-community/issues/39._

The current workflow for tiling 3D models on Cesium ion and putting them in the right place on the globe involves one of the following options. The model's coordinate system must be in some local system where the units are assumed to be meters.

1. Upload the model, and geolocate it using the "Adjust Tileset Location" editor, see: https://cesium.com/docs/tutorials/integrating-with-3ds-max/#geolocating-your-data
2. Use the Cesium ion REST API to upload the model and pass in the longitude, latitude, and height.
3. Use a plugin from your photogrammery/modelling software that automatically passes the model's location (using the REST API under the hood).

It would be nice to support more ways to geolocate models that are common, like:

* Read metadata/sidecar files exported by common tools like Context Capture, Pix4D, Reality Capture, Agisoft Photoscan, etc. These are typically XML/text files that list the lon/lat/height.
* Support models whose vertices are already positioned on the right place on the globe.


Support tiling georeferenced 3D models into 3D Tiles
Hi, I've been visualising major transport infrastructure projects for over ten years across a variety of real time platforms.  I've recently moved to a large global AEC and I'd love to explore utilising Cesium to help provide some web enabled capability, however this is a critical issue for ingesting the data we want to visualise.  I'll try to step through the workflow for context, and I'd love to discuss further here or via email.

- I work on projects such as highways and rail alignments, that could be dozens, hundreds or even 1000 kilometers in length (Australia is a big place)
- This data is provided via CAD (typically AutoCAD, 12D, Civil3D, etc).
- The data is usually stored in a UTM style coordinate system (so the data is cartesian coordinates, not WGS84).
- I want to visualise this in Cesium, with accuracy being of critical importance.
- I want to utilise Cesium Ion / Tiling tools to tile up this data and create different levels of detail.  This data is way too big to load in as a GLTF, without lodding.
- I can upload this data via FBX/OBJ/DAE and have it tiled via Ion up with levels of detail, which works fine.
- The problem is, even if I provided lat/long location for the center of the model, my model will only be accurate in the centre.  Because the source data is UTM, and the globe is WGS84, my model will become progressively less accurate the further away from the centre I get, as my model does not take into account the ellipsoid of WGS84.
- This isn't really an issue for BIM models as they're spatially quite small, but on a several hundred kilometer highway model, this could mean inaccuracies in the realms of meters or more, and with no curvature baked into my model I assume it will be floating at the edges too.
- I understand there are workflows (FME maybe?) for creating WGS84 3D tiles datasets - but these don't benefit from the LOD systems built into Ion.

So, the key requirement here is:

- Upload a highly accurate, georeferenced model in an existing spatial coordinate system (non-WGS84)
- Have ion transform the model into WGS84
- Have ion tile and lod
- Display in Cesium

Alternatively, if you didn't want to support transforming, the workflow could be
- Upload a highly accurate, georeferenced model already transformed into WGS84
- Have ion tile and lod
- Display in Cesium

How feasible is the latter?  Could we work with you on a proof of concept?


Support tiling georeferenced 3D models into 3D Tiles
[quote="majorclod, post:2, topic:10524"]
The problem is, even if I provided lat/long location for the center of the model, my model will only be accurate in the centre.
[/quote]

You are correct, this is exactly the problem that's described here: https://community.cesium.com/t/support-tiling-3d-models-with-different-coordinate-systems/10525. Cesium ion doesn't currently support models with vertices in a different coordinate system. What you can do as a workaround is, given that Cesium ion requires a local coordinate system:

* Reproject your model to ECEF
* Compute the center of the vertices, and translate them to the center of the Earth. Call this translation T
* Upload and tile on Cesium ion
* Translate the model by the inverse of T, back to its place on the surface of the Earth.

Feel free to start a new topic here on the forum with your questions if you're not getting the expected results and we'd be happy to take a look.


Support tiling georeferenced 3D models into 3D Tiles
Hello everyone,

I am wondering if there is any update on that matter ?

My team is using photogrammetric software such as RealityCapture and ContextCapture, that allows to automatically convert a model to b3dm format  and to georeference it accurately in Cesium ion (this works well and we are using it).

The problem is that sometimes, we are postprocessing our models using Blender or alike, hence working with OBJ or COLLADA format, in local coordinates system (non WGS84).It would be very handy to be able to have them placed automatically on Cesium ion.

The georeferencing needs to be very accurate so the manual "adjust Tileset Location" is not suitable.
I tried to bind COLLADA models to a kml file according to [this thread](https://community.cesium.com/t/supported-georeferencing-information/14843/3), the georeferencing seems to be working but, unfortunately, tiling to b3dm with the "KML/COLLADA" option does not retrieve a LOD that is satisfactory for large meshes. It seems that there is much less LOD generated compared to the "3D Models" upload option.

I also tested the CESIUM REST API mentioning the lat/lon/height of the model's center but I am unsure on how to estimate the vertices center accurately enough and converting it to WGS84 (centroid, center of the bounding box ?)

Indeed having the option at the upload to read XML/text files to automatically place the model would be great. For information, here is an example of XML from ContextCapture:

```
 <?xml version="1.0" encoding="utf-8"?>
<ModelMetadata version="1">

	<!--Spatial Reference System-->
	<SRS>EPSG:2056</SRS>
	<!--Origin in Spatial Reference System-->
	<SRSOrigin>2532600,1152100,0</SRSOrigin>
	<Texture>
		<ColorSource>Visible</ColorSource>
	</Texture>

</ModelMetadata>
```

Is it something that is still investigated by Cesium ?


Support tiling georeferenced 3D models into 3D Tiles
Hi Team,

It might be old question here but,

how do you compute the center?

Thanks


Support tiling georeferenced 3D models into 3D Tiles
did you find a solution? I have the same probelm


Support tiling georeferenced 3D models into 3D Tiles
Has there been any progress on this? I am looking to tile georeferenced models generated by OpenDroneMap with Cesium Ion.


Support tiling georeferenced 3D models into 3D Tiles
Hi,

Can you please open a separate forum issue detailing the problems you may be facing in there? This is an older thread and the problems you may be seeing might be different from the one listed here.

Thanks,
Ankit


Malformed GLTF data in Cesium OSM Buildings?
Hi there,

I am testing QGIS implementation of 3D Tiles and opening OSM buildings dataset triggers some errors about malformed GLTF data:

"BIN Chunk end does not aligned to a 4-byte boundary."

This happens for example in these tiles:
 - https://assets.ion.cesium.com/asset_depot/96188/OpenStreetMap/2023-01-02/1/1/0.b3dm?v=16
 - https://assets.ion.cesium.com/asset_depot/96188/OpenStreetMap/2023-01-02/2/5/1.b3dm?v=16

"Insufficient storage space for Chunk1(BIN data). At least Chunk1 Must have 4 or more bytes, but got 0."

This happens here: https://assets.ion.cesium.com/asset_depot/96188/OpenStreetMap/2023-01-02/root.b3dm?v=16

These errors are reported from the underlying tinygltf library which fails to load those tiles. The errors seem valid, at least the first one also gets picked by an independent implementation (https://gltf-viewer.donmccurdy.com/).

Is tinygltf being too picky, or should the OSM Buildings dataset get fixed?


Malformed GLTF data in Cesium OSM Buildings?
Hi,

Can you please show the errors you are seeing in the console. Also to gather more information, what is your use case to load Cesium OSM buildings in QGIS? The OSM dataset is a 3d tiles dataset so are you trying to convert that to a gltf?

Thanks,
Ankit


Malformed GLTF data in Cesium OSM Buildings?
Hi Ankit

For more context - I am one of the developers working on bringing 3D Tiles to QGIS, thanks to a grant from Cesium (https://cesium.com/blog/2023/05/16/cesium-announces-first-ecosystem-grant-recipients/). I do not have any specific use case for Cesium OSM buildings dataset, other than making sure it works fine when users try to  load it in QGIS. I am not trying to convert the dataset to gltf - the 3D Tiles dataset references b3dm/gltf files which the QGIS client tries to open, but fails in some cases.

The errors I am getting (the double quoted text in my first post) are coming from tinygltf library which is used to load 3D Tiles content in QGIS.


Malformed GLTF data in Cesium OSM Buildings?
Hi,

Thank you for the detailed reporting. At first glance, it does seem like it may be an issue, I have asked the team to take a look at this for you.

Thanks,
Ankit


Malformed GLTF data in Cesium OSM Buildings?
Hi Martin,

The first errors look to be valid - Cesium OSM Buildings is violating the spec here. Though there's also no technical reason (to my knowledge) that the binary buffer must end with proper alignment when no other data follows it. Which I guess is why other clients currently load this without any trouble and we didn't notice the spec violation.

The root.b3dm is a little more subtle. It's intentional that this tile have no content. The spec says (in section [4.4.3.3](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#binary-buffer)):

> When the binary buffer is empty or when it is stored by other means, this chunk **SHOULD** be omitted.

That's not a "must", so it's allowed (though discouraged) and if tinygltf is flagging it as an error then it is technically in the wrong here.

I'll try to get these all cleaned up for the next Cesium OSM Buildings update, but it may be a little while yet. If there's an easy way in the meantime to make the glTF parser tolerant of these kinds of problems, I'd recommend doing that. It's a tricky issue, with advantages and disadvantages on both sides, but in general I think visualization clients should do their reasonable best to work with the data they're given, even if it technically contains spec violations. They shouldn't act as validators, because most users are using data created by someone else and have no ability to fix it.


Malformed GLTF data in Cesium OSM Buildings?
Thanks for the detailed reply, Kevin!

The tinygltf library author is quite receptive to PRs, so it may be possible to get this fixed on the client side - I just wasn't sure if you were aware of that...


Asset stuck on "Initializing tiling pipeline..."
Hi,
I uploaded textured model and it got stuck "Initializing tiling pipeline". ( see Image ).
It works on a new account but not on this one which was close to the storage limit when I first uploaded it, but it is still not working even after deleting other assets.

asset id 2238656
![image|547x331](upload://6VjwXKsKYYeMxMlZWbeJPDCphSl.jpeg)


Asset stuck on "Initializing tiling pipeline..."
Hi,

I have just checked the logs for this asset and looks like the job ran and completed successfully. Please take another look now to check if you can see this asset now in your account.

Thanks,
Ankit


Large amount of DAE seems not to work with Cesium ION
Hi everyone,

I've tried to upload a KML/Collada file with more than 70 DAE files. Everything works fine, but the display in Cesium, e.g. the sandcastle leaves out large parts of the original geometry.
I've dug into this and here is my assumption:
* it seems that Cesium cannot handle more than 70 DAE files
* geometries like 04-TUSM for example produce ~ 121 DAE files
* the naming of the 3d tiles is `<tile number>/<2^(tile number)-1/0.b3dm`
* this works "well" until tile 70, then the output switches to scientific notation:
      + 69: "69/590295810358705700000/0.b3dm"
      + 70: "70/1.1805916207174113e+21/0.b3dm"
* our assumption is, that during the file creation process special characters like `.`, `e` and `+` are being replaced or deleted
* thus the file is not accessible under the URL where it should reside
* the result is that some tiles are not loaded in Cesium and you get the holes in the view.

The asset in question: 2203051
How it looks like in the sandcastle:
![04TOMM-cheese|690x383](upload://d7ZbQlL9sov3zCSYIYiX5H8MFFq.jpeg)

I did not find the proper repository on Github so I assume this is done with non-public code. Otherwise I would have looked more into it.

Cheers,
Paul


Large amount of DAE seems not to work with Cesium ION
Hi,

I apologize that you are seeing an error, Cesium should be able to load the tilesets and the file limit shouldn't be the cause of this issue. I will open an internal ticket for the team to take a look at error you are facing loading this tileset. Can you please let me know which options you chose and the workflow to tile this asset?

Something like the following would be very helpful:

1. Upload the asset using the ion UI
2. Pick option `XYZ` for `What kind of data is this?`
3. ..

I would also recommend trying to run this once with `Draco` compression turned off if you had it selected

Thanks,
Ankit


Large amount of DAE seems not to work with Cesium ION
Hi Ankit,

1. The data had been uploaded via the ION GUI
2. The kind of data is `KML/Collada (tile as 3d tiles)`
3. The reference is `Mean Sea Level`
4. Draco had been enabled.

However, disabling Draco does not change anything to the observed output.

Best,
Paul


Large amount of DAE seems not to work with Cesium ION
Thank you for that additional information. I have created a feature request for our team to take a look at your asset.


Embed video in the Infobox
Hi Everyone,
I'm new to the Cesium Stories creation. I like the infobox and find it very useful, but I would want to take it further by having a video embedded into the Infobox which would be more engaging than text. This could be a YouTube video iframe if needed.
I'm trying to create a map with a lot of heritage buildings and assets, and I would want people to watch a video about this different model as they navigate through the story.
Cheers,


Embed video in the Infobox
Hi,

Currently we don't have support for videos or iframes in the Cesium Stories infobox. The infobox currently only allows for jpg, png and gif media inputs. I have created an internal feature request for the team to look into adding such a feature to their roadmap.

Thanks,
Ankit


Embed video in the Infobox
Perfect, I might try to use the GIF for the moment, but the video will bring good value in the future.
Thank you for sharing the request with your team.


KLM error when selection own terrain as reference
Hello,

I can't select my own terrain for kml files. They won't upload. But when I select a deafault terrain within ion they are uploaded.How come?

" Something went wrong with this asset. To report this issue, please email [support@cesium.com](mailto:support@cesium.com) with the asset ID: 2197414.

To help resolve this faster, include any relevant information about your data, such as what software you used to export it."

It has worked before but I have not uploaded kml/kmz in a while. First I thought something was wrong with my terrain so I deleted it and re uploaded it.

Thanks in advance
A


KLM error when selection own terrain as reference
Hi,

Thanks for reporting the error you are seeing. I have created an internal ticket for the team to look at this and will let you know when I have an update from them.

Thanks,
Ankit


KLM error when selection own terrain as reference
Hi,

Just to let you know, I have the same problem with cityGML, tried it today.

Thanks
A


KLM error when selection own terrain as reference
Hi,

Thanks for reporting that too, this kind of information is helpful. I will keep you updated once we have a fix.

Best,
Ankit


KLM error when selection own terrain as reference
Hi,

Thank you again for reporting this issue. We have deployed a fix for the error you were seeing and now KML/CityGML clamping should work as you would expect.

Thanks,
Ankit


3DBuildingTiler on Prem Issues
Hi,

I am getting an error when trying to convert my CityGML Data (around 15gb gml and textures around 200 plus gb) with the on prem tiler:

![image|605x53](upload://mizTPR6xDR7iVhmR5DR4IN0thrS.png)

I am using this command : ./3d-buildings-tiler.exe -I CityGML -i "Input path" -o "Output path" --citygml.sourceSRS EPSG:3414

I also get several warnings:

![image|690x41](upload://aUai9N2koswVw4CAbtxy7pc1XoW.png)

![image|690x288](upload://pXdk5spViwMhKNfGKskx2wb1mwC.png)

But I don't think these are the reasons as i had the same warning when converting a smaller dataset and it was successfully converted.

Appreciate any insight and help on the matter.


3DBuildingTiler on Prem Issues
Hi,

If you could, please answer the following questions, so that we can understand what may be happening here better:

1. Which version of the tiling pipeline are you on?
2. Could you check to see what spatial reference system the source data is in? It should be specified via the `srsName` property inside the gml file.
3. Did the smaller tileset that you tried also have the same spatial reference system?
4. Could you also try to run the above command while leaving out the `--citygml.sourceSRS` flag?

Thanks,
Ankit


3DBuildingTiler on Prem Issues
Hi Ankit,

Answering your questions below:

1. version 4.6.1
2. SRS is 3414 (svy21)
3. Yes, it had the same srs

4. I was initially using the command without --citygml.sourceSRS but had to put it in because of the missing srs in my gml before the < cityObjectMember >

the solution for this from the forums was to either add this in my gml:

    <gml:boundedBy>
        <gml:Envelope srsName="EPSG:3414" srsDimension="3">
          <gml:lowerCorner>30967.193 30675.149 3.895</gml:lowerCorner>
          <gml:upperCorner>30979.474 30684.741 10.611</gml:upperCorner>
        </gml:Envelope>
      </gml:boundedBy>
< cityObjectMember >

or to use the --citygml.sourceSRS flag

The error mentioned above is new to me : ***Invalid destination spatial reference system*** as usually I get an error ***Missing spatial reference system*** without the above solution. I am not sure what destination means in this case.


3DBuildingTiler on Prem Issues
Hi,

I would like to add that this happens after quite sometime of validation and not straight away.

Sorry, but can I check if there's any info on this. I am currently evaluating the software and have a bit of a tight timeline.

Thanks and appreciate any help on the matter.


3DBuildingTiler on Prem Issues
Hi @darvil

We will contact you directly to try and replicate the issue with your source data.

Very respectfully,
-Kyle


Processing a large KML/COLLADA dataset
We are trying generate 3D tiles from a 3.5 GB archive that contains around 16 million buildings in KML/COLLADA format.

The archive successfully uploads into Cesium ion, but the processing fails shortly with "Invalid File" error.

Previously, I've tried uploading a subset of this archive and it was working without any problems. So I think that the structure of the archive is correct, it's the size or the number of files that causes this error. Is there some internal limitation that doesn't allow to process large datasets like this?

![image|333x500](upload://yROZG7fZI9AvfT6znzDwQuP0rmT.png)


Processing a large KML/COLLADA dataset
Hi,

Thank you for reporting the issue you are seeing. I have opened an internal ticket and linked back to this thread for the team to take a look at this error. I will reach out to you as soon as I have an update.

Thanks,
Ankit


Processing a large KML/COLLADA dataset
Hi,

To provide you with an update, we have undeleted your asset and are trying to re-tile it with an updated process. I will keep you updated with how the tiling goes.

Thanks,
Ankit