home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / ham / aprs114.zip / README.MAP < prev    next >
Text File  |  1993-07-09  |  11KB  |  185 lines

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