1 / 39

Google Earth

Google Earth. Applications for Ham Radio. Radioactive Networks Pty Ltd. Darryl@radio-active.net.au. Who Am I?. Darryl Smith, VK2TDS, B.E. Self Employed Positioning Consultant Expert on Wireless Systems. The Talk. Introduction to Google Earth Applications for Ham Radio Tracking Weather

clement
Download Presentation

Google Earth

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google Earth Applications for Ham Radio Radioactive Networks Pty Ltd Darryl@radio-active.net.au

  2. Who Am I? • Darryl Smith, VK2TDS, B.E. • Self Employed Positioning Consultant • Expert on Wireless Systems

  3. The Talk • Introduction to Google Earth • Applications for Ham Radio • Tracking • Weather • Path Calculations • GIS • File Format - KML • Implementing Applications • VB.NET • ASP.NET

  4. Introduction to Google Earth

  5. Google Earth - Licensing • Free to Non-Commercial Uses • $20/Year upgrade for GPS functionality, and route editing • $400/Year Commercial per seat • Movie Making - $200/Year • Premium Printing - $200/Year • GIS Data Import - $200/Year • Traffic Counts Data - $200/Year • Shopping Centre Data - $200/Year • Server Licensable Separately

  6. Applications for Ham Radio • APRS / Tracking • Weather • Path Calculations • GIS Applications

  7. History • Originally released as Keyhole Viewer by ‘Keyhole’ • Most of the functionality was there in 2002, but Hardware and Networks were still lacking • Google purchased Keyhole in 2004, about the time of the DCC

  8. Example of User • Beyond Blue – a suicide prevention group for farmers in the Australian Bush organized a drive of vintage tractors through the Simpson Desert • They wanted to get community involvement so they set up a Google Earth feed showing their current position

  9. Fergy 8

  10. APRS Tracking • APRS Tracking is possible in Google Earth. • I have been importing APRS data into my own server software very successfully.

  11. Weather • Importing Weather Data into Google Earth from CWOP is fairly straightforward • Vectors can be added for wind direction and velocity • Graphics can show the rainfall • Icons can be used for Temperature • Graphs can be used to show trends • Text Boxes can be used to provide all data

  12. Image Import • Overlays can be loaded periodically, such as with weather radar data • These images can refresh automatically periodically • Custom datasets can also be used

  13. New Orleans – Post Katrina

  14. St Catherines Island

  15. Path Calculations • Paths can be drawn on the map. These can be locked to the ground, or at a height. This can be done to model antenna paths. • Without extra software it cannot do fresnel zones

  16. Building Applications • Visual Basic • ASP.NET • PHP

  17. Google Earth Back End • KML, an XML variant is used to draw • KML is hierarchical • That is elements can be added at any point…

  18. File Format / Architecture • Essential Information :- • KML Tutorial • http://www.keyhole.com/kml/kml_tut.html • KML Specification • http://www.keyhole.com/kml/kml_doc.html

  19. Place a line… Inside a Placemark <LineString> <altitudeMode>absolute</altitudeMode> <coordinates> -112.2550785337791,36.07954952145647,2357 -112.2549277039738,36.08117083492122,2357 -112.2552505069063,36.08260761307279,2357 -112.2564540158376,36.08395660588506,2357 </coordinates> </LineString>

  20. Folders <Folder> <name>My House</name> . . . </Folder>

  21. Network Link <NetworkLink> <refreshVisibility>0</refreshVisibility> <refreshInterval>121</refreshInterval> <Url> <href>//myServer/Googleearth/example.kml</href> </Url> <visibility>1</visibility> <name>TestNetworkLink</name> </NetworkLink>

  22. Two Types of Interface • Standard and ‘View’ based • Standard outputs data regardless of zoom level, area of display etc. • ‘View’ sends the extents of the view to the server whenever the data is downloaded. • View allows only appropriate data to be sent

  23. KML can point to a service. So if you pan around a map, when you stop, the service is asked to return a relevant KML file. It might, for example, take the bounding box of the area on screen and reach into a database to draw up data for that geography and place it on top of Google Earth.

  24. Example of a use of View Based output • Take the example of using GoogleEarth to display Weather Data. • Using the extents data you can determine the ZOOM level. • You can then send the NOAA Weather station data when zoomed out • Then as you zoom in CWOP stations are also displayed

  25. Building Applications A Simple KML File <Placemark> <description>Description</description> <name>Server Name</name> <point> <coordinates>151,-34,0</coordinates> </point> </Placemark>

  26. Building Applications – VB.NET Dim XTW as new XMLTextWriter (Filename, Nothing) xtw.WriteStartElement("Placemark") xtw.WriteElementString(“description”, “Description Text”) xtw.WriteElementString("name", “Server name”) Xtw.WriteStartElement(“point”) Xtw.WriteElementString(“coordinates”, “151,-34,0”) Xtw.WriteEndElement ‘point Xtw.WriteEndElement ‘Placemark Xtw.flush Xtw.close

  27. Building Applications – ASP.NET Private Sub Page_Load () Handles MyBase.Load With Page.Response .Clear(); .CacheControl = "no-cache“; .Expires = -1 .AddHeader("Pragma", "no-cache" & vbCrLf) .AppendHeader("content-disposition", "inline; filename=ge.kml") .Write("<?xml version=“1.0” ?>” & vbCrLf) line=“kml xlms=“http://earth.google.com/kml/2.0” >” .Write (line & vbCrLf) .WriteFile(“filename.kml" & vbCrLf) .Write("</kml>" & vbCrLf) End with End Sub

  28. Building Applications – PHP - 1 • <?php • $lat_int = rand(-90, 90); • $lat_dec = rand(0, 1000000000); • $lon_int = rand(-180, 180); $lon_dec = rand(0, 1000000000); • $lat = $lat_int.'.'.$lat_dec; • $lon = $lon_int.'.'.$lon_dec; • $response = '<Placemark>'; • $response .= '<description>Generates a random placemark on each call to the server</description>';

  29. Building Applications – PHP - 2 • $response .= '<name>Random KML server</name>'; • $response .= '<visibility>1</visibility>'; • $response .= '<Point>'; • $response .= "<coordinates>$lon,$lat,0</coordinates>"; • $response .= '</Point>'; • $response .= '</Placemark>'; • echo $response; ?>

  30. $coords = preg_split('/,|\s/', $BOX); • $bl_lon = $coords[0]; • $bl_lat = $coords[1]; • $tr_lon = $coords[2]; • $tr_lat = $coords[3]; • // calculate the approx center • $userlon = (($coords[2] - $coords[0])/2) + $coords[0]; • $userlat = (($coords[3] - $coords[1])/2) + $coords[1];

  31. Questions…

More Related