home *** CD-ROM | disk | FTP | other *** search
- HOW TO MAKE YOUR OWN MAPS (README.MAP)
-
- MAP FILES: To see what map files are available to the system, use the alt-M
- command. This command draws the boundaries of all map files and shows you the
- areas covered by detail maps. Some of these maps are very detail, and some are
- just "starter" maps that I have made to give new users in those areas a basic
- map outline from which to add their own detail. Since I live in Maryland, you
- will notice that we have a lot of detail maps already put together for users in
- our area. Notice how maps of finer detail can exist within the same area. Zoom
- into my neighborhood at 3910N 07636W and see my neighborhood detail using 1200
- pixels per degree. As of this date, there are five starter maps with little
- internal detail. These are for Texas, Illinois, California, The
- Carolinas/Georgia, Ohio/Michigan/Ontario and Arkansas/Miss. See README2.MAP for
- info on how to center, convert and spawn new maps.
-
- Each Map file is put together using just a DOS text editor to list the ends of
- line segments drawn point-to-point. You can use any editor to prepare a map
- file. Simply use a chart that has lat/long references and select an origin well
- beyond the upper left hand corner of the area you want to cover. That point is
- 0,0 and all points are measured from there. (negative numbers are OK if you
- later add points behind the origin, but the (-) is an extra character that slows
- down file loading); similarly, an X value of 0 is not permitted since it is used
- to indicate separations between line segments. Choose a scale in pixels per
- degree of longitude and latitude. Since EGA graphics has a 350/640 pixel
- resolution, I have found that 120 pixels per degree (2 pixels per minute) is
- excellent for state size maps. I used 6 pixels per degree for the whole US.
- To get down to the individual street level, I have used as many as 1200 pixels
- per degree in order to resolve my neighborhood. In any map file, the first 8
- lines define the origin and scale. Comment text is permitted on these lines
- after the data value and a comma. See the example map below for Colorado.
-
- MAPLIST.MAP: This file contains the list of all maps available to the APRS
- program and decides which map is loaded for every location of the cursor. It
- also contains the preferred default LAT/LONG, Range and GMT offset for your
- location. For example, Eastern Standard Time is -5. The program uses the
- preferred LAT/LONG to center the first map each time the program starts up.
- These values are overridden when a saved backup file is loaded using the CTRL-L.
- So to force APRS to start up at your location, you can either change this
- location in the MAPLIST file, or move the cursor to your location and use Ctrl-S
- to save a backup file with you at the center, or if you are a registered user,
- save a config file. To change the default in the MAPLIST file, change the first
- four lines to your area as soon as you like. Keep a virgin copy of MAPLIST.map
- so that if you mess up the file, you have a clean starting point again. The GMT
- offset is only used to correct the raw time reveived from GPS/packet mobile
- stations.
-
- ADDING MAPS: To add a map to the system, look at the MAPLIST.map file. It
- contains a list of all maps available. Add a line that contains your
- map-name, LAT, LONG and the MAX Range. The LAT/LONG are in decimal degrees and
- describe roughly the center of your map. The range scale tells the system to
- load this map if the cursor ever falls within the boundaries of this map.
- Actually it is a little more complicated. The given map will not be used until
- the cursor location plus the current range scale in all
- directions fully falls within the boundaries. This keeps you from being on a
- postage stamp sized map of someone's neighborhood when you are zoomed out to see
- the whole US! HINT - so that your detail map seems to blend in with the next
- larger map, add enough rough lines and points to your boarders to surround your
- fine detail area with crude detail out to MAX Range beyond. Then when the
- screen centers on a point near the edge of your fine
- detail, your map doesnt just stop but includes crude detail to all edges.
-
- MAP HIERARCHY: It is important to place maps in decending order. The last map
- in the list that meets the proper criteria will be used. If a larger map
- covering the same area as a smaller map follows it later in the list, then the
- larger map will always be found last and will be used, instead of the desired
- smaller map.
-
- MAP LINES: Each line segment begins with 0,0 followed by the line color and
- line name, followed by pairs of x,y points using the scale you chose. Values
- are positive to the right and down. APRS assumes the color red (4) is used for
- secondary roads, bright red (12) for important highways, and green (10) for
- interstates. I use light blue (11) for rivers and coast lines, orange (6) for
- city/county lines, purple (13) for special event routes, etc. All of these
- colors are recognized by the software for selectively turning on and off map
- features using the designated ALT keys. The end of a line segment is simply the
- 0,0 which starts a new line. After the last line segment, there is a special
- 0,-1 which indicates the end of the line
- information and the beginning of the Labels list.
-
- MAP LABELS: Labels are drawn on maps at given lat/long coordinates. The
- labels are all listed at the end of each map file. Each label also has a range
- scale associated with it, so that not all labels are visible at all range
- scales. As you zoom in to finer and finer detail, you can make more labels
- appear. The first line in the labels list has a leading 0 and then just some
- identifying text. From then on to the end of the file, each line consists of
- 4 fields separated by commas. First is the label text (up to 12 characters
- long) followed by the LAT, LONG and RANGE. LAT and LONG must be given in
- decimal degrees. The labels are plotted right justified. This means they will
- be plotted to the left of the given LAT/LONG point. A way to visualize how a
- label will appear is to assume the label has a following period (.) and that
- the period is the location where the label will be plotted. The labels are
- right justified so that they do not overprint a station callsign which are all
- left justified. Since absolute LAT/LONG reference is used, labels can be
- transferred with out any change to any scale map. You may decide to change the
- range size so that the label shows up sooner or later on different maps.
-
- EXAMPLE: The following map file constitutes a trivial state map of Colorado.
-
- The first 8 lines are the fixed format lines which define the origin and scale.
- Next are the line segments for the state borders and for Denver. Finally are
- the map labels. To see how this map looks, move the cursor to the center of
- Colorado on the US map and page-down to the 256 mile scale.
- 41.0, latitude origin ( equates to 0,0 )
- 110.0, long of origin (in coordinate system)
- 60, pixls per deg Vert
- 39,Latitude of map center
- 105.5,Longitude of map center
- 200,MapRange
- 4,min rng (APRS will not zoom below this so integer math stays in range!)
- This is a comment line which describes this format more or less
- 0,0
- 6,Colorado state line
- 59,0
- 59,240
- 479,240
- 479,0
- 59,0
- 0,0
- 14,Denver city limits
- 300,68
- 289,77
- 300,85
- 311,77
- 300,68
- 0,-1 (indicates end of map lines )
- 0,beginning of Labels List
- Colorado,40,105,200
- Denver,39,104,100
-
- NOTE: The 7th line showing a minimum range is important. Starting with your
- full scale map, each time you page-down (zoom in) you are doubling the value of
- each pixel lat/long value. If any of these numbers ever exceed the maximum
- permissible value of 2 byte integer math (32,000) then the program will crash.
- For this reason, the program will never draw your map to a scale less than that
- specified by the Minimum Range value on line 7. On my very large map of the US,
- using 6 pixels per degree, the program will crash below 4 miles. If you are
- using 60 pixels per degree, this limit can go down to .5 miles. And if you are
- using 120 pixels per degree, a lower limit of .25 is probably safe which is the
- lowest range scale permitted anyway.
-
- MAPFIX.BAS: This QBasic program may be used to test your maps. It will quickly
- display a single map and allows you to use the cursor and a special pointer to
- identify individual map point coordinates. It also has a read out of the cursor
- in decimal degrees which is handy for locating labels.
-
- MAPCNVRT.BAS: This QBasic progarm may be used to convert any one map to a
- different LAT/LONG origin or different Pixels-per-degree resolution. Use it in
- conjunction with the QBasic editor for piecing together lines from one map to
- cut and paste into another map.
-
- FINAL COMMENTS: See the sketch above (not available in text file) which shows
- how simple it is. Most maps have LAT/LONG lines around the boarders. If you
- are using 120 pixels per degree for a state size map, then each LAT/LONG line
- corresponds to a multiple of 120. Simply mark on the boarders of your original
- map these values 120, 180, 240, 300, etc. Then make a smaller template which
- matches the size of one square of LAT/LONG lines. Draw a finer grid of lines
- every 10 pixels on the template. Then to locate the coordinates of any point
- on the map, simply orient the template with a major LAT/LONG square, and
- interpolate the point within the grid on the template which represents a 10x10
- pixel area. Actually, if we all use 120 pixels per degree for state size maps,
- then it is easy to transfer roads and lines from one map to another without
- mathimatical computations. For transfering objects from one map scale or origin
- to another, Use the QBasic program called MAPCNVRT.BAS which will re-compute all
- line points. Then use a text editor to re-do the center LAT/LONG and range
- lines and to cut and paste the necessary map labels on the end.
-
- CAUTION: since many highway maps are Lambert Conformal instead of Mercator
- projections, use the center square in your map for making the template to
- minimize errors. Further, be careful of highway maps that only have tick marks
- along the boarders for LAT/LONG. If the map is not a Mercator projection, then
- you cannot just draw a straight line from left to right connecting latitude
- marks. Longitude lines are straight on a Lambert Conformal, but not latitude
- lines!
-
- SPECIAL EVENTS: Conversly, absolute accurracy is only important if there will
- ever be a GPS or LORAN-C station involved in your net. A map with little
- relationship to true LAT/LONG is perfectly useable in all APRS
- applications as long as all stations in the net are using the same map and no
- one is using GPS. So feel free to draw quick simple maps for special events
- even as small as a few square blocks without worrying about exact LAT/LONG.
- Objects on one station screen will still be in the same location on all other
- screens! Use the Chess board example at 25N 90W to play chess on the air! But
- GPS is comming, be prepared!
-
- READ MORE ABOUT MAPS IN THE README2.MAP file!