home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / aprtrak.zip / README / MAPMAKIN.TXT < prev    next >
Text File  |  1995-11-02  |  24KB  |  421 lines

  1. MAPMAKIN.txt  7.4a          ALL ABOUT MAKING MAPS
  2.  
  3. NOTE: There are several other README\MAP files:
  4.  
  5.       MAPS.txt gives an overview and info on where to find maps
  6.       MAPS-CD.txt tells how to make maps from the USGS CD ROMS
  7.       MAPS-HST tells you how to make maps simply by driving around and 
  8.                saving a track history!  
  9.  
  10. Anyone that is going to distribute maps should read the info in MAPS.txt.
  11.  
  12. OVERVIEW:  My general philosophy is to keep maps simple so that APRS
  13. will run quickly on any PC machine, including 8088 laptops, and so that
  14. maps can be made by anyone and distributed within the amateur community
  15. without any license or royalty concerns.  You can even look at them
  16. with a DOS text editor!  TO minimize disk space and to speed up map
  17. drawing, APRS limits the number of points to 2999 and the number of 
  18. labels to 199; any more detail on one map just clutters the screen.  
  19. This does NOT limit overall map resolution, however, since APRS can 
  20. overlay maps of increasing resolution as you zoom in.  To see the street 
  21. level ability of APRS, Zoom in to the 1 mile range in the center of Idaho 
  22. Falls.
  23.  
  24. MAP COMMANDS:  Before getting into the detail of building APRS maps, use
  25. some of the MAP-MENU commands in APRS to become familiar with the APRS
  26. map structure.  You will see how maps are overlayed in a hierarchical
  27. manner from the whole world, down to increasing detail.  This
  28. hierarchical order is established in the sequence of maps in the
  29. MAPLIST.xxx file which tells APRS the names of all the maps available to
  30. it, their size, and the location of their center.  APRS compares the
  31. location of the cursor relative to this list to decide when to load a
  32. new map.  The following MAP-MENU commands will help you see this
  33. hierarchical structure:
  34.  
  35.   B - Borders:  Shows borders of MAPS in the MAPLIST.xxx file.  Use the
  36.       F2 and F4 keys for different ranges.  If a border appears, but the
  37.       map does not come up in APRS, then the MAP file is missing.  If
  38.       the Map file exists but its border does not show up, then the file
  39.       is not listed in the MAPLIST.xxx file.  See F-C below.
  40.  
  41.   H - Hierarchy:  This is an improvement on the BORDERS command since it
  42.       colors in the maps in the same sequence as they are listed in the
  43.       MAPLIST.xxx file.  The overlapping colors show the effect of the
  44.       sequence of this list. If you see any border that is not colored
  45.       in with its own color, then it will be invisible to APRS, since it
  46.       is overlapped by other maps of the same area following it in the 
  47.       MAPLIST.xxx file.  To correct this problem, move it later in the
  48.       list than the overlapping map.
  49.  
  50.   A - ALTmap:  Displays the map UNDER the current map.  Since APRS
  51.       always uses the latest map in the MAPLIST.xxx file that meets the
  52.       current cursor location and screen range, areas where maps overlap
  53.       may sometime be obscured.  This command displays the next higher
  54.       map in the list.
  55.  
  56.   L - Locks the current map.  This defeats the normal APRS auto-map
  57.       select feature so that you will not get a redraw if your cursor
  58.       gets over on another map during a special event.  This also lets
  59.       you zoom way out to see the actual limits of the data in the map
  60.       file, even if, for some reason, the map border is different than
  61.       the actual data.
  62.  
  63.   MAPS-ChgMapList - This command lets you select from any number of 
  64.       MAPLIST.xxx files.  In addition to the standard distro files of 
  65.       USA, EAS, WES, CEN, and SE, you may also want to customize these 
  66.       to your area and give them new names so they are not confused 
  67.       with, (or overwritten by), the standard ones.  This also 
  68.       simplifies the task of the state APRS map coordinators that
  69.       can now maintain their own MAPLIST.xx files for their states.
  70.  
  71.  
  72. METHODS FOR MAKING APRS MAPS
  73.  
  74. There are several methods for making maps depending on the resources
  75. available to the user. 
  76.  
  77.   MANUAL     - Ruler and Pencil method.  Just use a pencil and home-made
  78.                template to determine X,Y offsets from the origin in the
  79.                upper left corner of the map.  Then use a DOS editor to
  80.                enter the X,Y values into a map file.  Or use the cursor
  81.                in MAPFIX to free-hand a map.  This is quite tedious to
  82.                make the cursor on the screen match real world
  83.                coordinates.  This method is best for sketching in local
  84.                roads on existing maps.
  85.  
  86.   GPS REPLAY - This is the easiest way to add detail in your area.  Just
  87.                drive around with your GPS, saving APRS track history
  88.                files.  Whenever you want to save a particular point or   
  89.                intersection, press F8.  Then use MAPFIX to overlay these
  90.                histories onto the screen for easy cursor drawing.  Or
  91.                use the GPStoHST.bas file to convert an existing NMEA
  92.                data file to APRS track history format.
  93.  
  94.   CD ROM     - Use MAKEMAP1.EXE to build a 32 mile map (or up to 50 mile
  95.                in rural areas) directly from the single 2,000,000:1 USGS
  96.                CD that covers the whole US.  See MAPS-CD.txt
  97.  
  98.                Use MKMAPHK1.EXE to build 2 and 4 and maybe 8 mile maps
  99.                directly from the USGS 100k CD rom for your area.  See
  100.                MKMAPHK1.txt.
  101.   
  102.                OR (obsolete) MAPFIX can inport data points from the 2M CD 
  103.                at the state road level, and 2 to 4 hours of manual
  104.                filtering is required to eliminate redundant point data. 
  105.                See the N.TN map.  See also MAPS-CD.txt
  106.  
  107.   100,000    - W7KKE has written a conversion for the USGS 1:100,000 CD
  108.                ROM, but it also takes hours to process the data into a
  109.                usable and meaningful APRS map, since USGS data is VERY
  110.                fragmented.
  111.  
  112.   AUTOCAD    - KG8GE has developed programs for building APRS maps to
  113.                and from AUTOCAD.  See the section at the end of this
  114.                file.
  115.  
  116.   DIGITIZER  - MAPFIX can accept input from a digitizer tablet.  This
  117.                makes all points very accurate and is the FASTEST way to
  118.                build a map!
  119.  
  120.   MOUSE      - MAPFIX can be initialized to use a serial-MICROSOFT-mouse
  121.                as a poor mans mouse digitizer.  See MOUSE.txt
  122.  
  123.   IMPORTING  - This feature in MAPFIX lets you import into your current
  124.                map, all or a selected category of features from other
  125.                maps.  Re-computing of the Origin and scale is AUTOMATIC.
  126.                This makes it easy to combine maps.  Take parts from
  127.                adjacent maps to build a map centered on your location.
  128.  
  129. Look for the sections below that describe each of these methods.  The
  130. manual method is described first, since it gives you the basic structure
  131. of the APRS maps format.  Remember that all APRS maps are in DOS TEXT
  132. format.
  133.  
  134. GENERAL CAUTION:  APRS maps are NOT intended, nor expected to fulfill
  135. all map requirements but to simply help locate radio equipped mobiles
  136. within their 20 or so mile radio range.  In most applications too much
  137. map detail just slows everything down and requires megabytes of disk
  138. space.  Similarly, too many map labels makes it hard to see callsigns. 
  139. Also, while driving along at 55 MPH and 30 second GPS updates, zooming
  140. in below about 8 miles makes the map move so rapidly so that fine detail
  141. is not needed.  Often, a straight line between intersections is just as 
  142. effective as a very detailed curvy map but only takes 2 points vice 20!  
  143. So concentrate on plotting the intersections accurately; if you want to 
  144. come back later and add more detail curves for artistic sake, that is 
  145. easy to do with the MAPFIX.bas program.
  146.  
  147.  
  148. HOW TO MAKE APRS MAP FILES:   To see what maps are available to the
  149. system, use the MAPS-BORDERS command discribed above.  If your local
  150. APRS net does not have at least a 64 mile map, please contact me.   It
  151. is also easy to shift the center and detail of maps to highlight your
  152. area.  See the section at the end of this file for info on how to
  153. center, convert and spawn new maps.  
  154.  
  155.  
  156. OVERALL APRS MAP FILE FORMAT:  In any map file, the first 8 lines define
  157. the origin and scale.  Comment text is permitted on these first 8 lines
  158. after the initial data value and a comma.  See the example map below for
  159. Colorado.  The remainder of the file just lists X,Y points that form the
  160. map features such as roads and rivers.  To end each such feature and
  161. begin another, APRS uses a 0,0 entry.  The next feature begins with the
  162. value of the line color, followed by the feature name.  At the end of
  163. this file, is a 0,-1 which marks the end of points data, and the
  164. beginning of the list of map labels.  Then there is a 0,comment line that
  165. starts the LABELS section.  Use a DOS EDITOR to look at ANY APRS map file.
  166.  
  167.  
  168. MANUAL DOS TEXT EDITOR METHOD:  Simply use a DOS editor to make a list
  169. of points for APRS to use in drawing line segments.  Note that the
  170. coordinates are listed as X,Y where X is horizontal and Y is vertical. 
  171. This is backwards from the usual order that we list LAT (vert) and LONG
  172. (Horizontal), so be sure to put the horizontal (X) value first. You can
  173. use any editor to prepare a map file.  Simply use a chart that has
  174. lat/long references and select an origin beyond the upper left hand
  175. corner of the area you want to cover.  That point is 0,0 and all points
  176. are measured from there. (negative numbers are OK if you later add
  177. points behind the origin, but the - is an extra character that slows
  178. down file loading); similarly, an X value of 0 is not permitted since it
  179. is used to indicate separations between the end of one feature and start
  180. of another.
  181.  
  182.  
  183. MAP SCALE:  Next choose an appropriate scale in pixels-per-degree of 
  184. longitude and latitude for the area you want.  Using a 350/640 pixel
  185. display, I have found that 120 pixels per degree (2 pixels per  minute)
  186. is excellent for large state maps.  I used 12 pixels per degree for the
  187. USA.  By keeping the scale number an integer multiple of 60, you avoid
  188. any future roundoff and truncation errors due to ZOOM functions and when
  189. converting points from one map scale to another.  I have used 6, 12, 24,
  190. 30, 60, 120, 300, 600, 1200, etc.  It takes 1200 pix or more in order to
  191. resolve city streets.  If you use too fine of a scale then you are
  192. limited as to how far the map can extend.  Points should be limited to 0
  193. to 1024 in Y and 2048 in X if you want to later use the MAPFIX
  194. compression algorithm to speed map loading and minimize file size.
  195.  
  196. MAP RANGE:  Since APRS handles range scales as integer powers of 2, I
  197. suggest making most maps about 10% larger than any given power of 2. 
  198. This is so that you can place the cursor near the center of the map, and
  199. pretty much see all of it at once.  To make it easy to find map centers,
  200. APRS shows them with a small Plus mark (+).
  201.  
  202. MAPLIST.xxx:   This file contains the list of all map files available to
  203. APRS and decides which map is loaded based on the location of the
  204. cursor.  The first 3 lines of the file also contain the default LAT/LONG
  205. and Range for the first map loaded.  The program uses this default to
  206. center the first map each time the program starts up (center of USA). 
  207. These values are ignored when a backup file is loaded using the
  208. FILES-LOAD command, or when a registered user has saved his default
  209. location in his CONFIG file.   The MAPLIST.xxx default location is also
  210. stored in the #1 MAP HOT KEY so that you can instantly zoom out to the
  211. default map for that list with a single key stroke.
  212.  
  213. ADDING MAPS:   To add a map to your system, look at the MAPLIST.xxx
  214. file.  It contains a list of all maps useable by the system.  There can
  215. be multiple MAPLIST.xxx files.  The MAPLIST.USA file comes with the APRS
  216. distribution and contains all regional, and state maps, plus some
  217. representative local maps.  You can either add your map to this file, or
  218. add it to any local state lists that might be available.  Currently
  219. there are complete MAPLIST.xxx map files for many states such as Calif,
  220. Missouri, and Ohio.  The MAPLIST.OH file lists over 90 local Ohio maps!
  221.  
  222.      To add a map, simply add a line that contains the MAPname, LAT,
  223. LONG, MAPrange, and comments.  The LAT/LONG are in decimal degrees and
  224. describe the center of your map.  The MAPrange tells the system to load
  225. this map if the cursor falls within this range of the center.  Actually
  226. it is a little more complicated.  The given map will not be used until
  227. the cursor location plus the current range scale in all directions fully
  228. falls within the boundaries.  
  229.  
  230.      Currently APRS can only use 170 maps in MAPLIST.xxx.  To make room
  231. for new maps, but keep old ones handy for later use, You can place a (*)
  232. at the beginning of a line to tell APRS to skip that map.  Also you can
  233. add some comment lines at the designated space in the file (beginning
  234. with *) and for each map so that you can keep track of your maps.  If
  235. you have no comments for a map, you MUST place a comma at the end of the
  236. line.
  237.  
  238. MAP HIERARCHY:  It is important to place maps in decending order.  The
  239. last map in the list that contains the given cursor position will be
  240. used.  If a larger map covering the same area as a smaller map follows
  241. it later in the list, then the larger map will always be found last and
  242. will be used, instead of the desired smaller map.  You can see the this
  243. effect, by using the MAPS-HIERARCHY command.  If maps overlap in your
  244. area, use the MAP-ALT command to temporarily see the map beneath the
  245. present map.  You can also use the MAPS-OVERLAY command to overlay the
  246. larger map onto the present map.  Using this feature, you could make two
  247. maps of the same area and scale.  On one you could put rivers and roads,
  248. on the other you could put counties, property lines, and grids.  Then by
  249. listing the gridded map first in the MAPLIST.xxx file, it would always
  250. be superceeded by the road map, but could be summoned up by hitting the
  251. MAPS-ALT or MAPS-OVERLAY command!
  252.  
  253. MAP FEATURES:  APRS displays all map features by drawing lines from
  254. point-to-point.  Each feature begins with 0,0 followed by the line color
  255. and a name for the feature, followed by pairs of x,y points using the
  256. scale you chose.  The feature name is not used, but is useful for
  257. identification during editing.  In APRS, there is no limit on the number
  258. of features, But the total number of points must remain below 2999.  The
  259. MAPFIX.BAS program does, however, have a finite limit during map editing
  260. (currently about 150).  The POINT values are positive to the right and
  261. down.  The end of a feature is simply the 0,0 which starts a new one. 
  262. After the last feature, there is a special 0,-1 which indicates the end
  263. of all feature information and the beginning of the labels list.
  264.  
  265. MAP COLORS:  APRS recognizes certain map colors for turning on and off
  266. map features.  It typically uses most of the brighter colors.  You can
  267. change the background color with the Tint command or dim all colors
  268. using the MAPS-FEATURES-DIM command.  Map colors are automatically
  269. dimmed when you ask for a MAPS-BORDERS display so that map edges show up
  270. brightly.  Here are my standard colors.  The * indicates that the color
  271. is uniquely recognized by the APRS FEATURES command:
  272.  
  273.  0 - Black (normal background)    * 8 - dark gray (Railroads)
  274.  1 - dim blue (ferrys, etc)         9 - Bright Blue
  275.  2 - dim grn (Admin areas, Parks) *10 - Bright Green (Interstates)
  276. *3 - dim cyan (Rivers)            *11 - Bright Cyan (Big rivers, Coasts)
  277.  4 - deep red (state roads)       *12 - Bright Red   (major roads)
  278.  5 - dim violet (custom features)  13 - Bright Violet(special
  279. routes/events)
  280. *6 - dim orange (state/cnty lines) 14 - Bright Yellow (Cities,airports)
  281. *7 - gray     (back roads)         15 - Bright White  (Labels and CALLS)
  282.  
  283. NOTE: In Europe, the convention is to make Autobauns color 13 (purple).
  284.  
  285. MAP LABELS:   Labels are drawn on maps at given lat/long coordinates. 
  286. The labels are listed at the end of each map (up to 199).  Each label
  287. has a range scale associated with it, so that more labels can appear at
  288. smaller ranges.  The first line in the labels list has a leading 0 and
  289. then any any comments.  From then on to the end of the file, each line
  290. consists of 4 fields separated by commas.  First is the label text (up
  291. to 12  characters long) followed by the LAT, LONG and RANGE.  LAT and
  292. LONG must be  given in decimal degrees.  The MAPFIX.bas program displays
  293. the location of the cursor in decimal degrees for this purpose.  Labels
  294. are right justified so that they do not overprint station callsigns
  295. which are all left justified.   Since absolute LAT/LONG reference is
  296. used, labels can be transferred without any change to any scale map.  
  297.  
  298. Please note, however, that labels are printed on the normal EGA screen
  299. 24 line raster, so they can be off their exact location by almost a full
  300. text line vertically, and one full character horizontally at higher
  301. scales.  Take this into account when placing labels.
  302.  
  303.      You can also build APRS symbols directly into MAPS!  Instead of a
  304. text label, simply make the first three characters of the label be a $
  305. followed by the symbol character, followed by a hexidecimal number from
  306. 1 to F that indicates the desired color for the symbol.  The remaining 8
  307. characters can be used for a conventional label at the same location. 
  308. For example, look at the VORTAC's (aircraft nav aids) that I added to
  309. the ALASKA maps.  They are listed in the map file as
  310. $VEANC,lat,long,rng.  The V is the VORTAC symbol, the E is hexidecimal
  311. for 14 or the color yellow, and ANC is the label for the ANChorage
  312. VORTAC as it will appear on the map.
  313.  
  314.  
  315. MANUAL TECHNIQUE:  Once you have chosen an origin in the upper left hand
  316. corner of your map, all map values will be measured from that point. 
  317. Most maps have LAT/LONG lines around the borders.  If you are using 240
  318. pixels per degree for a state size map, then each LAT/LONG line
  319. corresponds to a multiple of 240.  Simply mark on the borders of your
  320. original map these values 240, 480, 720, etc.  Then make a smaller
  321. template which matches the size of one square of LAT/LONG lines.  Draw a
  322. finer grid of lines every 10 pixels on the template.  Then to locate the
  323. coordinates of any point on the map, simply orient the template with a
  324. major LAT/LONG square, and interpolate the point within the grid on the
  325. template which represents a 10x10 pixel area.  Use a text editor to add
  326. these numeric values into the map file.  Every point on the map can be
  327. identified by a pair of X,Y numbers.  Remember that these offsets are
  328. from the origin for THIS map and scale.  For transfering features from
  329. one map scale or origin to another, use the MAPFIX.bas IMPORT command.
  330. Map labels, however use complete LAT/LONG values, so they can be freely
  331. moved among maps.
  332.  
  333. CAUTION: since many highway maps are Lambert Conformal instead of
  334. Mercator projections, use the center square in your map for making the
  335. template to minimize errors.  Further, be careful of highway maps that
  336. only have tick marks along the borders for LAT/LONG. If the map is not a
  337. Mercator projection, then you cannot just draw a straight line from left
  338. to right connecting latitude marks.  Longitude lines are straight on a
  339. Lambert Conformal, but not latitude lines!
  340.  
  341.  
  342. CUSTOMIZING TO YOUR AREA:  One way to begin customizing maps to your
  343. area is to take one of the existing maps and add roads and features in
  344. your area.  Since all APRS maps are limited to 2999 data points,
  345. however, many are already just about full.  The following sections
  346. describe how to spawn maps and convert points from one map to another so
  347. you will have room to add your own detail.
  348.  
  349.  
  350. MAP CENTERING:  To change the center and range of a map to match your
  351. needs, simply edit the MAPLIST.xxx file to your desired center and range
  352. (rename it so as not to confuse it with the distro copy).  As the number
  353. of points in your map grows, you may need to throw out some of the
  354. points which are beyond your area of interest.  Use MAPFIX.bas to delete
  355. points.  See the next section on map spawning.
  356.  
  357.   0------------------    0---------------------    0------------ 
  358.   |         |       |    |         ---------- |    |           |  0-----
  359.   |  MAP A  |   *   |    |         | MAP C  | |    |           |  |
  360.   |         |       |    | -----------      | |    |        -----------
  361.   |         --------|    | | MAP B | |      | |    |     *  | MAP D   |
  362.   |        *        |    | |       |*|      | |    |        |  |  |   |
  363.   |                 |    | |       --|------- |    |        |  | *|   |
  364.   |                 |    | |         |        |    |--------|--|  |   |
  365.   |                 |    | -----------        |             |---------|
  366.   |                 |    |                    |                   |
  367.   -------------------    ----------------------                   ------
  368.                                             
  369.   NEW CENTER & RANGE     MAP SPAWNING/CONVERSION      MAP IMPORTING
  370.  
  371. MAP SPAWNING:  In the figure above, map A is the original map with the
  372. origin at 0.  Using 120 pixels-per-degree resolution, all points within
  373. a square area 8 degrees on a side (about 400 miles) can be resolved with
  374. pairs of 3 digit numbers.  As the number of points in such a regional
  375. area map fills up towards the 2999 limit, it is necessary to start new
  376. smaller area maps such as B, C, and D above to make more room.  Spawning
  377. a new map using MAPFIX.bas is easy.  Simply use the alt-CENTER and
  378. alt-RANGE commands to re-draw the white map border to the location you
  379. want, then use the alt-TRIM command to remove all points outside of that
  380. area.   Next use the F2-CONVERSION command to change the origin closer
  381. to the new upper left corner and give a new scale to permit higher
  382. resolution.  Finally, begin adding more finer detail using what ever
  383. technique you intend to use.  Then save the new map and add its name to
  384. the MAPLIST.xxx file.
  385.  
  386.  
  387. IMPORTING AND COMBINING MAPS:  The alt-IMPORT command will import all
  388. points of a selected category of features from other maps into the
  389. current map. This can be used to build large maps from small ones, or to
  390. build new maps from pieces of other ones.  See MAP D above.  In this
  391. process, all points from the selected map that fit within the WHITE
  392. border of the current map, are imported.  For each pass, you specify the
  393. source map, and what category of features to import.  Select the
  394. category by the color number; 6 for boundary lines, 10 for interstates,
  395. 11 for coastline, etc.  Conversion of the data to the new ORIGIN and
  396. scale are automatic.
  397.  
  398. MAP CONVERSION:  (obsolete)  To move features and points between maps
  399. using only a TEXT editor, then use the CONVERSION (F2) command.  This
  400. process re-computes the map points to a new ORIGIN and/or SCALE.  
  401.  
  402. PIXELS-PER-DEGREE:  Although my early regional maps used 120 pixels per
  403. degree, most of the newer maps generated from my CD rom use at least 450
  404. to 600 pixels-per degree.  This gives finer detail resolution on the
  405. smaller 64 mile maps.  You can use 1200 ppd to resolve down to large
  406. city blocks, but to get them accurately, you should consider 3000 ppd
  407. which can resolve down to about 100 feet.  Notice that as you increase
  408. the number of pixels-per-degree, you also reduce the maximum size that a
  409. map can cover.  This keeps the numbers from getting too large and
  410. causing an overflow condition.  A 1200 ppd map should be used for map
  411. areas less than 50 miles and so forth.
  412.  
  413.  
  414. AUTOCAD MAPS!   Jim Krist KG8GE has done a marvelous job of writing
  415. programs to use AUTOCAD to make APRS maps.  He has done every street in
  416. the town of MARION Ohio.  HIs program is named PLT2MAP and permits you
  417. to use a CAD plotter to make AUTOCAD maps and then convert them to APRS. 
  418. Registered copies of his software can be obtained for $25 from him at
  419. 315 Hane Ave, Marion, Ohi0, 43302.
  420.  
  421.