3d - the new standard for maps - cesium...3d - the new standard for maps omar shehata (@omar4ur)...

36
3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly work on developing our open source tools & supporting the ecosystem. I want to talk to you about the value in visualizing things in 3D beyond just pretty pictures. We’ll start with what it means to have a 3D map, and go through some examples and use cases.

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

3D - The New Standard for MapsOmar Shehata (@omar4ur)

Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly work on developing our open source tools & supporting the ecosystem. I want to talk to you about the value in visualizing things in 3D beyond just pretty pictures. We’ll start with what it means to have a 3D map, and go through some examples and use cases.

Page 2: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

CesiumJSAn open-source JavaScript library for world-class 3D globes and maps in the browser

Open StandardsStream massive heterogeneous 3D geospatial datasets with 3D Tiles

Cesium ionSubscriptions and web

services for 3D content, including 3D tiling for

your data

For a quick background, for those who don’t know Cesium is an end to end platform for 3D geospatial data. We’re most commonly known for CesiumJS, the open source JavaScript library for 3D globes and maps on the web. But we also do a lot of work with open standards, we created 3D Tiles and co-created glTF, which together make it easier to stream massive 3D datasets. And then there’s Cesium ion, a subscription service for finding 3D content, as well as tiling and hosting your own. This is where the satellite imagery for most Cesium applications is hosted for example.

Page 3: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

What do we mean by “3D” ?

So, what do we mean by 3D? This terrain looks 3D. There’s a lot of detail you can see here with the elevation and these slopes. But it’s not “true” 3D, because every position on the surface here can only have one height value.

I learned that this was a big deal while going on a road trip once from Philadelphia to Pittsburgh. I was on the bus, and it was a particularly hilly countryside, so I wrote a little Cesium app to display the terrain outside my window as we moved, so I could see how well our data reflected what was actually here. Everything was great, until we went under this bridge...

Page 4: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

2.5D bridges

I can tell you that is not what this bridge looks like in real life! At first I thought this was just bad data, y’know, maybe if the drone was flying closer it could have captured what’s under that bridge, but this has more to do with this terrain being represented as what is commonly known as 2.5D. If your data is stored as just a grid of x,y values, with a height for each position, then it makes it impossible to represent things like bridges, overhangs and cliffs.

Page 5: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

2.5 Data - Extruded Building Footprints

opendataphilly.org/dataset/buildings

Another popular type of 2.5D data is building footprints that are extruded by height. This is easy to work with because you might have the shape of each building as vector data, and you just need to figure out the height of each building, and you can generate a dataset like that. The problem with this is that you can’t represent domes or any shape that can’t be made from extruding a polygon.

Page 6: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

3D data - photogrammetry

So you couldn’t really represent this church for example and have information like the slope of the various roofs. This is a photogrammetry dataset of Philadelphia captured by Bentley.

Page 7: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Here is city hall, from the same dataset. Imagine you also wanted to know the surface area for this structure. This would be straightforward to compute with this 3D data, but you couldn’t do this with just the extruded footprints.

Another big advantage here is that we can map these photographic images to the geometry as they appear in the real world. If you tried to do this with extruded buildings...

Page 8: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Here’s what it would look like. Since you only have information for the position and height, you have no way of mapping the textures to the sides or anything that isn’t directly facing up.

Page 9: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Rooftop Inspections

One application this opens up is remote inspections, since you’re able to capture a ground truth. We’ve had customers do this for insurance purposes, to assess damages to properties. A lot of times someone needs to go through a building and verify that say, 200 new AC units were installed throughout. This becomes much easier to record and verify with this kind of data.

This is a dataset of NYC captured by Nearmap.

Page 10: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

The actual shape & geometry of the building also matter if you’re trying to do line of sight analysis. In this case, you might be interested in whether you can be seen from a particular rooftop, say for defense purposes. Or you could also just be interested in Urban Planning and learning how a new development might impact the light reaching the neighbourhood.

Page 11: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Submillimeter accuracy with Point Clouds

cesium.com/blog/2018/02/05/historic-pharsalia-cabin-point-cloud/

In situations where accurate measurements matter, capturing point clouds can give you very precise and high resolution data. This is a historic cabin in Virginia captured by Trimble. And yes, this is not a photograph, this is a point cloud!

Page 12: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Submillimeter accuracy with Point Clouds

cesium.com/blog/2018/02/05/historic-pharsalia-cabin-point-cloud/

Here’s another view of the same room.

Page 13: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Submillimeter accuracy with Point Clouds

cesium.com/blog/2018/02/05/historic-pharsalia-cabin-point-cloud/

You could then do things like cut a particular cross section of this house and take measurements.

Page 14: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Submillimeter accuracy with Point Clouds

cesium.com/blog/2018/02/05/historic-pharsalia-cabin-point-cloud/

Here’s a clearer GIF of the measurements. You can measure distances as well as areas.

Page 15: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Visibility

Visibility analysis is another big area where 3D provides a lot of value. For example, here we’re trying to figure out if this plane is in the restricted air space, defined by the red zone. It looks like it is.

Page 16: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Visibility

But if we tilt the camera, we can see that it’s not at all!

Page 17: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Flying “Under the Radar”

This is actually where the term “flying under the radar” comes from. This isn’t just a toy example. You can be out of range of a radar by literally flying under the volume it can detect.

Page 18: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Can this radar station see the aircraft?

2D 2.5D

Here’s another example. Can this station see this aircraft? It looks like there’s a clear line of sight. The 2.5D even includes terrain, so we know there’s no mountain or anything blocking it.

Page 19: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Can this radar station see the aircraft?

But this doesn’t take into account that the Earth is round! The earth’s curvature causes around an 8 inch drop ever mile, which matters over distances smaller than you’d expect. So it turns out there isn’t a direct line of sight here.

Page 20: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Satellite Tracking

The original use case for Cesium was visualizing and tracking satellites. You can still tell in the 2.5D view that most satellites are closer to Earth, and those that aren’t are in the same orbit. But you lose information like, that leftmost one is actually pretty close to the rightmost one. There’s actually one thing that’s easier to analyze in the 2D view, can you guess what it is?

It’s exactly the height. I can’t compare visually the distance two satellites on the opposite sides of the globe are from the surface. Since the 2.5D view collapses everything into x, y, height, it’s really easy to see that.

Page 21: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

3D Weather Data

Weather data is also another example where it can often be layered. Here it’s visualized as a point cloud, where it’s not just that different layers can be going at different speeds or have different properties, but that they can be intermixing, so it’s hard to understand this structure if you can’t see it in full 3D.

Page 22: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Camera views

2.5D 3D

You can always tell whether an engine has full 3D support based on how far you can tilt the camera. In the 2.5D case, you can’t usually tilt past this. What it’s trying to avoid here is showing you the horizon. This isn’t a problem in a 3D engine.

Page 23: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Camera views

Which means you can do cool things like see exactly what the world looks like from any given view. Here’s a view of the empire state building from the ground.

Page 24: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Hierarchical level of detail (HLOD)

What’s so bad about being able to see the horizon? Well, traditionally with 2D engines, you split your data into a uniform grid, and you load higher detail zoom levels as you get closer. The problem is that if you’re really close to the ground and looking at the horizon, you end up loading very detailed data that’s thousands of kilometers away, which slows everything down or at worst, crashes.

Hierarchical level of detail allows us to load very high detail close to the camera, while having less detailed tiles in the horizon.

Page 25: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Hierarchical level of detail (HLOD)

Quadtree Adaptive Subdivision

It’s also really important to do some kind of non-uniform subdivision. In 2D, it’s very common to use a quadtree. We could extend that to 3D and use an octree, but the problem is this extra spatial dimension means there’s a lot of empty space. Think about how urban cities are structured. There’s often very dense areas with lots of geometry (buildings), and then very sparse areas.

Page 26: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Hierarchical level of detail (HLOD)

This is photogrammetry data captured by SiteSee. You can see an example of this here. The top of the cell tower and the foliage have a lot of detail, so they have more tiles subdivided, while the body of the tower can be just one big tile.

Page 27: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Working with 3D data can be difficult● Large amounts of data can be unwieldy● Formats in different engines aren’t always interoperable ● Photorealism sometimes gets in the way of analysis

It can be difficult to work with 3D data because of how large the file sizes often are, and the many different formats that are either not interoperable or aren’t suited for streaming on the web. Another problem is that 3D data often looks photorealistic, which is nice, but sometimes that gets in the way of analysis.

Page 28: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

3D Buildings

BIM/CAD

Point CloudsPhotogrammetry

We created 3D Tiles as a way to solve the interoperability and streaming issue. The idea is that regardless of where your 3D data comes from, whether captured from drones, LIDAR, or if it’s a design model of a building that will exist in the future, it can all be converted into this open format.

Page 29: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Sharing 3D insights is as easy as sharing a link

Once converted to 3D Tiles, it becomes really easy to stream it over the web, because you can request just the data you need. This is really cool because it works without having to install anything. You don’t need to send someone over 100 GB of data just to show them this one neighbourhood or one particular insight.

Page 30: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

For example, this is a high resolution dataset of the entire city of Melbourne Australia, captured by Aerometrex. The whole thing is around 11 GB. So it would take around an hour to download at our office’s WiFi, and then maybe you need some kind of desktop software to open it. And of course, you gotta make sure you have enough RAM!

With 3D Tiles, you can send someone a link to a web app with just this view, which only takes just 30 mb. So it goes from an hour to just a few seconds to share this. And because it’s web based, you could look at this on your phone, or really any device with a web browser!

Page 31: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

The National Library of Scotland uses Stylized 3D Maps

atlasobscura.com/articles/3d-versions-of-old-scottish-maps

And just because data is 3D doesn’t mean it has to be photorealistic. It can still be stylized and beautiful. This is an example from the national library of scotland that was recently featured on Atlas Obscura.

Page 32: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

The National Library of Scotland uses Stylized 3D Maps

atlasobscura.com/articles/3d-versions-of-old-scottish-maps

Page 33: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

The National Library of Scotland uses Stylized 3D Maps

atlasobscura.com/articles/3d-versions-of-old-scottish-maps

Page 34: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Documenting Indigenous Games Culture

cesium.com/blog/2019/03/27/globaltimoto-nasa-web-worldwind-to-cesium/

This is one of my favorite recent Cesium showcases. This man, Tim Hull, travels the world on his motorcycle and documents indigenous games. He’s been doing this for 15 years. You can explore what he’s learned on his travels in this very stylized 3D map.

Page 35: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly
Page 36: 3D - The New Standard for Maps - Cesium...3D - The New Standard for Maps Omar Shehata (@omar4ur) Alright, hi everyone! My name is Omar, I’m a graphics programmer at Cesium. I mostly

Thanks!

[email protected]

@CesiumJS

cesium.com

Driving Simulations for Autonomous Vehicles with 3D Tiles and Cesium E4 @ 5:00 pm

Harnessing the Potential of Drone Data Capture with Cesium E10 @ 5:00 pm

If you have any questions about 3D Tiles or Cesium, I’m always happy to chat! If you want to hear more stories about real applications making use of 3D insight, I’d encourage you to go to one of these talks.