home *** CD-ROM | disk | FTP | other *** search
- HOW TO MAKE YOUR OWN MAPS (README.MAP)
-
- VERSION 3.07B distribution now includes the capability to use a DIGITIZER with
- the MAPFIX.BAS program so that you can draw a map on-screen using a digitizer
- tablet or drawing board! If you have a digitizerr, you can ignore 90 percent
- of this readme.map file. But you should still read it completely to get a full
- understanding of the structure and detail of APRS maps and how they work.
-
- GENERAL CAUTION: Many map makers have run up against the array limits in APRS
- in surprise. Here are the limits per map: 1000 map points, 99 Map labels, and
- 99 active maps. If you approach these limits, begin a new map! SECONDLY,
- APRS maps are NOT intended, nor expected to fulfill all map requirements. APRS
- maps are only intended to provide the user with a visual reference to where
- things are in a radio network. Once you see where a station is, and you want
- to see what street he is on, or what address block he is in, you should refer
- to printed maps of your area. Do not waste time trying to put too much detail
- into APRS maps! Similarly, don't try to label everything. Too many labels
- makes it hard to see callsigns. I just got back (thanksgiving 93) from my
- first long GPS mobile trip with a laptop, and can confirm that at 60 MPH and
- 30 second updates, I rarely ever went below the 8 mile scale and usually
- stayed at the 16 mile scale to see what was comming ahead. This confirms that
- in most cases a straight line between intersections is just as effective as
- a very detailed curvy map and only takes 2 points vice 20! So concentrate on
- plotting the intersections accurrately; if you want to come back later and add
- more detail curves for artistic sake, that is now easy to do with the latest
- version of my MAPFIX.bas program.
-
- SUCCESS!!! In Version 3.01, MAPFIX.bas can now ADD complete features while
- online; and in version 3.05 you can do almost anything with a map file! But
- In 3.07B not only can you start a file without beginning with a text editor,
- but you can also use a DIGITIZER to draw the map directly from a map!
- Without a digitizer, you should probably always start with a text editor and
- and a pencil to identify the point values to place roads geographically
- correct. But after the major roads and other geography is on the map, MAPFIX
- makes it a snap to eyeball in smaller roads and to smooth out points,
- or to add tiny jogs in the roads or shoreline.
-
- NEW IN DISTRIBUTION 3.00: Added a comment field for each map in MAPLIST.map
- file to help you keep track of what maps are what. If you do not add a comment
- you MUST add a COMMA on the end of the line as a null entry. Also the
- MAPFIX.bas program now has a routine to list MAPLIST.map and to show all map
- borders. Both of these changes are incompatible with earlier versions.
-
- NEW in DISTRIBUTION 2.13: The format of the MAPLIST.map file changed so
- that you can SUPPRESS any map in the list. This keeps the number of maps
- below the maximum of 60 that APRS can handle at a time, but keeps the map in
- the list for easy activation. Just use an editor to put a (*) at the start
- of a map you want to skip.
-
- NEW IN DISTRIBUTION 2.11: The MAPFIX.BAS program can now be used to ADD,
- MOVE, and DELETE map points and also to Add map LABELS! Also, Ken Swaggart,
- W7KKE in Foster City, CA has written a QBasic program that takes map points
- directly from a CALCOMP 4000 series plotter. See README.PLT and his maps!
- (NOTE, his program is probably obsolete now with 3.07B)
- Lastly, I have renamed many maps so that all map names begin with the two-
- letter state abbreviation so that they sort better alphabetically.
-
- HOW TO MAKE APRS MAP FILES: To see what maps are available to the system, use
- alt-M. This command draws the boundaries of all map files and shows you the
- areas covered by detail maps. The colors of these borders are proportional
- to map size. 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. If a map boarder is shown, but the map does not
- appear, then the mapfile is not on your disk. If the mapfile is there, but
- its boarder does not show up, then it is not listed in the MAPLIST.map file.
- 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. Also see some of the
- San Francisco maps made by W7KKE. He has used 2400 pix-per-deg on some maps.
- I try to provide a starter maps for each region. These region sized maps
- should contain only statelines and interstates, or you will run out of room
- (limit 1000 points and 80 labels per map) See the section MORE ABOUT MAPS at
- the end of this file for info on how to center, convert and spawn new maps.
- Slowly other APRS users are beginning to produce maps. Here are some good map
- makers:
-
- W4NMK Black Mountain NC
- N4WJQ @ WA4TFZ.VA Charlottsville VA
- W9LZQ Onalaska WI
- KD1E @ N8NNN.#SEMI Michigan MI
- N3FKV Waco TX
- KD6MKS Silver Lake CA
- W7KKE @ KA6EYH#nocal San Francisco CA wrote PLOTTER and GPS cmds
- KB5YRZ @ N5SSY#METLA New Orleans LA
- N4FOR Savannah GA
- KB8JXO @ W8CQK.#CMH.OH Columbus OH
- WB5DTW SanAntonio TX
- KA7UUS @ K7BUC.AZ Tuscon AZ
-
-
- BEGINNING A MAP FILE: In any map file, the first 8 lines define the origin
- and scale. Comment text is permitted on these first 8 lines after the initial
- data value and a comma. See the example map below for Colorado.
-
- BUILDING A MAP: Map files are put together using a DOS editor to make a list
- of points for APRS to use in drawing line segments. Note that the coordinates
- are listed as X,Y where X is horizontal and Y is vertical. This is backwards
- from the usual order that we list LAT (vert) and LONG (Horizontal), so be sure
- to put the horizontal (X) value first. 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 the end of one feature and start of another.
-
- MAP SCALE: Next choose an appropriate scale in pixels-per-degree of longitude
- and latitude for the area you want. 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,
- but should have probably used 12 for better resolution. By keeping the scale
- number an integer multiple of 60, you avoid any future roundoff and truncation
- errors due to ZOOM functions and when converting points from one map scale to
- another. I have used 6,12,24,30,60,120,300,600,1200, etc. It takes 1200 pix
- or more in order to resolve city streets. If you use too fine of a scale
- then you are limited as to how far the map can extend. Points with values
- greater that 999 should be minimized and no values should be bigger than about
- 1100 or there is a chance APRS will crash on very zoomed-in maps. The further
- you zoom in, the larger the values become until you get an overflow error.
-
- MAP RANGE: Since APRS handles range scales as integer powers of 2, I suggest
- making most maps slightly larger than any given power of 2. This is so that
- you can place the cursor in the center of the map, and pretty much see all of
- it at once. If you make the size of your map just under a power of 2, then
- you can never see the whole map at that range. Going down a scale permits
- you to see all of the map, but only a smaller portion of it at a time. To
- make it easy to hit the center of a map with the cursor, I usually make my
- maps with a range scale about 10% larger than an even power of 2.
-
- 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 default LAT/LONG and Range for the first map loaded. The
- program uses the default LAT/LON to center the first map each time the program
- starts up (on unregistered users). This map is distributed as the whole USA
- map since it is also good for use on HF. These values are NOT used when a saved
- backup file is loaded using the CTRL-L, or when a registered user has saved
- his default values in his APRSconfig file. So to force APRS to start up at
- your location, you can either 1) change this location in the MAPLIST file,
- 2) move the cursor to your location and use Ctrl-S to save a backup file with
- you at the center, or 3) if you are a registered user, save a config file. To
- change the default in the MAPLIST file, change the first three 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. As of version 2.05,
- you can instantly zoom out to the default map (the USA) using the Shift-End
- key. This is useful for doing a quick glance at HF mobiles that might be
- comming in through a GATEway!
-
- 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 the MAPname,
- LAT, LONG, MAPrange, and comments. The LAT/LONG are in decimal degrees and
- describe roughly the center of your map. The MAPrange tells the system to
- load this map if the cursor ever falls within this range of the center.
- 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 features and points to your borders 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 doesn't just stop but
- includes crude detail to all edges. Currently APRS can only use 60 maps in
- MAPLIST.map. As of version 2.13 you can place a (*) at the beginning of a line
- to tell APRS to skip that map. This way, you can make room for new maps, but
- keep old ones handy for later use... Also you can add some comment lines at
- the designated space in the file (beginning with *) so that you can leave notes
- as to what that particular file represents. As of version 3.00, there is also
- a comment field for each map. If you have no comments, use a comma to end the
- line.
-
- MAP HIERARCHY: It is important to place maps in decending order. The last map
- in the list that shows the given cursor position 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. If maps overlap in your area, hit shift-Home to temporarly see
- the map underneath (ver 2.05 and later). Using this feature, you could make
- two maps of the same area and scale. On one you could put rivers and roads,
- on the other you could put counties, property lines, and grids. Then by
- listing the gridded map first in the MAPLIST.map file, it would always be
- superceeded by the road map, but could be summoned up by hitting shift-home!
-
- MAP FEATURES: APRS displays all map features by drawing lines from point-to-
- point. Each feature begins with 0,0 followed by the line color and a name for
- the feature, followed by pairs of x,y points using the scale you chose. The
- name is not used, but is useful for identifying features during editing. In
- APRS, there is no limit on the number of features, just on the total number of
- points used to define them (1000). Since the MAPFIX.BAS program does, however,
- does display these feature names during on-line editing, there is a limit of
- 99 in the array used to hold these names temporarily. The POINT values
- are positive to the right and down. The end of a feature is simply the 0,0
- which starts a new one. After the last feature, there is a special 0,-1 which
- indicates the end of all feature information and the beginning of the labels
- list.
-
- MAP COLORS: APRS recognizes certain map colors for turning on and off certain
- map features. For this reason it is a good idea to use my standard colors. I
- made most map features using the brighter colors since they are easier to see
- on a color monitor outdoors. In recent versions, you can change the background
- color with the Tint command under Features, and in version 3.00 the map colors
- will be dimmed when you ask for the Map Borders display (alt-M). I will add
- a DIM command in the next version, so you dim the colors if you like. Here are
- my standards, the * indicates if they are uniquely recognized by the software:
-
- 0 - Black (normal background) 8 - NOT USED
- 1 - dim blue 9 - Bright Blue
- 2 - dim green *10 - Bright Green (Interstates)
- 3 - dim cyan *11 - Bright Cyan (waterways)
- 4 - deep red (state roads) *12 - Bright Red (major roads)
- 5 - dim violet 13 - Bright Violet(special routes/events)
- *6 - dim orange (state/county lines 14 - Bright Yellow (Cities,airports)
- *7 - gray (back roads) 15 - Bright White (Labels and CALLS)
-
- MAP LABELS: Labels are drawn on maps at given lat/long coordinates. The
- labels are listed at the end of each map (up to 80). Each label 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 any
- any comments. 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 MAPFIX.bas program displays the location of the cursor
- in decimal degrees for this purpose. Labels are plotted right justified. This
- means they will be plotted to the left of the given 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. Labels are
- right justified so that they do not overprint station callsigns 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. As
- of version 2.12, MAPFIX.bas has a command for automatically inserting new map
- labels at the cursor location. This greatly simplifies map making!
-
- 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 features 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 in) [Notice how comments can be on]
- 110.0, long of origin (coordinate system) [the ends of these first lines]
- 60, pixels per deg of lat/long [and 1st line of each new line]
- 39,LAT of map center (For ur reference only. Value in MAPLIST.map is what)
- 105.5,LON of map center (is actually used as the center and Range for maps )
- 200,MapRange
- 4,minimum range (APRS does not use this, it now computes min range)
- * This single comment line can contain anything... 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 (0,-1 indicates end of map features)
- 0,Comments or notes... etc ( note that the 0, is required )
- Colorado,40,105,200
- Denver,39,104,100
-
- NOTE: The 7th line showing a min range used to be important. Starting with
- a 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.
- After version 2.04, APRS assumes that there will not be any data points larger
- than about 1100 and will not draw your map to a scale that would multiply this
- number too big. This is why APRS will not draw the USA map smaller than about
- 32 miles. Six pixels per degree for the USA map was a poor choice since the
- largest point value is still under 400 or so. So I could have used 12 per
- degree and still been below 999. This would have given me better resolution
- and would have permitted zooming in to 16 miles.
-
- MAPFIX.BAS: This QBasic program may be used to test and edit your maps. It
- helps you to quickly display single maps and to use the cursor to identify
- individual map point coordinates. It also has a readout of the cursor in
- decimal degrees which is required for locating labels and map Centers. Prior
- to APRS distribution 2.10 this program only allowed you to look at your maps.
- Now you can add, move and delete map points and save a new file. With 3.01,
- you can even add new features! In 3.05 you can also delete features and
- points. With 2.13 MAPFIX.bas can also add labels, and with 3.00, it can list
- maps in the MAPLIST.map file and also show all map borders. 3.07 allows you to
- overlay a GPS track history file over the map you are drawing so you can make
- your roads as accurate as GPS! 3.07P ADDS A DIGITIZER INTERFACE SO THAT
- YOU CAN DIRECTLY DIGITIZE ANY MAP!
-
-
- 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 features from one map
- to cut and paste into another map. Say you are building a fine detail map, but
- want to use the statelines and interstates from a larger map. Just use the
- editor to remove all unnecessary points from the big map, keeping all the
- features that you want to retain and move to your new map. Then save it with
- a TEMPORARY name and then run it through MAPCNVRT.BAS to re-compute all of the
- map points. Then use this new file as the beginning of your new map. You can
- also use the point-add-delete function in MAPFIX.bas to fine tune these points.
-
- TECHNIQUE: See the sketch above (not available in text file) which shows
- how simple it is. Most maps have LAT/LONG lines around the borders. 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 borders of your original
- map these values 120, 240, 360, 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 features from one map to another without complex
- mathimatical computations. For transfering features from one map scale or
- origin to another, Use the QBasic program called MAPCNVRT.BAS which will
- re-compute all point values. Then use a text editor to re-do the LAT/LONG
- and range 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 borders 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! (PACCOM TNC's now come with a GPS interface built-in!)
-
- MORE ABOUT MAPS PART 2
-
- FLASH!! With the advent of low cost GPS, most mapmakers are now beginning to
- add LAT/LONG to most new maps. Our 7-11 convenience store maps now even
- include map booklets which have a LAT/LONG grid on every page! The grid lines
- are 5 minutes apart which is exactly 10 pixels if you use
- 120 pixels per degree as I do for most APRS state maps. This means that each
- grid square is a 10x10 pixel area from which map coordinates can be typed
- directly into a text editor without any drafting aids! Simply note the grid
- coordinates of the corner of each page in the book and start entering points!
- Rumor has it that the comparable convenience map maker on the west coast is
- also now making map books with LAT/LONG grids.
-
- NOTES ABOUT STARTER MAPS: The starter maps that I have provided use a scale
- of 120 pixels per degree and have an origin that is suitable for about a 400
- mile square area. This area usually covers from one to several states and is
- good for area maps. With the whole map visible, one pixel represents abt .25
- mile resolution. The first step in customizing maps to your area is to take
- the starter map and start adding roads and features in your area. Since all
- maps in the APRS system are limited to a maximum of 1000 data points, however,
- these large area starter maps can usually contain only the interstate roads,
- the state lines, and major rivers and 4-lane highways. This is perfect for
- most VHF applications. But as more and more people add detail closer to home,
- smaller maps need to be "spawned" off to make room for more detail. The
- following sections describe how to spawn maps and convert points from one map
- to another.
-
- MAP CENTERING: Most of you do not live in the middle of a starter map and so
- your detail will be off center. To make a more pleasant transition as you
- zoom into your area using APRS, you may want to simply change the center and
- range of the starter map to be centered on your area with a range suitable to
- the amount of detail you have added. To do this, simply edit the line for your
- starter map in the MAPLIST.map file to your desired center and range. Keep
- the original starter map for others to use by adding a (*) to cause APRS to
- skip it when loading the MAPLIST.map file. As the number of points in your
- map grows, you may need to throw out some of the points which are beyond your
- area of interest. Use MAPFIX.bas to delete points. See the next section on
- map spawning.
-
- MAP SPAWNING: In the figure above, map A is the original starter map with the
- origin at O. Using 120 pixels-per-degree resolution, all points within a
- square area 8 degrees on a side (about 400 miles) can be resolved with pairs
- of 3 digit numbers. As the number of points in such a regional area map fills
- up towards the 1000 limit, it is necessary to start new smaller area maps such
- as B, C, and D above to permit finer detail to be added. Spawning a new map
- is easy. Simply use a text editor to create a new mapfile and copy all of the
- features out of the original map that fit within the new map area. Then save
- this new map and add its name to the MAPLIST.map file giving a center and range
- appropriate to the new smaller area covered. Now add new roads and features in
- the area of interest. Notice that since the same origin and 120 pixel-per-
- degree scale are still used among all maps spawned from the same starter map,
- features and points can be moved among those maps by simply cut-and-paste.
-
- MAP CONVERSION: When it is desired to move features and points from one map to
- another map which has a different origin (X) or resolution, then use the
- MAPCNVRT.BAS program. First spawn a new map which contains all of the points
- that are to be moved. Then run the MAPCNVRT program giving the new origin and
- resolution. The resulting MAPTEMP.MAP file contains a copy of those features
- and points ready to be cut-and-pasted into the new map (Y) with the new origin
- (X) and resolution. This process is useful when creating finer detail maps of
- an existing area and you want to transfer the interstates and larger map
- features down to the finer detail map without having to re-do the data points.
- You can use MAPFIX.bas to add new points to a road when building a finer detail
- map, or to delete points when building a larger map where extra fine detail
- points are not needed.
-
-