Company Blog

SCIENCE - TECHNOLOGY - SOLUTIONS

Google Maps Engine: Python Basics - Part 1

In case you haven't heard of it, Google has been working on a project for a little over a year or so call Google Maps Engine (GME).  GME is a really powerful cloud-based mapping system that is maturing at a really nice pace.  One of the nice features about it is its accessibility via multiple API's.  One of those API's is Python.  There are some pretty good tutorials (https://developers.google.com/maps-engine/documentation/tutorial) and documentation including an API reference with some examples (https://developers.google.com/maps-engine/documentation/reference/v1/).

However, one thing that is a little lacking is documentation on how the OAuth2 authentication protocol is leveraged in Python.  I have to admit that I struggled some here until I was aided by my friend at Google, Sean Wohltman.  So Sean, much thanks for all your help and guidance.

Before we begin, there is one thing that you must understand to make sure we are consistent in our references, that is the terminology (https://developers.google.com/maps-engine/documentation/definitions).



So with this as the foundation of the discussion, we can loosely refer to these as the accessible objects through the API.

The approach to for the purposes of this article are relatively simple.  We will authenticate and then we will retrieve a collection of each of the objects.  This will demonstrate the core functionality that we have through the Python API.

To start the process of authentication, let's first refer to some of the basics in documentation.



Now that we have a basic understanding of the OAuth2 protocol, you can get the API downloaded and installed.  The Google APIs Client Library for Python is located at (https://code.google.com/p/google-api-python-client/downloads/list).

In Part 2 of this series we will cover the set up and use of the API in Python.

Safe Schools: Indoor Google StreetView

With the Virtual Alabama School Safety Systems (VAS3), there are multiple projects going simultaneously.  One of these projects is the "Indoor Google StreetView" project.  This project includes the creation of "walk throughs" of rooms and hallways through the building.

The process begins with the collection of photos using a very specific device.  This camera system allows for the remote triggering via wifi and download of captured photographs to a user's cell phone or tablet.  The transferred files are automatically stitched together to produce a high quality panoramic image.  Here is a sample of the raw output from our camera system.


Source Image Post Stitching

The next step include the mapping of the positions of where each set of images were captured.  This is done using a mapping interface designed and developed by my team we call the Floor Plan Annotation Tool (FPAT).


Floor Plan Annotation Tool (FPAT)

In the FPAT we are able to actually generate the tiles needed for ingestion into Google StreetView using the "360 View Manager" module by selecting the panoramic image and queue it for tiling.  The tiled Google StreetView dataset is then associated to each point on the map, therefore completing the process.

The following is an example of a final product from the process.

Virtual AL School Safety Summit, February 24-25, 2014

As a part of the Virtual Alabama School Safety System project team, SICS is excited to help host the 4th annual Virtual Alabama School Safety Summit this week in Montgomery, AL.  This conference gives educators, administrators and community first responders from across the state an opportunity to network and share their challenges and solutions to campus emergency preparedness issues.  Attendees will also get to hear from a number of experts in the fields of emergency management, law enforcement, education, mental health, and substance abuse.

More at: http://www.waff.com/story/24815192/summit-highlights-school-safety-in-alabama

http://www.nbc12.com/story/24817173/law-enforcement-partners-to-promote-school-safety