Download
incorporating google maps and google earth into your remote sensing applications n.
Skip this Video
Loading SlideShow in 5 Seconds..
Incorporating Google Maps and Google Earth into your Remote Sensing Applications PowerPoint Presentation
Download Presentation
Incorporating Google Maps and Google Earth into your Remote Sensing Applications

Incorporating Google Maps and Google Earth into your Remote Sensing Applications

973 Views Download Presentation
Download Presentation

Incorporating Google Maps and Google Earth into your Remote Sensing Applications

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Incorporating Google Maps and Google Earth into your Remote Sensing Applications J. Freemantle OARS Technical Meeting, Dec 11, 2006

  2. Outline • Overview of Google Earth • Simple examples using keyhole markup language (kml) • Using the Google Maps/Earth API • Some community examples • Questions?

  3. Google Earth • Client/Server Application • Free for basic version • Works on Windows (2000/XP), Mac OS 10.3.9, Linux

  4. Google Earth Overview • Satellite and Airborne Imagery 1-3 years old • Spatial resolution in countryside < 15 m. Major US cities less than 1-2 feet (20-40 cm). • Parts of Manhattan (Fulton Co.) 10 cm!

  5. York University

  6. Newmarket

  7. Low vs high res. data (Aurora)

  8. Toronto

  9. New York City (20 cm)

  10. New York City (10 cm)

  11. 10 and 20 cm images compared

  12. Primary Data (roads etc)

  13. Boundary Errors

  14. Why Google? • Its free!!! • Generally up to date • Large user community • Developer/programmer friendly • Easy to learn • Platform independent • Its cool!

  15. Assumptions/Caveats • Check the fine print of End User License (EUL) for your situation. • Google Earth 4.0 (Beta), free version. • Public/Private data? (choose wisely).

  16. Simple Examples using KML • Point • Pictures • Tracks • Overlays • Links to external data

  17. Warning Code Examples!

  18. Keyhole Markup Language (kml) • Xml grammar and file format for describing geographic features in google earth/maps • Points • Lines • Polygons • Models • links

  19. Keyhole Markup Language (KML) • KML files can be shared. • KMZ files are a compressed version of KML files. • Google Earth processes kml files like web browsers process html files.

  20. Kml example: Simple point <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Placemark> <name>OARS Meeting</name> <description><![CDATA[Incorporating Google Maps and Google Earth into your Remote Sensing Applications <br> Presented by Jim Freemantle <br>Dec 11, 2006 7:00 pm <br> Room 129 Chemistry Building, York University, Toronto. <br>]]></description> <Point id="khPoint616"> <coordinates>-79.508,43.773225,0</coordinates> </Point> </Placemark> </kml>

  21. Simple Point

  22. Simple Point

  23. Simple point, with link <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Placemark> <name>OARS Meeting</name> <description><![CDATA[Incorporating Google Maps and Google Earth into your Remote Sensing Applications <br> <a href=“http://www.oars.on.ca/meetings.php”> details </a> <br>]]></description> <Point id="khPoint616"> <coordinates>-79.508,43.773225,0</coordinates> </Point> </Placemark> </kml>

  24. Simple point with link

  25. Simple point, with image <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Placemark> <name>OARS Meeting</name> <description><![CDATA[Incorporating Google Maps and Google Earth into your Remote Sensing Applications <br> <a href=“http://www.oars.on.ca/meetings.php”> details </a> <br> <img src="c:/documents and settings/user/my documents/my pictures/jim_pic.jpg"/>]]></description> <Point id="khPoint616"> <coordinates>-79.508,43.773225,0</coordinates> </Point> </Placemark> </kml>

  26. Simple point with image

  27. Track <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Document> <name>t0490f13</name> <Placemark> <name>t0490f13</name> <description><![CDATA[Flight Line 13 tape 490 CASI 2001 <br>]]></description> <LineString> <coordinates>-68.8911,48.79734,2470.74 -68.8947,48.79449,2471.35 </coordinates> <coordinates> -68.9127, 48.78028,2466.96,-68.9164,48.77747,2469.82 </coordinates> </LineString> </Placemark> </Document> </kml>

  28. Track

  29. Track

  30. GeoTagging

  31. GeoTagging • Requirements • GPS device • Camera with EXIF format jpg files and internal clock • Software to sync gps track with time of photo • Software to create google earth file (.kml)

  32. GeoTagging • GPS Devices Used Garmin Forerunner 201 Runners GPS ($159.00) Sony GPS-SC1 ($129.00)

  33. GeoTagging • Software Used • GPSBabel (NMEA to GPX) • GPS Image Tracker (Sony) (Not required) • iTag

  34. GeoTagging

  35. GeoTagging

  36. GeoTagging

  37. Overlays • Getting your georeferenced data into Google Earth • Need georeferenced data • Manually imported, as a jpg image, and matched to Google Earth

  38. Overlays

  39. Overlays

  40. Links • Images • External websites via url • Databases

  41. Track with link <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Document> <name>t0489f06</name> <Placemark> <name>t0489f06</name> <description><![CDATA[Flight Line 06 tape 489 CASI 2001 <br> <a href="http://www.aerocan.net/tapedb.xml#489"> Link to Flight Log </a> <br>]]></description> <LineString> <coordinates>-68.8911,48.79734,2470.74 -68.8947,48.79449,2471.35 </coordinates> <coordinates> -68.9127, 48.78028,2466.96,-68.9164,48.77747,2469.82 </coordinates> </LineString> </Placemark> </Document> </kml>

  42. Track with link

  43. Point with link <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Placemark> <name>Waskesiu</name> <description><![CDATA[Aeronet Sites Worldwide <br><a href="http://aeronet.gsfc.nasa.gov/cgi-bin/ type_one_station_opera_v2_new?site=Waskesiu&nachal=2&aero_water=0&level=1 &if_day=0&year_or_month=0">Link to Waskesiu data</a><br>]]></description> <Point id="khPoint616"> <coordinates>-106.083,53.916698,550</coordinates> </Point> </Placemark> </kml>

  44. Point with Link

  45. Google Earth/Map Application Programmer Interface (API) • Sign up for your key • Can be used only on requested web accessible directory eg. http://www.example.com/gmaps • Receive example script and put it in that directory • Build Google Map applications from there

  46. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Jim's Google Maps JavaScript API Example from M. Brown</title> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=xxx" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ var largemapcontrol = new GLargeMapControl(); function load() { if (GBrowserIsCompatible()) { var map = new GMap(document.getElementById("map")); GEvent.addListener(map,'click',function(overlay,point) { var latLngStr = '(' + point.x + ', '+ point.y + ')<br/>'; var message = document.getElementById("message"); message.innerHTML = latLngStr; }); map.centerAndZoom(new GPoint(-79.505, 43.77382), 4); map.addControl(largemapcontrol); } } //]]> </script> </head> <body onload="load()" onunload="GUnload()"> <div id="map" style="width: 500px; height: 300px"></div> <div id="message"></div> </body> </html>

  47. Google Map API

  48. Google Earth API • Link to dynamically generated kml • No API key required • See http://earth.google.com/kml/kml_tut.html#tracking_point

  49. Google Earth Example <?php // get the time $timesnap = date("H:i:s"); $BOX=$_GET[BBOX]; // split the client's BBOX return by commas and spaces to obtain an array of coordinates $coords = preg_split('/,|\s/', $BOX); // for clarity, place each coordinate into a clearly marked bottom_left or top_right variable $bl_lon = $coords[0]; $bl_lat = $coords[1]; $tr_lon = $coords[2]; $tr_lat = $coords[3]; // calculate the approx center of the view -- note that this is innaccurate if the user is not looking straight down $userlon = (($coords[2] - $coords[0])/2) + $coords[0]; $userlat = (($coords[3] - $coords[1])/2) + $coords[1]; $response = '<?xml version="1.0" encoding="UTF-8"?>'; $response .= '<kml xmlns="http://earth.google.com/kml/2.0">'; $response .= '<Placemark>'; $response .= '<name>'.$timesnap.'</name>'; $response .= '<Point>'; $response .= "<coordinates>$userlon,$userlat,0</coordinates>"; $response .= '</Point>'; $response .= '</Placemark>'; $response .= '</kml>'; echo $response; ?>