<div dir="ltr"><a href="http://trackulator.appspot.com/">http://trackulator.appspot.com/</a><br><br>I wrote a simple Google App Engine web application to store APRS position reports in a database and make the data available to whoever wants it.<br>
<br>Position reports are sent to the application in chunks via HTTP from a small daemon running on my workstation at work. GAE doesn't allow access to sockets, so this was the only way to feed it a data stream. It's updated every few seconds. Right now it's only receiving the USA stream. Eventually I would like
to feed it the global stream, but Google set some fairly low resources
quotas. When App Engine goes production, it will be possible to
purchase additional resources.<br><br>Reports are stored using the GAE Datastore, which is based on Google's Bigtable DBMS. This is supposed to scale up into the petabyte zone with good performance, although currently Google limits GAE apps to 500MB. Again, when GAE goes production, it will be possible to buy more storage.<br>
<br>I wrote a horribly simple query function that returns an ugly static google map with the stations track-line (if any) and a table of all the position reports in the DB.<br><br>I have also written a simple JSON API to allow remote programattic database queries. This is what really sets this system apart from the other web APRS offerings. <br>
Anybody anywhere can efficiently query the database using HTTP and JSON from any programming language they like. Google App Engine will automatically scale the application accross as many servers as necessary to handle this load.<br>
<br>Future plans include storing APRS data beyond just positions, additional search API functions, and expanding to the global feed. I suppose a prettier web GUI would be nice but I'm not really much of a JavaScript programmer. Maybe if I provide the database API, somebody else will work on the GUI.<br>
<br>Please check it out and report any issues you find. Remember, not only is my application in testing, but Google App Engine is in testing, so anything might happen. Don't rely on this for production use.<br><br>Thanks,<br>
Jeff<br><br>-- <br>73 de n1ywb<br><br>
</div>