So over the past year we've had some
awesome releases in 3D, and I’m going to
cover some of these great features that
you can do today in ArcGIS Online. So the
first thing I want to show you is
our support for vector tile layers in
3D. Here in the Scene Viewer, I have a vector
tile draped over the Esri World
elevation layer. The performance is great,
and you can use your own custom vectors
tile styles.
The next thing I want to show you is our
support for smart mapping in 3D. So here,
I have a local scene with some recorded
earthquakes from the Northridge event.
Going into the layer,
I can choose the recorded magnitude for
all these earthquakes, and we can see
that my machine is updating in real time,
but I want to go in and further
customize this layer. So going
underneath the options, I’m going to
change my symbol to spheres, and iI’m
going to use the magnitude to also drive
the size.
And we're seeing this all updating instantly,
and I can use the slider to better see
where all those really, the strongest
earthquakes have taken place. Now I want
to talk about how you can actually
create 3D-optimized scene layers in ArcGIS
Online. So here I have a data set of some New
York City trees, and there's over 75,000
features. I can go over to the overview
tab on the item detail page, and click on
the publish button, and begin publishing
a point scene layer from this point feature
layer. Once the publishing process has
completed, I can bring it into a new web
scene. Here I have a web scene already
started with some 3D objects from with
some New York City buildings coming from
a 3D object scene layer. I generated
these buildings from a multi-patch
feature layer in ArcGIS Online doing
that exact same workflow with the trees.
I also have a tree layer already added
into this Web scene, 0:02:12.960,0:02:15.960 but it's showing up as cylinders. And now I
want to talk to you about the new 3D
web styles that we have. So I’m going to go and
configure this layer, I’m selecting the 3D
option, and when I click on the symbol, I
can open up the library of the Esri 3D
web styles, from realistic street signs
down to thematic trees. I’m just going to
select one of the trees, and I’m going to
use the recorded tree height to drive
the different sizes of all the trees
that we see in this web scene. I’m just
going to apply my changes and save my web
scene. Now that it's been saved,
I can open it up in a 3D template or an
app in WebApp Builder, and that's because
we're all using a shared spec. So on the
developer site, you can check out our
web scene spec, just like we released with
the web maps like last year.
Thank you, Jeremy.
Thanks, Russ. That's awesome to see that
smart mapping is finally starting to
come to 3D in both Online and in 10.5
Enterprise. And also it's exciting to see
how easy it is to publish your feature
layers as these 3D visualization scene
layers.
Okay to show us what's coming in
3D and the JavaScript API, I'll turn it
over to Jo.
Thanks, Jeremy. So the the web scene that
Russ just saved to Online can be loaded
into the JavaScript API with just these
few lines of code. All I need to do is
create a new web scene object and pass it
that Portal item ID and attach
a new scene view to it, and then it will
automatically load all of the layers
including the layer customization and
styling and any other of the settings
that may be in the web scene, for example,
the initial view. I can now go ahead and
change that scene, modify the scene from
within the API. So let's assume that I
found the data set that maps all of the
locations of trash bins in New York. I’m
using this layer factory method that
Yann has already introduced. Again, just
pass it the portal item ID of the layer
and add the resulting layer to the scene.
So this shows the layer with its default
symbology for perhaps these little dots
is not how I want my trash bins to look
like. The web styles that Russ has used in
the scene viewer are also available from
within the API, and in fact, they're
available on the entire platform. We've
created a guide page that lists all of
the available options along with handy
snippets that you can just paste into your
code to use those symbols.
I've already done that here, and I’m
going to, in addition, customize the
symbol by first downloading it, and then
setting its height and its color to get
this thematic visualization of gigantic
blue trash cans in New York. And then
finally, I can save my changes that I’ve made to
the scene back to Online again, with just
a few lines of code, and share the
resulting scenes and open it up in any
of the other apps that support web
scenes like the WebApp Builder or
ArcGIS Pro.
For 3D object scene layers, we've added
capability to filter and query features
and together with the existing
functionality for data-driven
visualization and for user interaction,
we now have the tools to make really
powerful and compelling 3D
city applications. This prototype here
was based or is based on data that we
got from the Dubai design district. On
the right-hand side, you can see some
statistics and these are computed using
the query capabilities, and they
automatically update when I select
different buildings. I can color the
units by floor area or by usage type. I
can make interactive charts, or I can
apply filters, for example, to the floor
level and you can see that the charts
and the statistics automatically update to
the current selection. Among the many
other features that we've added to the
JavaScript API, I would like to highlight
the point cloud layer. This scene here shows
a last data set of New York that
consists of several billion points.
Thanks to a new format in the scene layer,
we can stream this kind of data
efficiently to web clients.
You can also style these point cloud
layers in the JavaScript API, similarly
as you would style a feature layer. Let's
assume that we're interested in keeping
the vegetation under control in the
Central Park. This snippet here assigns
a renderer that draws all of the points
above 50 meters in red and all of the
ones between 40 and 50 meters in yellow.
And here's a sample for an interactive
application: When the user clicks on a
point, we can obtain the coordinates of
that point, and we can feed it into our
new elevation query API. The result of
that query operation is the height of
the terrain data set underneath that
location and so from the two different
elevation values that we get, we can
compute the clearance we need the bridge
and annotated in the scene.
Now if there's a specific type of
visualization that you need, but it's not
available in the JavaScript API yet,
there's always the possibility for
implementing it directly in WebGL using
our external render interface. This
beautiful demo application made by Esri,
downloads vector field data from image
service and then simulate and renders 1
million particles on the GPU in
real-time, and that's all I have for you
right now. Back to Jeremy. Thanks Jo.
It's great to see what you can do today
with the 3D in the Web APIs; it's pretty
amazing. And then also this last demo
shows what you can do if you want to get
down into the WebGL yourself
by working by hooking into
the external renderer. OK, now to talk
about Runtime and 3D, I'd like to turn it
over to Adrian. Thank you, Jeremy. You’re
probably familiar with three
capabilities of the ArcGIS Runtime SDKs,
especially if you've been using
applications like ArcGIS Earth, Drone2Map,
or your own native 3D applications. But
for a lot of you, 3D mobile platform is
important, so I’m happy to announce that
with our next release, all the Runtime
SDKs are going to share the same 3D
capabilities, which means you can use 3D
application for Windows, macOS,
Linux, but also for Android, iOS, and
Windows phone. I here open in Android Studio,
the scene that show analyst
already showed you of New York. So you can
see that I have streetmap base layer, I have
some elevation data, and then I have the
building of New York as a scene layer. So that
all public services provided by Esri.
Let’s comment all that code and
replace it by one single layer, created by one
of our partner. While it's compiling, let
me quickly explain how we can share our
scene layers not only part of the ArcGIS
platform, but with the entire 3D
industry, it because they are built on top
of an open standard called Index 3D
Scene Layers, or I3S. You can find these on
the developer website all the
information that you need to create your
own 3D scene layers, especially a link to
our public GitHub repo Esri / i3s-spec.
As I was saying, one of our partner
of icon is already producing its own 3D
scene layers of a specific type called
integrating mesh. Integrating mesh is like
taking your elevation that can come from
tearing buildings’ vegetation, and merge
it with your imagery to create one
single scene layer. And it is the scene layer
I have running here right now on my
Android phone. It is actually a package I can
actually take my phone offline, and now
you can see me going through that
amazing data of Yosemite National Park
locally on my Android phone. One of the
good thing of having 3D on your
mobile device is that you can take it
with you in the field. So for example,
maybe you want to digitize some birds
that have been seen in the Yosemite Valley, and
maybe you saw a mountain lion on the
other side. Of course, I can also take
advantage of the sensor on my device to
control to look at the view exactly like
if I will look at it if I was actually
in Yosemite, so if I look up, I would
see that people will take whatever it
takes to actually get out of a couple of
bears even if it means climbing Half Dome.
Oh, hey Euan!
I’m going to show you quickly how it's
done to control the camera in that kind
of virtual reality experience is as easy
as getting the data from your sensor,
maybe do some recalculation depending on
the data you get from your particular
device, and just set it to the camera.
That will lead for 3D downtime