MILEMARK.TXT      INTERSTATE MILEMARKERS
===========================================================================
Document version: 8.3.8
Document dated:   30 Mar 99
Author(s):        Bob Bruninga, WB4APR <bruninga@nadn.navy.mil>
ABSTRACT
MILEMARK.TXT      How to use Interstate milemarkers in APRS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Mile markers are the universal mobile radio position location system.
Everyone from CB to ham radio uses them.  By adding this feature to APRS,
you can easily locate someone simply by reference to their Mile Mark.

APRSdos uses a data base stored in SYSTEM\MILEMARK.DAT.  Each line in the
file represents a straight line segment between two mile markers.  APRSdos
uses these to interpolate any mile marker inbetween by interpolation.
Only California is excluded because it has no state-wide MM system.

The Command in APRSdos is MILE-MARKER-VA95-114 for example.  This will
cause APRSdos to plot a horizontal line at the approximate latitude of the
mile marker 114 on interstate I-95 in Virginia.  The intersection of that
line with the interstate on the map is the location of mile marker 114.
If you entered M-M-VA81-56, then APRSdos would plot a vertical longitude
line intersecting that interstate approximately where MM 56 should be.

Entries in the MILEMARK.DAT file are of the form:

     VA95,NS,M1,L1,M2,L2
or   VA81,EW,M1,L1,M2,L2

Where the first field identifies the interstate, and the next field
indicates either NS or EW for north/south roads or east/west roads.
This field tells APRSdos whether to use LAT or LONG in the interpolation.
Thus it is trivial to build this file for your area.  Simply enter the
mile marker number and its LAT or LONG depending on whether the road is
more vertical or horizontal.  Although many entries may be sequential
in that the end MM of one line is the starting MM of the next, this
is NOT necessarily the case.  For example, to encode the following road,
                                     *M9
                                   /
     M1                       M5 /
      *------------------------*
                                 \
                                   *------------------------*
                                  / M6                      M9
                                /
                              *M3
I would enter the E/W road as two entries, one for M1 to M5 and another
for M6 to M9, and not bother with the short jag between M5 and M6.
Similarly, the mile marks from M3 to M9 can be done with ONE line
segment because from M3 all the way to M5, the slope of the road
is the same such that the amount of LAT increase per mile is the
SAME whether it is going NE or NW.

A milemarker requested between M5 and M6 *will* still get interpolated
as being a little beyond M5 but it will only be slightly off.
So, concentrate on building the data for the long straight stretches
and dont worry about the nooks and crannies.  I only used 9 entries
for the 400 miles of I-40 through the length of Tennessee..

I have built the entire database for all states with mileage exits
since I could get the data from a Highway map, but I need help in
those states that dont have mileage exits.  Here are the states I
cannot do just from maps.  I need LAT/LONG of the key mile markers:

 MA, ME, NH, PA, and NY interstates 81, 88, and 390
 In CT, still need I395 at route 2 Norwich
                   I395 at rt 138 or 164
                   I395 at Mass State line
                   I95  at RI state line

Note, in NY, the I-87 portion of the NY State Throughway is called
NYST to distinguish if from NY87 where mile mark 0 restarts.

If you are driving in these states and can write down the mileage of
the key mile markers (those that mark turning points between long
straight segments) please send them to me.  However, please do not
encumber me with lots of little segments.  We are just trying to get
a rough translation between mile marker and position.

The program MM-CHECK.BAS will scan the file to make sure it has all
the data elements in the right place.
