Archive

Archive for December, 2007

Interactive Spiders and Charts

December 24th, 2007 5 comments

GPS Animation and Charts, Google EarthA couple of updates to my recent Google Earth GPS-satellite visibility animation:

Firstly, you can now change the viewing location to anywhere on Earth.  To do this, right click on the Location folder (with the blue dot) in the side panel and select Refresh.  The animation will then centre on the current view.

Secondly, the visualization displays a Screen Overlayed bar chart by hooking up to the new, and very slick  Google charts API.   The chart shows the duration, in hours, specific numbers of satellites are visible. The idea being to demonstrate how the distribution profile changes with location.

As a secondary (secondary) option you can view a 24 frame animated bar chart.  Where I cumulatively add the current hour’s stats, shown in red, to all the previous hours’ , shown in green.  A bit OTT, but interesting to see how rapidly the API dynamically generates the images on demand, and GE caches them.
Edit (2007-12-26): removed this option temporarily – see comments.

Download the file here:

GPS Animation ~200kB

There’s a useful tutorial on how to create and embed charts in KML balloons on the official Google Maps Blog.   Only difference I found in adapting it for KML Screen Overlays (or Icons, Ground Overlays and PhotoOverlays for that matter) is I needed to use &  instead of & in the URLs.

The GPS Spider

December 20th, 2007 3 comments

GPS in Google EarthTime for a new KML animation!

The idea of this one is to plot out simulated GPS (Global Positioning System) satellite movements onto Google Earth, and simultaneously show how many are visible from a specific location at a particular time.  

GPS receivers need to be able to see several of these to return accurate location fixes. This animation shows that with 24 satellites in orbit the average number visible at any one time is 8.

Click to view animationThe visualization is pretty much a direct conversion of this GIF animation from Wikipedia’s GPS article – click on the image to view it in action. The only major difference is that I display the satellites at ground level rather than their real altitude – partly due to the display limitations in Google Earth, but mainly to give better geographic context.

Currently, the file shows satellites visible from the Googleplex – check out those fancy new roof tiles shown in GE’s recent hi-res update 🙂 – but my aim, and the main reason I decided to play around with this, is to eventually make the location completely user selectable and/or a moving target.

Download the current file here:

GPS Spider Animation 180kB

A few viewing suggestions:

  • Switch off any time animations already open in GE.
  • Put the time control on to a slower speed setting, and set the repeat option to wrap.   Hit the play button.
  • To simplify the animation, you can try turning off/on the KML features in the left side-panel, such as the orbit paths or individual satellites.
  • You get some interesting effects if you slightly widen the time control in this.

To create the KML I used similar parameters to the Wikipedia GIF:

  • 24 satellites, evenly spaced along six separate orbits. Each satellite completes an orbit in 12 hours.  These are depicted using Icons, with varying <heading> values to point them in the right direction. 
  • Orbital Paths (shown as white lines using an image overlay) are spread around the Earth at 60 degree intervals, and inclined at 55 degrees to the equator. During the animation these rotate because they’re are fixed in orientation relative to distant stars, not the Earth.
  • The green lines represent direct lines of sight.
  • The counter shows the current number of satellites visible.  In KML this is simply done by flipping through a series of different screenoverlay images. One for each number.
  • The animation shows one day,  which is exactly how long it takes for a satellite to return to the same geographic location.  In real life this would be a sidereal day: just under 24 hours.