DYLAN THOMAS: Hello and welcome to another episode of What
In the World.
This is a regular show where enterprise Geo Googlers look
at something interesting in the enterprise products.
My name's Dylan Thomas.
I'm a maps community manager.
And joining me today is Alan Poole.
ALAN POOLE: Hello.
DYLAN THOMAS: Alan helps customers
get products deployed in production.
And so what we wanted to talk with Alan about today
was sort of a second installment of Google Maps Engine
connectors.
So on our last episode, we talk to Ujaval Gandhi about the QGIS
connector he had written to allow the QGIS desktop
product to connect with Google Maps Engine for use there.
And what Alan has done is actually take that same concept
and applied it to ArcGIS, the commercial desktop GIS product.
So, can you just tell us briefly before we
look at the demo what the impetus was behind that?
ALAN POOLE: Sure.
We developed these connectors for QGIS and ArcGIS
desktop to make it very simple to sign in if you are a Google
user, as well as find a map and view it inside
of these desktop tools.
So we want it to be dead simple for an end user
to view their published Google Maps Engine maps.
And the primary reason for building these connectors
is to allow the desktop tools to securely talk with the Google
Cloud and allow you to sign in with your credentials.
So the Google Maps Engine connector for ArcGIS desktop
is available for free.
And it is available to anyone on the arcgis.com gallery.
So if you go to arcgis.com and you search for Google Maps
Engine connector and you click on Tools
and you show our chairs desktop content,
our tools will show up as well.
So the Google Maps Engine connector for ArcGIS desktop
will show in the search results.
And it's as simple as clicking the open link
to download it and install it in your Arc map instance.
DYLAN THOMAS: So for any ArcGIS desktop user,
this is just a no-brainer.
This is how they do it.
There's no special thing going on.
ALAN POOLE: No special thing going on with these tools.
It's built using the ESRI add-in framework.
So these are just like any other add-in
that you would add to ArcMap.
So I'm going to launch ArcMap to open ArcMap 10.2.
And we'll give it a few seconds to load.
So this is a standard ArcMap.
And what you see is the Google Maps Engine connector
for ArcMap tool bar that is available.
If you don't see the toolbar, you
can right click on the tool area,
and it's available to turn on if you don't see it.
And you'll note that the tool bar that's available.
None of the buttons are enabled by default.
So the first step with the connector for ArcMap
is you need to sign in with your Google account.
And any Google account will work.
So the first button lets you sign in or sign out
of your Google account.
So I'm going to click the Sign In button.
And since I've already signed in with my demonstration account,
my name is remembered.
But you could sign in with some Gmail account or some Google
apps account as well.
I'm going to sign in and authenticate with my Alan Poole
at altostrat.com account.
The second step is you need to authorize the connector
to access your Google Maps Engine data.
So I'm going to click accept.
And you'll note that the Find button becomes active.
So once you're signed in, you're able to find Google Maps Engine
maps in any maps engine account.
So I'm going to click on the Find button.
And the dialogue pops up and lets
you find any published map that is available.
And these are the same maps that we
showed last week with Ujaval in QGIS.
They're also available to view here inside of ArcGIS.
So I'm going to click on the "Earth at Night" map
that he showed last week.
And the ArcGIS connector communicates
with Google Maps Engine and automatically ads
a WMS layer of all the layers inside of your published map.
So if you have a Google Maps Engine map with vector data
or raster data, those layers are available in one single click.
So I'm going to turn on these WMS layers.
And you can see this is the world at night as published
by NASA.
And there is a secondary layer that's
added with kind of ancillary metadata
about your Google Maps Engine map.
So let me add a Google Maps engine
map that contains vector data as well.
So to do that, I'm going to change the projection of my map
to Web Mercator to align with the Google Maps Engine
projections.
Now if I go back to the search dialogue,
I published some census data as well.
So there are some census data for San Francisco.
So if I add this census map and I turn on the sensors census
WMS layers, you'll see that in the San Francisco area,
there is some road data as well as
some congressional boundaries as well.
DYLAN THOMAS: And you can style this.
This is something that you can style ArcGIS to some extent,
right?
ALAN POOLE: So these are just a standard WMS layers.
DYLAN THOMAS: OK, so they are pre-styled.
ALAN POOLE: They're pre-styled by the map publisher
inside of Maps engine.
The connectors work with both raster layers and vector
layers.
And if you have Google Maps engine maps with one
to many layers, that works fine as well.
So let me demonstrate the next piece
of functionality in the map.
So that's all search and kind of visualization of your maps.
But if I have some local data that I want to upload,
the Google Maps engine connector allows you to do that as well.
So I'm going to add a raster layer and a shapefile that's
locally available in my repository.
But this would work if you had an enterprise Geo
databases like an Oracle spatial or a file Geo database.
All that would work as well.
DYLAN THOMAS: So it's basically anything
that the ArcGIS recognizes as a feature class layer or a raster
layer is going to be fair game to upload.
ALAN POOLE: Exactly.
Any native format that is supported by ArcMap.
DYLAN THOMAS: Right.
ALAN POOLE: And if you add a layer,
you'll note that the interact button becomes active,
and you can actually interactively upload this data
to your Google Maps Engine account.
So I'm going to select the earth TIFF
image that I've added to my ArcMap.
And you'll note that the Upload button becomes active.
So I'm going to click on Upload to Google Maps Engine which
will pop up a dialogue.
And you're asked to fill in a couple of attributes
about this upload before you do so.
So the first step is to select a Google Maps engine an account
that you have access to.
I'm going to click on altostrat demo.
You have to name this asset, so I'm going to call it WSI earth,
give it a description, TIFF image of the entire world,
and give it a tag, so earth image.
And then the next two are required,
and they have to exist first.
So you need to have an access list
that you're going to upload this to.
So I'm going to call this connector editors
and give it an attribution, which we'll call it ESRI.
So the connector editors are the group
of people that will have access to this image
once it's uploaded.
So I'm going to click on Upload files button.
In the Google Maps Engine connector for ArcGIS
desktop is asking ArcMap to convert this file
to a standard format that can be uploaded to the Google Maps
Engine API.
So if it's in some strange file format that ArcMap understands,
we will ask ArcMap to convert it to something that is supported.
And once it's converted, we'll upload
those files your Google Maps Engine account.
DYLAN THOMAS: That's what's happening now.
ALAN POOLE: That's what's happening right now.
DYLAN THOMAS: So in terms of the API,
we did a little bit of the meta data work preparation
to fill out your form now you're doing a post
using basically the new file upload or asset creation
endpoint.
ALAN POOLE: Exactly.
So first step was just to request through the mass engine
API a new asset and then posting each file
to the Maps Engine API.
And the last step is it opens it up
in the map publishers interface inside of Google Maps Engine.
You can see it's already starting
to process for the map editor.
DYLAN THOMAS: So I think that sort of rounded out
the workflow that we wanted to share, right?
Which is just simple access through
unauthorized authenticated connection [INAUDIBLE],
and the second one is being able to actually push data
into Maps engine, sort of, like you said, publish once
for you anywhere.
The second interesting thing we just want to cover briefly,
I guess, is that this is, in fact, and open source project
just like the QGIS one is.
And it was written by yourself up to this point.
I was wondering if you could tell us
a little bit about that.
Are you accepting pool requests?
How do you see this growing from here?
ALAN POOLE: The Google Apps Engine code for the ArcMap
portion is written in Microsoft.net C# which we think
is very important for a lot of GIS professionals.
So the code is on the Google Maps GitHub repository.
So any person can take this code as reference, or take this code
and add to it.
We are accepting contributions, but we will take them closely,
kind of guarded, and we'll add them
to the Google-controlled compiled version that's
on ArcGIS.com.
So anyone is welcome to participate
in the open-source project.
And if you're suggestions are worth putting into the Google
compiled version, we're willing to do that as well.
DYLAN THOMAS: So the version that someone,
anyone would download with no knowledge of the code,
no knowledge of the API, they just
want to download it to work with my Maps Engine.
That's going to be something that we will build, compile
and make sure is on ArcGIS.com.
And if anyone wants to add to that, we'll considerate it.
If anyone want to fork this, please go ahead.
Learn from it and improve.
ALAN POOLE: Absolutely.
And if anyone's developing in C#,
this is a good reference case for how you would implement
this OAuth2 or file upload or Google Maps Engine API
functionality.
DYLAN THOMAS: Great.
Alan, thanks for taking the time to show this to us.
It's really exciting.
I'm glad we've got the commercial side of this
and also the open-source side on the QGIS.
So thanks very much.
And I think that's it for "What in the World."
We'll see you next time.