GIS with Google Earth
and Google Maps

Josh Livni & Mano Marks
Guest Speaker: Brian Flood
Feedback: http://j.mp/gis-geo
#io2011, #GIS

Google
Geo

Introduction

Google Geo APIs Landscape

Source: Google

Google
Geo
  Geographic
  Information
  Systems

Agenda

Data Visualization
Convert GIS Data Formats
Data Hosting

Google Earth and Earth API

Earth / Earth API Demo

Portable Globe


Projections
Geometry Library

Google Maps API

Google Maps API: Great Circle Demo

Google Maps API: Great Circle Demo Code

<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false
&libraries=geometry">
...
  var geodesicOptions = {
      strokeColor: '#CC0099',
      strokeOpacity: 1.0,
      strokeWeight: 3,
      geodesic: true
    }
  geodesic = new google.maps.Polyline(geodesicOptions);
  geodesic.setMap(map);

Google Maps API: Projection Demo

Google Maps API: Projection Demo Code

  GallPetersProjection.prototype.fromPointToLatLng = function(point) {
    var y = point.y;
    var x = point.x;
    if (y > 0) {
      y = 0;
    }
    if (y >= GALL_PETERS_RANGE_Y) {
      y = GALL_PETERS_RANGE_Y;
    }
    var origin = this.worldOrigin_;
    var lng = (x - origin.x) / this.worldCoordinatePerLonDegree_;
    var latRadians = Math.asin((origin.y - y) / this.worldCoordinateLatRange);
    var lat = radiansToDegrees(latRadians);
    return new google.maps.LatLng(lat, lng);
  };

Geometry Library Major Features

google.maps.geometry.encoding (for polylines)

google.maps.geometry.spherical

Projection Major Features

google.maps.Projection

Data Visualization
Spatial Queries
Data Management

Google Fusion Tables

Google Fusion Tables - SQL API

table

SELECT name FROM 790805 LIMIT 5;
name,address
FIRST CUP,"2911 VAN NESS AVE , 94109"
UNION STREET COFFEE ROASTERY,"2191 UNION ST , 94123"
NAPOLI PIZZA RESTAURANT,"1045 POLK ST , 94109"
WAYO,"1407 VAN NESS AVE , 94109"
MIFUNE RESTAURANT,"1737 POST ST , 94115"
        
demo

Google Fusion Tables - Nearest Neighbor

 SELECT * FROM 790805
 ORDER BY ST_Distance(
   address, LatLng(37.7832, -122.4035))
 LIMIT 5;  
demo

Google Fusion Tables - Nearest Neighbor

Google Fusion Tables - Intersections

 SELECT name,address FROM 790805
 WHERE ST_Intersects(
 address, CIRCLE(LATLNG(37.2, -122.3), 100));
demo

Google Fusion Tables - Intersections

Google Fusion Tables - Intersections

 SELECT name,address FROM 790805
 WHERE ST_Intersects(
 address, CIRCLE(LATLNG(37.2, -122.3), 100));
demo
 SELECT count(), description FROM 790805
 WHERE ST_Intersects(
 address, CIRCLE(LATLNG(37.2, -122.3), 100))
 GROUP BY description;
demo

Google Earth Builder


Manage map data
Build and Publish maps

Google Earth Builder

Manage all your map data in Google's cloud

Google Earth Engine

Image Analysis
..on large datasets

Google Earth Engine

Earth Engine

Google Earth Engine

Google Earth Engine

Google Earth Engine

Google Earth Engine

Google Earth Engine

Google Earth Engine

Google Earth Engine

Agenda


GIS Data formats
Data Conversion

Integration Examples

GDAL/OGR

ShpEscape

Arc2Earth



Software bridge between ArcGIS and Google Geo Services

Complex GIS Data and Symbology to KML

Map Tile Caches - Anything you can display in ArcMap

Data Services - Google Maps in ArcGIS

Direct Upload to Fusion Tables

ArcGIS Symbols to Fusion Tables Style JSON

Making Fusion Tables Compatible with ArcGIS

Some of the technology stacks used

Google Maps Premier
Google AppEngine
Google Fusion Tables
ArcGIS
Arc2Cloud

Arc2Cloud - Additional geospatial functionality for Fusion Tables

Arc2Cloud - Each feature has an endpoint and multiple formats.

Demo - Import ArcGIS Map Schema into Fusion Tables

Demo

Task Queue Geoprocessing

Task Queue Geoprocessing

Demo - Spatial Join between two Fusion Tables

Demo

Task Queue Geoprocessing - Pros/Cons

Thank you!

Questions and Answers

GIS with Google Earth and Google Maps

Josh Livni & Mano Marks
Guest Speaker: Brian Flood
Feedback: http://j.mp/gis-geo
#io2011, #GIS