Create APRS maps on the fly online

You are here : Home > Projects > APRS maps
APRS is short for Automatic Position Reporting System, which was introduced by Bob Bruninga, WB4APR, at the 1992 TAPR/ARRL Digital Communications Conference. Fundamentally, APRS is a packet communications protocol for disseminating live data to everyone on a network in real time. Its most visual feature is the combination of packet radio with the Global Positioning System (GPS) satellite network, enabling radio amateurs to automatically display the positions of radio stations and other objects on maps on a PC. Other features not directly related to position reporting are supported, such as weather station reporting, direction finding and messaging.

A great site to look at is findU.com where Steve Dimse K4HG has written several cgi scripts wich are usefull for aprs. With these scripts, a station can be displayed on a map.
And for years the maps came from www. vicinity.com but in december 2002 the services of Vicinity Corp were integrated into the Microsoft MapPoint Business Unit.

In 2004 a friend contacted me and informed me about this problem. We went on searching to a service that could replace Vicinity.
Maybe we could use Microsofts Mappoint ?
The problem was to find a server with this service. We stumbled on Expedia.com
After close examening the site and codes used, we came up with a working version of a map, customized to our needs. Bingo :-)

We now have to make a link between Expedia and findU. Therefore I've written a script in PHP to make this possible.
I'll explain :
You already known the callsign of the station that you want to see on a map, search the data of this station with a findU script, parse this output to what you need and let Expedia create a map.


We use the output of the script posit.cgi with the callsign on0xyz:
http://www.findu.com/cgi-bin/posit.cgi?call=on0xyz&comma=1&time=1&start=240


This gives a lot of html code back (removed some lines) :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd"><HTML>
<HEAD>
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">
<TITLE>ON0XYZ Positions</TITLE>
</HEAD>
<BODY alink="#008000" bgcolor="#F5F5DC" link="#0000FF" vlink="#000080">
20041124151701,51.20617,4.43000,0.0,0.0,&nbsp;<br>
20041124154652,51.24050,4.47817,81.0,27.0,&nbsp;<br>
20041124164636,51.25233,4.51167,278.0,0.0,&nbsp;<br>
</BODY>
</HTML>

This entire html code is put in a large array, we count the lines because we need the line just before the body close tag.

We now have in this order yyyymmddhhmmss, latitude, longitude, course, speed and altitude.
In this example :
2004-11-24, 16:46:36, 51.23233, 4.51167, 278.0, 0.0, &nbsp;

Now put this data in a url to create the map :
http://www.expedia.com/pub/agent.dll?qscr=mrdt&ID=3XNsF.&
CenP=51.25233,4.51167&Lang=EUR0809&Alti=10&Size=800,600&
Offs=0,0&MapS=0&Pins=|51.25233,4.51167|13|ON0XYZ|L1|


73's Joost

This article is written just for fun and for educational purposes only.
If you plan to use Expedia.com, contact them to make sure you have the permission to use them in your application.
All other names and trademarks are registered trademarks by their respective owners.