GOOGLE GEOGROUP           Yiannis Doxaras*               Niobium Labs                @doxaras  OCG regional technical comm...
GOOGLE GEOGROUP ?• organize   web information• google   is not a mapping company• geospatial   content for organization• O...
MAPS API• program    in flash or javascript• display   a base map• display        your data on the map(markers, polylines, ...
MAPS API                       as of oct 2010                                                          350K web sites• pro...
API FROM 30,000FT
WHAT’S NEW ?• New     Maps Features• Google    Geo APIs• Fusion Tables• Earth   & KML• Latitude API
PROBLEMS SOLVING?              Get rid of all            synchronous API’s        “latency was the first priority that     ...
NEW MAP FEATURES     Flash         Mobile                  EarthStatic
STYLED MAPS
STYLING IN CODEvar stylez = [{  featureType: road.local,  elementType: geometry,  stylers: [{     hue: #00ff00  }, {     s...
WHAT YOU CAN STYLE•   Change size, color, and visibility of    •   Points of Interest    •   Labels    •   Roads    •   Wa...
WHAT YOU CAN STYLE•   Change size, color, and visibility of    laterally    •   Points of Interest                        ...
<!DOCTYPE html><html><head><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">  ...
<!DOCTYPE html><html>                                                                set your                             ...
FUSION TABLES•   Upload large (100MB) tabular data•   Easy visualization•   Easy mapping•   Customize info windows•   Cust...
FUSION TABLES     GIS on                                         the Cloud•   Upload large (100MB) tabular data•   Easy vi...
SPATIAL DATA MANAGEMENT
VISUAL DATA EDITING
CUSTOMIZE - MAP THEMING
FUSION TABLES EX #1
FUSION TABLES EX #2            SELECT *            FROM 297050 WHERE              ST_INTERSECTS(Ad              dress, REC...
FUSION TABLES EX #3map = newgoogle.maps.Map(document.getElementById(map_canvas), {    center: new google.maps.LatLng(37.4,...
FUSION AS A WEB DB      http://www.google.com/fusiontables/api/query?sql=<statement>                                     s...
LOCATION• location   data are more private than financial data• huge    data generation that concern user context and locat...
GOOGLE LATITUDE
GOOGLE LATITUDE              google’s wishful             thinking but still              a lot happening             in t...
MAPVERTISING                               Display advertising alongside local                                business sea...
WHAT TO CHOOSE ?
WHAT TO CHOOSE ?              fusion              tables
WHAT TO CHOOSE ?              fusion              tables  app engine
WHAT TO CHOOSE ?              fusion              tables  app engine              Google             I/O data
OPTIONS
APP ENGINE PRIMERdata modelfrom google.appengine.ext import dbclass myLocation:  name = db.StringProperty()  location = db...
Type of data ? Amount of data ?     Resources ? Effort ?       Interactivity ?     Performance ?
EXAMPLES
EXAMPLES
EXAMPLES
EXAMPLES
EXAMPLES
EXAMPLES
REFERENCES• http://code.google.com/apis/fusiontables/• http://www.google.com/fusiontables/public/tour/index.html• http://e...
NEVER QUIT PLANNING
Upcoming SlideShare
Loading in …5
×

Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece

4,186 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,186
On SlideShare
0
From Embeds
0
Number of Embeds
2,275
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece

    1. 1. GOOGLE GEOGROUP Yiannis Doxaras* Niobium Labs @doxaras OCG regional technical committee member
    2. 2. GOOGLE GEOGROUP ?• organize web information• google is not a mapping company• geospatial content for organization• OGC open standards• Street View, Sketchup, Gmaps
    3. 3. MAPS API• program in flash or javascript• display a base map• display your data on the map(markers, polylines, polygons, info boxes, 3D models, tips and image overlays)• Access Google data and services (navigation, street view, elevation, geocoding)• Interact with users (drag & drop, editable objects)
    4. 4. MAPS API as of oct 2010 350K web sites• program in flash or javascript• display a base map• display your data on the map(markers, polylines, polygons, info boxes, 3D models, tips and image overlays)• Access Google data and services (navigation, street view, elevation, geocoding)• Interact with users (drag & drop, editable objects)
    5. 5. API FROM 30,000FT
    6. 6. WHAT’S NEW ?• New Maps Features• Google Geo APIs• Fusion Tables• Earth & KML• Latitude API
    7. 7. PROBLEMS SOLVING? Get rid of all synchronous API’s “latency was the first priority that apple introduced along with aggressive modularization and iPhone/Android support”
    8. 8. NEW MAP FEATURES Flash Mobile EarthStatic
    9. 9. STYLED MAPS
    10. 10. STYLING IN CODEvar stylez = [{ featureType: road.local, elementType: geometry, stylers: [{ hue: #00ff00 }, { saturation: 100 }]}, { featureType: landscape, elementType: geometry, stylers: [{ hue: #000000 }]}];var styledMapType = new google.maps.StyledMapType(stylez, { map: map, name: Coffee Map!});map.mapTypes.set(coffee-style, styledMapType);map.setMapTypeId(coffee-style);
    11. 11. WHAT YOU CAN STYLE• Change size, color, and visibility of • Points of Interest • Labels • Roads • Water • Borders • and more
    12. 12. WHAT YOU CAN STYLE• Change size, color, and visibility of laterally • Points of Interest everything • Labels • Roads • Water • Borders • and more
    13. 13. <!DOCTYPE html><html><head><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">  html { height: 100% }  body { height: 100%; margin: 0px; padding: 0px }  #map_canvas { height: 100% }</style><script type="text/javascript"    src="http://maps.google.com/maps/api/js?sensor=set_to_true_or_false"></script><script type="text/javascript">  function initialize() {    var latlng = new google.maps.LatLng(-34.397, 150.644);    var myOptions = {      zoom: 8,      center: latlng,      mapTypeId: google.maps.MapTypeId.ROADMAP    };    var map = new google.maps.Map(document.getElementById("map_canvas"),        myOptions);  }</script></head><body onload="initialize()">  <div id="map_canvas" style="width:100%; height:100%"></div></body></html>
    14. 14. <!DOCTYPE html><html> set your app as<head><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">  html { height: 100% } HTML5  body { height: 100%; margin: 0px; padding: 0px }  #map_canvas { height: 100% }</style><script type="text/javascript"    src="http://maps.google.com/maps/api/js?sensor=set_to_true_or_false"></script><script type="text/javascript">  function initialize() {    var latlng = new google.maps.LatLng(-34.397, 150.644);    var myOptions = {      zoom: 8,      center: latlng,      mapTypeId: google.maps.MapTypeId.ROADMAP    };    var map = new google.maps.Map(document.getElementById("map_canvas"),        myOptions);  }</script></head><body onload="initialize()">  <div id="map_canvas" style="width:100%; height:100%"></div></body></html>
    15. 15. FUSION TABLES• Upload large (100MB) tabular data• Easy visualization• Easy mapping• Customize info windows• Customize shapes• Spatial Queries!• FusionTableLayer in Maps API• Fusion Tables API
    16. 16. FUSION TABLES GIS on the Cloud• Upload large (100MB) tabular data• Easy visualization• Easy mapping• Customize info windows• Customize shapes• Spatial Queries!• FusionTableLayer in Maps API• Fusion Tables API
    17. 17. SPATIAL DATA MANAGEMENT
    18. 18. VISUAL DATA EDITING
    19. 19. CUSTOMIZE - MAP THEMING
    20. 20. FUSION TABLES EX #1
    21. 21. FUSION TABLES EX #2 SELECT * FROM 297050 WHERE ST_INTERSECTS(Ad dress, RECTANGLE (LATLNG(37.2, -122.3), LATLNG(37.6, -121.9)))
    22. 22. FUSION TABLES EX #3map = newgoogle.maps.Map(document.getElementById(map_canvas), { center: new google.maps.LatLng(37.4,-122.1), zoom: 10, mapTypeId: google.maps.MapTypeId.ROADMAP});tableid = 297050;layer = newgoogle.maps.FusionTablesLayer(tableid, { query: "SELECT Address FROM " + tableid + "WHERE ST_INTERSECTS(Address,RECTANGLE(LATLNG(37.3, -122.3), LATLNG(37.6,-121.9)))", map: map});
    23. 23. FUSION AS A WEB DB http://www.google.com/fusiontables/api/query?sql=<statement> sql=INSERT INTO 274708 (CityDescription, CityLocation) <Polygon> VALUES (Tokyo Metropolis, 35.69 139.69)<outerBoundaryIs><coordinates> lng,lat[,alt]lng,lat[,alt] ... </coordinates> sql=UPDATE 274814</outerBoundaryIs> SET Route = <LineString> <coordinates></Polygon> 78.47,17.37 -91.58,32.44 2.35,48.85 </ coordinates> </LineString><LineString> WHERE ROWID = 1<coordinates> lng,lat[,alt]lng,lat[,alt] ... </coordinates></LineString> sql=INSERT INTO 274319 (volunteer_id, plot) VALUES (45,<Point> <Polygon> <outerBoundaryIs><coordinates> lng,lat[,alt] </ <coordinates> -117.85,35.3 -117.85,35.301coordinates> -117.851,35.301 -117.851,35.3 -117.85,35.3 </</Point> coordinates> </outerBoundaryIs> </Polygon>
    24. 24. LOCATION• location data are more private than financial data• huge data generation that concern user context and location• large data mining startups get the highest valuation lately• recommendation systems are here not to stay, but to dominate.• having said that.......
    25. 25. GOOGLE LATITUDE
    26. 26. GOOGLE LATITUDE google’s wishful thinking but still a lot happening in the landscape
    27. 27. MAPVERTISING Display advertising alongside local business search results using the Local Search Control (GoogleBar)Display advertising based onthe Maps viewport using the Maps Ad Unit
    28. 28. WHAT TO CHOOSE ?
    29. 29. WHAT TO CHOOSE ? fusion tables
    30. 30. WHAT TO CHOOSE ? fusion tables app engine
    31. 31. WHAT TO CHOOSE ? fusion tables app engine Google I/O data
    32. 32. OPTIONS
    33. 33. APP ENGINE PRIMERdata modelfrom google.appengine.ext import dbclass myLocation: name = db.StringProperty() location = db.GeoPtProperty() from google.appengine.ext import db import mylocation myLocations = MyLocation.gql("WHERE name= :1", foo) Disadvantages for a Spatial Apps • Very limited spatial support in queries • Inequality limitations on one property only – So no obvious bounding box • Different (but cooler) way of building applications • Geomodel is complex and does not scale
    34. 34. Type of data ? Amount of data ? Resources ? Effort ? Interactivity ? Performance ?
    35. 35. EXAMPLES
    36. 36. EXAMPLES
    37. 37. EXAMPLES
    38. 38. EXAMPLES
    39. 39. EXAMPLES
    40. 40. EXAMPLES
    41. 41. REFERENCES• http://code.google.com/apis/fusiontables/• http://www.google.com/fusiontables/public/tour/index.html• http://earth.google.com/outreach/ tutorial_fusion_yourowndata.html• http://code.google.com/apis/maps/documentation/javascript/ reference.html• http://www.google.com/mobile/latitude/
    42. 42. NEVER QUIT PLANNING

    ×