


                   Shareware MAPIT
       The Professional World Mapping System with 
                Something for Everyone.

                       Version 2.0


         Copyright 1992, 1994, 1997 John B. Allison.

                      Allison Software
                       166 Shady Lane
                     Apollo, PA 15613 USA

  
          e-mail:  jallison@kiski.net
          homepage:  http://home.kiski.net/~jallison/mapit.htm

This Plain Text version of the manual has been stripped of all 
graphics to reduce its size.  Lacking all formatting, it is 
pretty terrible to read.  See MAPIT7.DOC (Word 7), MAPIT.DOC
(WordPad W95), or order the system and get the real manual<g>.




MAPIT is a trademark of Allison Software.  
MAPIT and its associated programs, data, and documentation are 
Copyright *1992 - 1997 John B. Allison and may not be duplicated or 
distributed without the express written consent of the author.
Microsoft, MS, and MS-DOS are registered trademarks, Windows and 
Windows 95 are trademarks of Microsoft Corporation.
CompuServe is a registered trademark of CompuServe, Inc.
Hewlett-Packard, HP, and LaserJet are registered trademarks of 
Hewlett-Packard Company.
Pentium is a registered trademark of Intel Corporation.

                         MAPIT OVERVIEW
               Your Graphics Notepad on the World

MAPIT is an integrated global mapping and digital display system for 
work, school, or fun.  MAPIT provides the breadth and depth of world 
mapping support necessary to meet a broad range of end-user needs.  
MAPIT - The world mapping system with something for everyone.

CONTENTS
MAPIT OVERVIEW	i
UP AND RUNNING	1
Packaging:	1
Installation:	1
A Quick Demo:	2
MAPIT and Your Computer:	2
Making Maps:	4
Important General Features:	5
Running MAPIT:	9
How Do I .?	9
MAPIT Gotcha's:	16
Problems and Solutions:	16
MAPIT Tips:	18
MAPIT	19
The MAPIT Command Line:	19
Screen Layout:	20
Menu Commands:	20
Working with MAPIT Files:	50
FIGEDIT	54
Menu Commands:	54
Tips:	57
GEOCODE	58
The GEOCODE Command Line:	58
Definition File:	59
Example Output:	63
Example Definition File:	63
Advanced Considerations:	64
GEOTOENT	66
The GEOTOENT Command Line:	66
Definition File:	67
Example Output:	69
Example Definition File:	69
Advanced Considerations:	70
GEOTOMP1	72
The GEOTOMP1 Command Line:	72
Definition File:	73
Example Output:	77
Example Definition File:	79
Advanced Considerations:	79
GPS	80
GPS Overview:	80
GPS Installation:	80
GPS's Menus:	81
Sample Output:	84
dB File Format:	85
Error:	86
Precision versus Accuracy:	86
Hardware Connections:	87
Supported NMEA 0183 Version 2.00 Sentences:	87
Problems and Solutions:	88
MP1TOMP3	89
NMETOMP1	91
The NMETOMP1 Command Line:	91
Example Input/Output:	93
Example Data Reduction Session:	95
SIMULATE	97
The SIMULATE Command Line:	97
Script File:	98
Example Output:	102
Example Simulation Script File:	103
Demonstration Scripts:	103
Advanced Considerations:	107
APPENDIX A - FEATURE/LAYER ASSIGNMENTS	108
By Feature:	108
By Layer:	109
APPENDIX C - PEN DEFINITONS	112
APPENDIX E - STANDARD LAT/LON NOTATION	114
INDEX	117

UP AND RUNNING

Packaging:

Shareware MAPIT 2 is distributed as four zipped files.  You need only
the first to test drive this product.  The other files demonstrate 
additional data or ancillary programs.
        MAPIT20A (1.4MB) -  MAPIT 2 and data good for zooms 1 to 2.
        MAPIT20B (1.2MB) -  other exes, examples, and documentation.
        MAPIT20C (0.8MB) -  plate tectonics data, zooms 1 - 6.
        MAPIT20D (1.6MB) -  general data for zooms 2 - 6.
This data, when fully expanded, requires up to MB of disk space.

Installation:

To install and run MAPIT properly, you must preserve the file
structure saved in the zip.  To do this, unzip all the MAPIT zips using 
the "-d" option.
        C:\> pkunzip  MAPIT20x  -d

Doing this to all four zips will give you the following directory structure:
        MAPIT          -  executables and data
                DBFS      -  point data .dbf's
                DBQS      -  queries and supporting .dbf's
                EXAMPLES  -  supporting data for examples

Punt?

Unfortunately to get to the point where you can read this text, you may have
already unzipped MAPIT without the -d option.  Copy the four original .ZIP 
files to the top of your drive
	C:>  move  *.zip  \
	(If your version of DOS doesn't support move, use copy.)
delete or otherwise clean up the unzipped files, then go back to the 
instructions above and unzip all four (or as many as you have) using the -d 
option.  The MAPIT and all other directories will be created for you 
automatically.

Change to the MAPIT directory
	C:>  cd mapit

If you've downloaded the C and D zips, you'll need to combine the .mp3 data 
files together using the combine batch file. 
	C:\MAPIT>  combine

Run MAPIT by entering "mapit":
	C:\MAPIT>  mapit

MAPIT will open the DEMO.MP3 file and use it as data.  Furthermore, MAPIT 
will open EXTENDED.MP3 to display the Columbus Demo.  When you are tired 
of it, delete EXTENDED.MP3.  Like a dismembered star fish, it will be 
regenerated as a null length file the next time you run MAPIT.

A Quick Demo:

MAPIT comes up in the Standard World View the first time you run.  
<Tab> to zoom in on the Gulf of Mexico.  (You are tabing backward 
through a two-level history.)  <Tab> again to zoom in on Florida.  Click 
to check "DISPLAY/All Features" and click "ZOOM/To Std World" to 
return to the beginning but with maximum features displayed. Again 
<Tab> twice.  After you've cycled through this simple demonstration, 
you may want to reduce the number of Features DISPLAYed and begin 
experimenting by "ZOOMing/In by Corners" and using the <Esc>, <Pg 
Up/Dn>, and arrow keys as outlined in MAPIT.DOC.

To look up locations in MAPIT's database, select TOOLS/Database 
/Lookup/City Gazetteer, enter "Saint" in City, click on Lookup/More 
twice, select Saint Petersburg, FL from the list of matches, and click on 
Return & Display.  MAPIT will redisplay centered on that loation.  
<Esc> the redisplay and ZOOM/To Factor x entering 300.

MAPIT and Your Computer:

MAPIT requires a properly tuned, high-performance computer.  A
Pentium 166 is great.  A 486/66 DX2 is marginal.  The 286 instruction 
set is required.  Although technically not required, math coprocessor 
capabilities are essential because of MAPIT's compute-intensive 
nature.

You may want to add the following line to your AUTOEXEC.BAT file so
that MAPIT knows which time zone you are in.
	SET  TZ=EST5EDT

This notifies DOS that you are in the Eastern Standard Time zone 5
hours offset from GMT and that Eastern Daylight Time is observed.  
Without this environmental variable, DOS assumes it is back in 
Redmond, Washington in the Pacific Time Zone, center of the 
computing world.  See Appendix D for further discussion.

Multi-Tasking
Today's powerful computers and advanced operating systems allow 
users to work among several concurrently running programs.  Working 
simultaneously with MAPIT and a paint or word processing program is 
possible even when running MAPIT from within a Windows DOS 
session.  Switch between MAPIT and your other program(s) by using 
the ALT-TAB task switching sequence.  (Hold the ALT key down while 
clicking the TAB key until the desired program's banner comes up.)  
You needn't quit MAPIT each time you want to switch to the other 
program. 
Windows 95
MAPIT works well with Windows 95 and its newer, faster CD-ROM 
drivers and bigger buffers.  Because Windows 95 automatically installs 
a mouse driver for normal DOS sessions, you shouldn't have to be 
concerned with that issue.
Adjust the (MS-DOS Prompt) Properties Box of the DOS session 
controlling MAPIT to enable Conventional and XMS memory to Auto.  
You may also want to set the working directory to C:\ or to your hard 
drive's default MAPIT directory.
Windows 3.1
Tuning Your System
MemMaker in DOS 6.0 or 6.2 generally does a good job of optimizing 
memory.  MAPIT requires 475KB of memory.  More is better. To 
handled its large data requirements, MAPIT may make use of XMS, 
EMS, or disk memory (in that order) for temporary virtual storage. If 
your system supports XMS (normally by loading HIMEM.SYS in your 
CONFIG.SYS), MAPIT does not require you to load EMS via 
EMM386.EXE. 
For a significant performance boost, use disk cache software such as 
SMARTDrive. The disk cache must be of adequate size, at least 500K, if 
it is to be of any use. If you notice a lot of disk activity when 
redisplaying a portion of the world, this is an indication that your 
system will perform better with a larger disk cache.
Be certain that your DOSPROMPT's PIF is set for High Graphics, Full 
Screen, Background, and that Advanced Options include Uses High 
Memory Area, High Graphics, Emulate Text Mode, and Retain Video 
Memory.
MAPIT is network ready, meaning MAPIT opens its main database 
read-only. If you are installing MAPIT in a multi-computer networked 
environment and are licensed to run multiple MAPIT copies, consider 
placing the main database WORLD.MP3 on a single node on which 
SHARE.EXE is run. The space savings can be significant
Installing a Mouse (3.1 only)
MAPIT requires a mouse. Unless you have a mouse physically 
attached to your computer and have installed its driver, you will be 
unable to operate MAPIT. You can exit MAPIT from the keyboard by 
entering <CTRL>Q.
Install the mouse driver by issuing the following command at the 
command prompt:
	> path\MOUSE		(e.g.  C:\WINDOWS\MOUSE)
where path is the path to the directory containing the mouse driver.
Place this command in your AUTOEXEC.BAT file so that MOUSE is 
always installed when your system boots up.
Caution:  Windows 3.x is smart and will show a mouse cursor without 
the mouse driver's being installed.  If the cursor doesn't appear when 
you run MAPIT, <CTRL>Q out and try to edit a file with the standard 
DOS editor from the DOS prompt (e.g. EDIT AUTOEXEC.BAT).  If you 
don't have a mouse cursor in EDIT, the driver isn't loaded.  Try loading 
it from the DOS prompt as above, and if that works, add the same 
command near the end of your AUTOEXEC.BAT but before any call to 
WINdows.
Making Maps:
Although MAPIT doesn't directly support a large variety of output 
devices, you can produce simple as well as publication-quality mapping 
output.
Screen Capture
Windows enables screen capture to the clip board via the Print Screen 
key. Paste (<Ctrl>V) the image into Paintbrush or Paint, standard 
Windows 3 and 95 applications.  Change the black background to white 
(and other colors to their compliments) with Paintbrush's PICK/Inverse 
of Paint's Image/Invert Colors option.  After prettying up the image in 
your graphics program, print it or insert it into your word processing 
document.
.PCX Files
A more controlled way of capturing screen images from MAPIT is to 
select the TOOLS/.PCX menu items and save the images to .PCX files.  
MAPIT`s .PCX command allows you to invert the black background to 
white first, if you so desire.  You can save the entire screen including 
the menu heading and footer, just the mapping area, or a selected 
rectangle from within the mapping area to a file whose name you 
choose and later import these files into your graphics or word processor 
by selecting the PCX filter associated with the File/Open command.
HP-GL/2 Output
Hewlett Packard's Graphics Language/2 provides the most detailed 
output possible.  Unlike the .PCX format which is limited to the 
resolution of your screen, HP-GL/2 is a vector format output limited 
only by the resolution of MAPIT's underlying database and the 
resolution of your laser printer or pen plotting device.  MAPIT directs 
this output to either your printer/plotter attached to the PRN port or to 
a .HGL file.  If, for instance, you want to import HP-GL/2 input into a 
Microsoft Word for Windows document, first produce the file from 
within MAPIT, then, from within Word, select Insert/Picture setting 
the List Files of Type: option to HP Graphics Language (*.hgl).
Important General Features:
Mousing
You can use the mouse in two different ways:
*	Dragging - Some selections (for example, Zoom by Corners) 
require pressing the left button to establish the starting corner or 
position and, with the button still depressed, dragging the cursor 
diagonally to the opposite corner or position to be measured before 
releasing the button. If, when a drag is required, you press and 
release at the same point, the command is aborted; nothing 
happens.
*	Point and click - Other activities, notably those requiring one-
at-a-time point selections, look for the depression and release of the 
left mouse button without any intervening movement. Sometimes 
use of the right mouse button is required to signal the end of 
multiple-point entry.  Sometimes the right mouse button aborts the 
command.
Arrow Keys 
The keypad keys support simple navigation.  Pg Dn zooms you in by a 
factor of 2, Pg Up zooms out by 2.  The arrow keys move you over the 
map in the direction they point by half a screen.  These keys interrupt 
the repaint process so that if you wish to go right a whole screen and up 
one half, quickly pressing the right arrow twice and the up arrow once 
immediately takes you there.  Pressing the Pg Dn key three times 
zooms you in 8 fold.
Bottom Status Line 
From left to right the bottom status line displays the current zoom 
factor, scale, map width at center screen, and latitude and longitude of 
the cursor.
Header Status Field
The Header Status Field three different fields of information depending 
upon MAPIT`s state.  The most common display is the date/time/hour-
offset.  This shows the approximate (calculated) day and time and the 
number of hours the time of the location pointed to by the mouse is 
offset from your local time.  See Appendix D for further discussion.
As MAPIT redisplays the screen, the databases MAPIT is reading 
flash up in the status field.  This gives you a feel for what MAPIT is 
currently doing and where it is spending its time.
When you have the GPS Markers activated and there is active data 
present, MAPIT displays the current date/time passed through the 
GPS interface DBF.  If you are running a simulation, you can see 
exactly where you are in the simulation: how it has progressed.
Esc
Pressing the Esc key will close a menu and will terminate the current 
scan of a data base if you are repainting the screen.  Since MAPIT 
scans several databases, you may have to press Esc several times or 
hold it down for auto repeat to abort the entire repaint process.
Tab
Pressing the tab key toggles the display between the current and the 
last location/zoom (except those positions defined by Zoom/To Standard 
World).
When running from the CD-ROM, MAPIT comes up in the standard 
world view.  If you tab once, you will go to an overview of the United 
States.  Tab again and you will go to an overview of Europe.  These two 
views are also stored as positions A and E respectively.  (i.e., typing `E' 
will take you to Europe.)
Single letter or digit
Pressing any single letter or digit restores the display to the location 
and zoom stored at that letter or digit.  (Short for POSITION/Restore.)
Left mouse button - cities, hidden text, figures
Clicking with the left mouse button at a non-menu area of the screen, 
causes MAPIT to scan visible databases looking for hidden text, figure, 
and city objects to display, a potentially time-consuming process.  Esc 
aborts this scan.
Important Menu Functions
The two pulldown menus new users will find most useful are the ZOOM 
and the DISPLAY menus.  ZOOM implements navigation and repaint.  
DISPLAY effects the visibility of layers (features).  A third menu, 
TOOLS, contains Database Lookup for positioning by the City 
Gazetteer.
Enter - The Position Menu
 
MAPIT supports keyboard entry of exact coordinates although the 
operational context begins as mouse entry.  Pressing the Enter key 
when MAPIT is prompting for mouse input with a cross hairs brings up 
the floating Position Menu for exact keyboard entry of a location.  
Clicking on Loc: allows you to enter a latitude and/or a longitude in free 
format.  (See Appendix E.)  You can also change the zoom or scale, 
display the new location, and go back to mouse entry for visual 
positioning and a possible retry with the Position Menu for fine tuning.
The Position Menu is a very powerful navigational feature. Suppose you 
wanted to lay in a permanent great circle between Heathrow in London 
and JFK in New York.  You'd use the TOOLS/Great Circles/Point to 
Point command.  But because the accuracy by mouse entry is not 
sufficient at the zoom 4 level required to see both England and New 
York simultaneously, zoom in on the Heathrow end first, click that 
location with the mouse, and when the second mouse marker displays, 
press the Enter key.  The Position Menu will pop up.  Change the zoom 
level to 2 and click on Display new loc.  MAPIT will display centered on 
London with New York in view.  You are still in insert mode in the 
Point to Point command.  Position the mouse marker over western Long 
Island and press Enter.  (Don't click the mouse yet!)  Change the zoom 
to 300 and Display new loc again.  Find JFK, move the mouse marker 
to it, and click the left mouse button.  The result is an accurately-
positioned great circle between Heathrow and JFK
The few places you can't enter exact data from keyboard are those 
associated with dynamic screen repaint while you move the mouse: 
dynamic great circle generation and poly-line entry, for instance.
MAPIT Utilities
MAPIT
The primary program.
DBFSORT
Create an index for a new style MAPIT DBF.
DBFTOMP3
Convert DBF to old style .MP3 point data.
FIGEDIT
Create and edit MAPIT figure definitions.
GARTODBF
Special Garmin track file to DBF conversion.
GEOCODE
Add lat/lon fields to a DBF based on a matching field.
GEOTOENT
Geocoded DBF to MAPIT entity DBF.
GEOTOMP1
Geocoded DBF to .MP1 line data.
GPS
Windows GPS receiving program.
MP1TOMP3
Convert .MP1 text line data to displayable binary 
format.
MP3MOD
Modify .MP3 data utility. 
MP3TODBF
Convert old style point .MP3 data to DBF.
MP3TOMP1
Convert .MP3 line data to text .MP1 format.
NETANA
Network node connecting analyzer.  
NMETOMP1
Permanent track output from GPS to .MP1.
SIMULATE
Accelerated real-time simulation of moving objects.
TILEIZE
Update the tile field in a new style MAPIT DBF.
Help for MAPIT DOS Utilities
All MAPIT-based DOS utilities including MAPIT itself support the 
following command line protocols from the C: prompt.
Entering / from the command line generates a complete list of calling 
options. 
Entering  /? generates on-line documentation of the program and its 
command line arguments. 
Entering  /help generates on-line documentation of the statement 
syntax of the program's definition file.  Not all programs have definition 
files and support the /help option.
You can abbreviate command line options short of the point of 
ambiguity.  MAPIT`s /noe is the same as /noextended, but /no will 
induce an error message listing the ambiguous possibilities as 
/noextended and /nosavefile
Running MAPIT:
Shareware MAPIT can be accessed with
	C:>  mapit
which opens DEMO.MP3 as the main file and EXTENDED.MP3 as the 
extended or private output file.  If the latter is not found, MAPIT 
creates a zero-length EXTENDED.MP3.
	C:>  mapit  main  /extended=x
opens MAIN.MP3 as the main file and X.MP3 as the extended file.
	C:>  mapit  nul  /noextended
starts MAPIT with no .MP3 data.
How Do I .?
I want to stick pins into a map.  How can MAPIT help me?
You probably want to insert figures (simple line drawings) with labels 
and up to a screen's worth of information hidden behind each figure 
although simple stroked text might also do.  Your first question is 
whether you're inserting hundreds or even thousands of entries from an 
already-existing database (.DBF), or if you're going to do this one-at-at 
time from the keyboard.
In either case you're going to store the data in DB point entities, and 
you'll have to add a record to the scan table (see below). Because the 
CD-ROM is read-only, you must use a scan table residing on your hard 
drive which implies you will want to use the mycopy/mymap technique 
for starting MAPIT from your hard drive described on the first page of 
this section and change the scan table reference as outlined below.
If you're converting a lot of data from a dBASE file:  You must geocode 
the file (see below) and convert it to a figure or other DB entity using 
GEOTOENT.  Finally you must reference your newly-created figure file 
by adding a record naming it to the currently-active scan table (see 
below) and make that record active.  Subsequent redisplays will display 
your new data.
If you're adding a limited amount of data from the keyboard and this is 
the first time you're entering data, you must create a point entity 
database.  Use FILES/New DBF/Figure and enter a name such as 
"C:REDPINS" followed by a return.  The General DBF Editor will 
display the first record which is preloaded with a square located lat = 0, 
lon = 0 near the coast of Africa!  Escape out of this record and ignore it 
or move it later.  Add your entities with the EDIT/DBF Entites/Insert 
menu.  At the prompt for a DB point entity file, enter the name of the 
file you just created: C:REDPINS.  You'll be given a choice of figure 
names (which you can augment with FIGEDIT).  Choosing one (such as 
circle) brings up the plus positioning cursor which you can exactly 
position by entering a return or with the mouse. Locating your figure 
leads you to our old friend the General DBF Editor.  Here you can enter 
Label_Text (always end text with an Esc) and Hidden_Text.  If you have 
more than 40 characters of hidden text, use the Memo field.  You can 
change many other options here, but don't alter E_TYPE, LATITUDE, 
LONGITUDE, or TILE.  Use the EDIT/DBF Entites/Move option to 
change entity location.  Esc completes the entry.  The marker will 
display on the screen but will not redisplay unless you reference its 
DBF (C:REDPINS) from your scan table (see below).
What is the scan table, and how do I use and modify it?
If you are going to display your own dBASE entities, you must reference 
the files in which they reside from another DBF called a scan table.  
Because the CD-ROM is read-only, you must add your custom records 
to a scan table residing on your hard drive which implies you will want 
to use the mycopy/mymap technique for starting MAPIT from your 
hard drive described on the first page of this section.
From FILES/Edit DBF, enter C:SCANTABL (no final "E") followed by 
Enter.  The first record of C:SCANTABL.DBF will display.  Use 
<Ctrl>End to go to the last record.  If it is empty or unused, add the 
name of your DBF (e.g. C:REDPINS), add the E_TYPE ("F" for Figures, 
see list under Add Scan Table Records in the MAPIT section) Esc-ing to 
terminate text, and mark ACTIVE "T"rue.  Exit the editor with Esc.  
Use FILES/Add Scan Table Record to append a new record to the end of 
the DBF if there is no spare.
The scan table you have modified must be activated from within 
MAPIT by selecting FILES/Open and entering C:SCANTABL.  Clicking 
on FILES/Scan Table DBF tells you which scan table, if any, is 
currently active.
How do I use MAPIT to track hurricanes?
Answer A:  Let's assume that you're using labeled circle figures which 
you created in accordance with the instructions in question 1, "How do I 
stick pins into a map."  As the hurricane proceeds along its track, you 
either want to move the figure or duplicate it changing its location, size, 
and possibly updating its label as it progresses.  Use EDIT/DBF 
Entities/Move to move an existing figure.  Use Duplicate and Change to 
make additional copies and edit them.  All pretty nifty.
Answer B:  You want to see the dynamic of the interaction of several 
tropical storms or you want to see how your hurricane moves in time.  
Use SIMULATE to show all this in accelerated real time.  You'll have to 
use MAPIT's moving markers with or without trails to show the 
progress of your storms, not quite as sexy as the circle figures, but still 
quite dramatic and revealing.  Perhaps you can combine both duplicated 
figures and moving markers.  You'll have to lay out a .SIM script of the 
hurricane's path as explained in SIMULATE.
How do I GEOCODE data?
Geocoding is the process of assigning latitude/longitude fields to dBASE 
records.  MAPIT DB entity files are, by definition, geocoded, but not all 
geocoded files are DB entity files.  DB entity files contain many 
required fields which are not necessary for geocoding.  To geocode a file, 
you must relate a field or fields in your database with corresponding 
fields in a MAPIT database. Quite often you'll use a ZIP code or 
city/state/country fields for key and matching fields in geocoding.   See 
\MAPIT20\DBFS on the CD-ROM for MAPIT databases against which 
to geocode.  Use the MAPIT GEOCODE utility to do the work.
How do I create a MAPIT  DB entity file from my dBASE IV file?
Geocoding is the first step in creating a DB entity file from your own 
data.  Each record must have an associated latitude/longitude.  That's 
the hard part.  Use the MAPIT utility GEOTOENT to add the fields 
necessary to convert your geocoded file to a particular MAPIT entity 
format.
How do I visualize which colors go with which color numbers?
For those of us who can't quite picture magenta, mauve, or color 
number 11, use the EDIT/Layers/Change Color/Color (or Layer) to 
display a new color or the color on another layer.  Since the Color option 
actually changes the color on that layer, it's safest to change layers 
remembering that layer 121 uses, by default, color 1, layer 122, color 2, 
etc.
How can my child make maps for school?
MAPIT is the perfect source of real data for students to use in 
producing maps for school or just for fun.  Probably the easiest method 
is to create .PCX files from within MAPIT and to import them into 
Paint of Paintbrush. If you need to produce more colorful output, use 
the flood fill option of Paint to color oceans and lakes blue. If you don't 
have a color printer, the lighter colors will give you more satisfactory 
contrasting colors.  Light yellow, for instance, serves well as water 
contrasting against land.  Choose the roller symbol for flood fill.  Non-
solid colors are produced by dithering and won't unflood, so check your 
flood areas first for leaks with a solid color.  (Leaks are caused by 
breaks in borders or lines which allows the flood color to spread beyond 
its intended boundary.  Use Zoom to find and patch leaks.)  Children 
love this.  Turn off the MAPIT grid before screen capture to make fills 
of large areas easier.
What do all those files hold that seem to come along with MAPIT?  
Which may I delete?
.mp3
-
Main and private files holding line and 
old style point entities.  WORLD.MP3 
is the main data file.
.fig
-
File containing the user's custom 
figures.  Normally this file is user-
created by FIGEDIT. Without it, 
figures won't be displayed.  Defaults to 
STD.FIG.
.fnt
-
File defining stroked fonts. Without it, 
stroked text doesn't work.  Defaults to 
STD.FNT.
.pen
-
File overriding MAPIT`s internal HP-
GL/2 plotter settings.  See STD.PEN.
.sav
-
File holding MAPIT's final state to 
restart MAPIT where it left off.  
Defaults to MAPIT.SA.  Recreated if 
deleted.
.shw
-
File holding a shadow image of 
similarly-named large .mp3 file. 
Recreated if deleted.
What are the old versus the new style point entities.  Which should I use?
MAPIT point entities come in two styles: old, which reside in .mp3 files 
along with line data, and new, which are specialized dBASE IV files.  
MP3TODBF and DBFTOMP3 convert entities from one format to the 
other.  In general the new style point entities are more robust and 
flexible than the old.  It is, however, easier to save data ad hoc to your 
private .mp3 if you are running "map myfile" or "mymap myfile" and do 
not have a DB entity file created and entered in your scan table.  On the 
other hand, you should set up a DB entity file in the new style if you are 
serious about manipulating your data.  See the first question, "How can 
I stick pins into a map" for details.
How do I export line data for use in another system?
If the data to be exported is from MAPIT's main database 
(D:\MAPIT20\WORLD.MP3) or from your own private .mp3 file, open 
that file as the main database with a new extended database (e.g. map 
new).  Use the EDIT/Copy command to copy all visible entities to your 
extended database.  (To capture the fullest depth of MAPIT data, you 
must be at zoom 24 or beyond.)  Outside of MAPIT, use MP3TOMP1 to 
copy and convert the data in your extended database from .mp3 to .mp1 
ASCII lat/lon format for import into another system.  Also see 
MP3MOD for copying .mp3 data within well-defined extents from the 
C:> prompt rather than from with MAPIT.
In DOS, there's this confusing distinction between file names C:xxx and 
C:\xxx.  What does that leading slash do?
The leading slash says, "Go to the top of the drive."  If your current 
directory on drive C: is \mydir (you changed directory there with the 
command "cd \mydir") and you ask for a directory listing of c:xxx, DOS 
will look for the file xxx on drive C: relative to C:'s current directory and 
will return, if it exists, C:\mydir\xxx.  If you ask for c:\xxx, DOS will 
try to return C:\xxx as found in the root directory.  The slash implies 
an absolute path while no slash implies a path relative to that drives 
current directory.  MAPIT quite often uses relative addressing so that 
it doesn't have to know the details of the directory structure you choose 
to implement on your hard drives.
This leads to a pet peeve.  The DOS Prompt under Windows is often set 
up to begin its life in C:\windows where enough garbage and general 
confusion reside to confuse the most hearty soul.  In your W3.1 PIF 
editor or by right clicking on your W95's MS-DOS Prompt's tool bar icon 
and left clicking on Properties, change the Working Directory to a 
simple "C:\" to take you to the root of your C: drive at program 
invocation.  Of course if you have a DOS Prompt dedicated to a 
particular task (such as MAPIT), you'll want your Working Directory to 
reflect that choice (e.g. D:\ for MAPIT on your CD-ROM or C:\xxx for 
MAPIT from your hard drive).
I want to make a really large map for a display at school, and all we 
have is a little 8  by 11 printer.
Get out the scissors and tape and set up MAPIT at the zoom level you 
wish to print your map.  You're going to make a series of maps covering 
the entire area in which you're interested and, with your scissors and 
tape, cut and paste them together.  Because MAPIT is a Mercator 
projection,  you can piece these separately printed maps together 
indefinitely, at least in theory.
The hard part is producing map sections which fill up a whole sheet of 
paper out of your printer.  Its easiest if you have a printer which can 
accept HP-GL/2 directly or a drawing program which accepts it as input 
and supports your laser printer.  Working with Paint in Windows 95 is 
a little more difficult but workable once you have it figured out.  You'll 
have to export inverted .PCX files of the entire map area or, from 
within MAPIT, use Print Screen to cut and a <Ctrl>v to paste directly 
into Print.  You will have had to expand the background to 
approximately twice the size and then stretched the picture 200% in 
both the horizontal and vertical directions before printing in landscape 
mode.  Perhaps you have an easier method or a better software package 
for outputting a full-page image.
The key and easiest part is producing the adjacent images from within 
MAPIT.  After selecting your zoom and outputting the first image, hit 
an arrow key twice to move either up, down, or sideways before 
outputting your next image.  Keep doing this until you've covered your 
area of interest while task switching with a <Ctrl>Tab between MAPIT 
and your drawing program for each new image.  At a scale of 
1:1,000,000, a paper map of the equator would stretch some 125 feet.  
How many sheets of paper in 125 feet?
I heard about Baku, Azerbaijan on the radio but am a terrible speller.  
How do I look it up?
Normally you'd use the TOOLS/Database Lookup/City Gazetteer query 
to look up a city whose name you could spell.  With so many cities 
whose names begin "Ba", you'd be better off using the /Cities in.. query 
and entering "Az" for the country and "Ba" for the city.  The seven 
entries immediately appear.
My granddad served on Los Negros in the Pacific during WWII.  It must 
be pretty small.  I've never found it on a map.  How do I look it up?
Use the TOOLS/Database Lookup/Placenames query.  You'll find when 
you turn on DISPLAY/Boundaries/Political Text that Los Negros is a 
little horse shoe-shaped island with a total length of about 15 miles, 
part of Manus, Papua New Guinea in the Admiralty Islands, the 
Bismarck Archipelago.
How do I make scatter diagrams of cities over large continental areas?
To accelerate display, MAPIT separates cities by size in a series of 
dBASE files accessed via the scan table and ignores them until you 
zoom in to some maximum scale.  Use FILES/Edit DBF to open your 
hard disk version of SCANTABL.DBF, look for the files holding cities of 
the sizes you're interested in, and change their MAX_SCALE fields 
from the 4,000,000 or whatever to 0 or some other small number.  In 
DISPLAY/Cities & Landmarks, toggle "Symbol & Name" to "Symbol 
only".  The next time you redisplay the screen, MAPIT will display all 
your cities as circles.  If you are zoomed out for a broad view, this 
redisplay will take a long time.
I'm plotting a map, and city names overlie each other.  What can I do?
There is an obscure field in the city record named TXT_OFFSET which 
defaults to "E".  Enter the first letter of Above, Even, or Below to 
change the position of the name text to lie to the right of and above, 
even, or below the level of the city's marker.  Edit individual cities 
using EDIT/DBF Entities/Change and clicking in the middle of their 
symbols.  Here again you cannot change data on the CD-ROM but must 
make, change, and reference a copy on your hard drive.
MAPIT Gotcha's: 
Don't forget to TILEIZE, either from within MAPIT for small dBASE 
files or from the utility for large files, after you've created or made 
manual changes to the lat/lon fields.  Without the proper tile number 
associated with a latitude/longitude pair, the entity simply will not 
display.
Don't forget to delete the scan table .MDX index file after you've made 
changes to the sort PRIORITY field.  MAPIT will re-create a correct 
index on startup.
If MAPIT has problems opening a .DBF after you've created it and 
MAPIT or a utility died in the process and you know that the file is 
there and is of the correct format, rebooting may clear the problem. 
Access problems can haunt a DBF like the ceaselessly roaming spirits 
of the undead after the untimely demise of a dBASE program.
Blow away the .SHW shadow file when you've made changes to 
(lengthened or changed header zoom via MP3MOD) .MP3 files.  The old 
shadow file will prevent the changes from becoming apparent. MAPIT  
automatically creates a new shadow file when it doesn't find the old one 
for large .MP3 files.
DB entities can be inserted into inactive databases (or into databases 
whose scan table is inactive).  The new entity will display upon 
insertion but will not display on repaint.
There is a subtle distinction between a null entry in the primary key 
field of a database lookup and a blank.  A null in the City field of City 
Gazetteer will find all cities starting with the first record.  A blank will 
find none.  Both blank and null match all entries on secondary keys. 
Problems and Solutions:
The following are problems you may encounter while using MAPIT, 
and their possible causes/solutions:
1.	No stroked text appears. The latitude/longitude numbers are 
missing.
A.	The font file std.fnt which holds stroked text character 
definitions is not in the user's directory.
B.	Stroked text which is too small to read at a given zoom is not 
displayed.
C.	The current zoom factor does not fall within the text's min/max 
zoom values.
2.	The city markers display, but no city names.
A.	Under the menu DISPLAY/Cities & Landmarks, the Symbol & 
Name option must be selected.
B.	The absence of a font file will also cause the names to be 
absent.
3.	Figures I have previously entered are not visible.
A.	The figures file std.fig, which holds figures' definitions, is not 
in the user's directory.
B.	The current zoom factor does not fall within the figure's 
min/max zoom values.
4.	Graphic elements I have added in a previous session have dis-
appeared.
	The graphic elements you entered are written to the private 
database EXTENDED.MP3. That same file must be in your current 
directory. Use the DIR command to check EXTENDED.MP3's 
length and date for reasonableness.
5.	Error - Lost sync in mid file: "file_name"
	The .MP3 data file file_name has become corrupted. Nothing 
beyond the point of corruption can be read. Replace it with a 
backup file or try to EDIT/Copy as much data from it as possible. 
(See Private Database Management.)
6.	Data I try to highlight for copy, modification, or deletion won't 
highlight although it displays.  This is so frustrating!
	Data you are going to change must be in the extended database.  
Although you can view data in MAPIT's main database, it is read 
only and cannot be changed.  (See MAPIT's /delete switch for the 
one exception.)
7.	Line data I entered while running MAPIT from the CD with "map", 
not specifying any extended file, appears to be entered but 
disappears upon redisplay.
	You have discovered the beauty of the /noextended option, the nul 
file, the bit bucket, write only media, if you will.  MAPIT 
constructs temporary graphics displaying your lines or old-style 
point entities as you enter them and as it write the permanent data 
to the nul file.  Upon repaint, the nul file, which always returns an 
immediate End-of-File condition, a nul length, tells the redisplay 
code there is nothing there to display.  Beautiful, isn't it?
MAPIT Tips:
MAPIT is busy scanning the databases when the cursor disappears 
between repaints. When it becomes visible again, the redisplay is 
finished and MAPIT is ready to accept command input. Remember, you 
can cut short each database scan by pressing the Esc key - once for the 
main database and again, if necessary, for your private database. 
(Usually the main database scan is much longer.) 
Use the cross hairs displayed by POSITION/Center for more accurate 
lat/long display in the status line while measuring positions of objects. 
Cancel when finished with the right mouse button.
Use DOS's NUL file name if you need an empty file to read from or a bit 
bucket to write to.  For example, if you wish to view or operate on the 
private database file EXTENDED.MP3 file by itself without possible 
interference from the data in the main database WORLD.MP3, open 
MAPIT using the NUL file as the main database name:
	C:>  mapit  nul

MAPIT
The MAPIT Command Line:
In general, start MAPIT from the command line by entering
MAPIT  [main_data_file]  [/options] 
where
main_data_file
-
The primary .mp3 format data file 
opened read-only. Defaults to 
WORLD.MP3 if not specified.
options
/extended=
private_data_file
-
A private .mp3 format data file opened 
for update with user data or changes. If 
none exists, a zero length file is 
created.  Defaults to EXTENDED.MP3 
if not specified.
/noextended
-
No extended file looked for or created.
/figure=
figure_file
-
File containing the user's custom 
figures.. Normally this file is user-
created by FIGEDIT. Without it, 
figures won't be displayed.  Defaults to 
STD.FIG if not specified.
/font=font_file
-
File defining stroked fonts. Without it, 
stroked text doesn't work.  Defaults to 
STD.FNT if not specified.
/save=save_file
-
The file holding MAPIT's final state to 
restart MAPIT where it left off.  
Defaults to MAPIT.SAV if not 
specified.  Recreated if deleted.
/nosavefile
-
No .SAV file produced (read only 
environment).
/pendefinition=fil
e_name
-
Override MAPIT`s internal HP-GL/2 
plotter settings.  Defaults to a file 
ending in .PEN.
/delete
-
Allows the MAPIT menu selection 
EDIT/Copy & Delete to work by 
opening main_mp3_data for update.
MAPIT also creates and maintains a .SHW shadow file for each large 
.MP3 database it opens.  MAPIT will create a new one if you delete it.  
If you alter a large .MP3 file by concatenating another to it, delete the 
corresponding shadow file to make all of the data in the new .MP3 file 
visible.  (See Working with MAPIT Files.)
See MAP.BAT and MYMAP.BAT for descriptions of sample batch 
startup files for MAPIT.
Screen Layout:
MAPIT uses a mouse-actuated pull-down menu structure in which 
commands are grouped by similar function along the top of the display. 
The bottom of the screen holds MAPIT's status line, which displays the 
zoom factor, the approximate scale and distance across the center of the 
screen, and the latitude/longitude of the mouse pointer. Sometimes 
instructions, prompts, or information are written to the status line.  
The Header Status Field, top and center, is described above.

FILES
Controls ScanTable access and Exit
ZOOM
Redisplays the screen and controls zooming.
POSITION
Controls the viewer's location.
TOOLS
Controls great circle calculation, database lookup, GPS 
markers, and plotting functions.
EDIT
Controls layer color assignments and DBF and.MP3 
entity modification and duplication.
DISPLAY
Controls mapping features visibility and format.
Menu Commands:
FILES
Exiting MAPIT and advanced operations controlling the selection of 
databases for display.
Scan Table DBF
dBASE IV databases (DBF's) have been added to supplement the main 
(WORLD.MP3) and extended (/extended=) .MP3 databases and are 
designed to hold point type data (figures, stroked text, hidden text, and 
cities).  While .MP3 files still support point data, their primary function 
is now limited to line data. The scan table is a dBASE file holding a 
collection of entity file names which, in turn, hold MAPIT point entity 
data for display.  Think of a scan table as a directory of entity tables. 
Only one scan table can be active at a time, but you may have many 
unopened and therefore unused scan tables existing in your computer's 
file system.  On the other hand, you need not have any scan table 
defined.  By default, MAPIT looks for the scan table scantabl.dbf (no 
"e" in scantabl).  If not found, MAPIT ignores its absence.  Scan tables 
must have one or more entries.  The entries refer to MAPIT entity 
tables which describe entities for display on your screen.  This 
directory/file type hierarchy makes for a very open-ended, flexible, and 
powerful entity display system.
Scan table entries can be either active or inactive.  They must be active 
to be searched and displayed.  If active, the named entity table must 
exist.  Its availability can also be limited by display scale, a technique 
designed to improve redisplay efficiency.
Scan Table DBF displays the name of the current scan table.  Click or 
hit any key to go on.
Open
Open requests the name of a scan table to open as the current scan 
table.  Use the complete path name if it is not in the current directory.  
The old scan table is automatically closed.
Close
Close closes the current scan table but does not open a replacement.  All 
MAPIT redisplay now takes place from the main and extended .mp3 
files.
New DBF
New DBF is a special command used to create a new MAPIT dBASE 
file containing a single record.  You choose the type of database to 
create:  a scan table or one of several entity table databases.  MAPIT 
creates databases of minimal field count and with required field names.  
Its possible for you to use more complex databases with your own extra 
fields added.  Currently only entity tables containing point entities are 
supported.  Lines must still reside in .mp3 files.
Add Scan Table Record
Use this command to add additional scan table records beyond the first 
one.  You can control the order in which entity tables are searched and 
displayed by adjusting the value of the PRIORITY field, a numeric two-
digit field sorted in ascending order.  The default priority is 20.
You must set ACTIVE True if you want the referenced entity database 
to be scanned.  E_TYPE, the entity type of the referenced entity tables 
must be set according to the table below.  E_TYPE is case insensitive.
E_TYPE
MAPIT Entity
'C'
city
'F'
figure
'H'
hidden text
'M'
pcx map
'S'
stroked text
CATEGORY defines an ad hoc entity type which, in the future, will 
allow dynamic inclusion/exclusion of entire entity files just as Political 
Boundaries are a predefined category of .mp3 files.  Not yet 
implemented.  F_COLOR refers to the a forced color for all entities in 
this entity file.  A value of -1 signifies no forced color.  DESCRIPT is 
descriptive comment for documentation purposes only.  FILE_NAME is, 
of course, the path name of the entity file to be scanned and displayed.  
FILE_TYPE must be 'E' for MAPIT entity files.  MAX_SCALE refers to 
the maximum scale above which this entity file is not scanned.  
MIN_SCALE refers to the minimum scale below which this entity file is 
not scanned.  Both these values are compared with the current display 
scale.  For instance, the Standard Display centered on the prime 
meridian at the equator and showing the entire world gives a scale of 
approximately 1:157,000,000 on a 10 inch wide monitor.  Zooming in 
reduces that scale shown near the lower left corner of your display.  You 
can specify that entity tables will not be used until the current scale is 
less than or equal to a MAX_SCALE value and won't be available 
beyond (less than) the value of MIN_SCALE.  You can turn this feature 
off  by not changing the default values from 0, a flag to ignore these 
values.
Edit DBF
Edit DBF is a generalized dBASE editor which should work on just 
about any reasonable database.  It is designed, however, to facilitate 
changing fields in MAPIT scan table and entity records.  The fields 
listed, their order, and data types are dependent on the definition of the 
database being edited.  The example show here is from a scan table 
database.  One should realize, however, that because this is a 
generalized editor and because no tag (key) files are opened, changes 
made to a key field will have no immediate effect upon record ordering.  
Changing the PRIORITY field in scan table records or the TILE field in 
entity files will have no immediate ordering effect.  You can, however, 
force a reordering by deleting the corresponding .MDX (index) file and 
running MAPIT again.  (scantabl.mdx is the index for scantabl.dbf.)  
Finding the index file missing, MAPIT will recreate it on the fly, and 
everything, including the newly changed record, will be ordered 
properly.
You can change a field by clicking it with you left mouse button.  The 
type and length of field appear on the bottom left of the display.  Text 
fields are a little tricky in that they are not terminated with the Enter 
key but by Esc.  Returning inserts an implicit <CR><LF> sequence into 
the string.  Entering a city name, for instance, with an Enter in it will 
force all following text to the next line.  You can enter multi-line 
character fields in this manner.  Although the text may disappear as 
you enter more, re-editing it brings up the whole field formatted to the 
proper width and depth.
You can skip to the next record  with the down arrow key.  Up arrow 
takes you back one.  <CTRL>Home takes you to the first physical 
record and <CTRL>End, to the last.  While Ins doesn't insert a record 
(to avoid ordering problems), <CTRL>Del marks a record for delete.  
Footer information displays in red to indicate this.  The record can be 
undeleted by keying Del by itself.  You must compact the database to 
physically purge deleted record, an operation not supported within 
MAPIT.  Records marked for deletion will not display but are 
changeable in order to get them back in case you change your mind. All 
changes you make to fields take effect immediately!
Another instance of this editor is tied to the EDIT/DBF Entities/Change 
and is designed specifically for editing DBF entity records.
Reset DBF Tiles
MAPIT tiles are numbered 5 x 5 degree geographic areas designed to 
limit data search and speed repaint.  This option assigns the tile field 
the correct tile number for a location.  Externally created DBF's must 
make the tile field the key.  You should manually delete the associated 
.MDX index file to force the creation of a new index.  Mismatched 
tile/loc combinations or misordered tiles will prevent the display of the 
related entities.  If you are working with large DBF's (several 
megabytes or larger), use the external program TILEIZE to assign the 
tile numbers and complete the job much more quickly.  
Multi-Record Change
A general DBF editor to change a field in all records to a particular 
value.  Let's you preview the first n records you will change.
Exit MAPIT
Terminates MAPIT.  Alternately you can key <CTRL>Q to quit or exit 
from the system (if, for instance, you don't have a mouse).
Upon exit, MAPIT creates the save file mapit.sav reflecting changes in 
the system, most notably your last location and zoom factor. When 
MAPIT starts up again, the systems resumes where you left off. If a 
save file is damaged or deleted, a new one is created the next time you 
exit.  Of course your old locations and settings stored in the original 
save file are lost.
Another file MAPIT may create is the shadow file, data_file.shw.  A 
shadow file holds an image of the region data for a particular .mp3 
database file.  Loading the shadow file is much faster than scanning the 
regions of a large database at startup.  Shadow files aren't created for 
small databases. If a shadow file is damaged or deleted, a new one is 
created the next time you exit.  Your first startup may be delayed while 
the databases' regions are scanned.
ZOOM
Zooming is a method of drawing closer to or farther away from the 
detail of the portion of the display you are viewing. The initial zoom 
factor of 1 displays what is herein called the Standard World: the 
display centered on 0 latitude, 0 longitude with visibility from 180 
degrees west to 180 degrees east. You can use one of a number of 
different methods to zoom in to see more detail, or once you are in, to 
zoom out for a broader, less detailed view.
Zooming in is necessary not only to see the additional undulations of a 
rugged coast, for instance, but to view new objects revealed only at the 
greater detail. To prevent screen clutter, many objects - major and 
minor rivers, national borders, state and provincial borders, and 
cities- are intentionally not visible except at higher zoom factors. 
When you zoom in too far, instead of seeing the smooth, natural-looking 
curves of coastlines, you see the underlying vectors making up the 
database. The maximum zoom factor supported by the data is 
dependent on the size and detail of the MAPIT database you 
purchased. Higher zoom factors demand much larger data files.
Redisplay
This command clears the screen before repainting it with the current 
data. Use this function if you want to clear off old or temporary data.
Overwrite
This command does not clear the screen, but paints over it with current 
data. You can use this function in conjunction with changing the 
visibility of certain objects to accentuate certain mapping features. For 
instance, if you are examining an area in which a border follow a small 
river and the border in question has been overdrawn by the river, you 
can accentuate the border without losing all small rivers by turning off 
small river visibility (DISPLAY/ Rivers) and then choosing 
ZOOM/Overwrite. Because the Rivers display is toggled off, the rivers 
will not be redrawn after the overwrite and the border will be visible. 
Because you did not clear the screen first, other Rivers will remain 
displayed from the prior redisplay.
(Kill PCX Map)
Turn off the currently-turned on PCX Map.  Redisplaying or overwriting 
after selecting this item kills a PCX Map.  Needed only after displaying 
a PCX Map.
In by Corners
This is the most common means of zooming in. First choose one corner 
of a proposed new window by pressing the left mouse button and, with 
it still depressed, drag the mouse to the diagonally opposite corner of 
the proposed viewing window. MAPIT adjusts either the width or 
height of the proposed window to maintain your screen's aspect ratio 
while guaranteeing that the area you asked to view (at a minimum) will 
be visible. Zooming In by Corners also changes the center of the display.
In by X Factor
This command prompts you to enter a factor by which to zoom into the 
display while maintaining the current center. If your current zoom 
factor is 3, zooming in by a factor of 2 will result in a new zoom factor of 
6.
Out by X Factor
Here you can enter a factor by which to zoom out from the display while 
maintaining the current center. If your current zoom factor is 9, 
zooming out by a factor of 2 will result in a new factor of 4.5 (although 
the status line will display 4).
To Factor X
If you know the exact factor to which you want to zoom, you can enter it 
with this command.
To Scale X
scale
latitude
display 
width
zoom
9,000,000
0
1421 mi.
17
9,000,000
83 N
1421 mi.
2
Scale refers to the mapping scale, the ratio of the width of the display to 
the width of the scene displayed.  One inch on a ten inch display equals 
2,485.7 miles at the equator for a scale of 1:157,492,884.
While zoom factors are easy to work in and think about, professional 
cartographers think in terms of scale.  Scale is latitude independent.  
Whether you're working at the equator or at 83 degrees north in 
Greenland, equal scales give, by definition, equal fields of view.
To Std World
Standard World is the whole the world's entire width across the screen 
centered on latitude 0, longitude 0 and displayed at zoom factor 1 - the 
view MAPIT shows when it first started up. If you are ever lost, you 
can come back to this point.
POSITION
MAPIT allows you to navigate over the face of the globe by ZOOM and 
POSITION. ZOOM controls the zoom factor (the width of the displayed 
area), and POSITION controls the center of the displayed area.
You can change the center of the display by several means. One means 
is ZOOM/In by Corners; with this technique, however, your choice of a 
new center is limited to the current viewing area. The POSITION 
commands offer explicit alternative methods. 
MAPIT tries to maintain a constant zoom factor while changing 
location.  This means that as one moves north or south, the scale will 
change.
Center
Clicking the left mouse button after choosing Center repositions the 
screen's center to the location just clicked. The scope of the display 
(zoom factor) remains the same, but you can move up to a half-screen's 
distance from the old center. Use this technique to center the display on 
some point of interest before zooming in for a close-up look. (By-X-
Factor zooms are accomplished on the current center.)
Begrudgingly politically correct, MAPIT supports displays centered just 
about anywhere.  You can, for instance, center the display at 180 
degrees (still at zoom 1) to measure the shortest distance between 
Boston and Australia.
Drag
You can drag any point on the screen to be re-displayed at any other 
point. If, for instance, a feature near the bottom of the display is the 
topmost object you wish to see (that is, your interest is in features 
below it), press the left mouse button while over that near-the-bottom 
feature, drag to a point near the top of the screen, and release the left 
mouse button. Use this technique to move as much as a screen's dis-
tance from the old center.
Last (TAB)
Selecting the Last menu option (or pressing the tab key from the main 
menu) repositions the display to the last location/zoom combination.  
Selecting Last again toggles the display back to what originally had 
been the current location/zoom.  Using the TAB key is a fast way of 
toggling between these two views. The only exception to this method is 
that the Standard World location is not included in this Last scheme 
because you can easily get to them by re-invoking Zoom/To Std World.
Save as
Save as is a method of permanently storing a location/zoom combination 
as a single letter or digit for later access.  For instance, if you save the 
location of Bermuda as "H" (for Hamilton, its capital city), you'll be able 
to get back to that view of Bermuda from any location by Restoring H or 
entering H at the main menu.  You can save up to 36 of these single 
character locations.
Restore
Restore is the formal menu-selected method of returning to any 
previously Save as location/zoom factor.  The fast method is, of course, 
just entering the single letter or digit in which the target view is saved.  
Restoring to an unsaved letter results in no action.
TOOLS
Temp. Distance
Measure great circle distances between multiple points.  (Position Menu 
entry not available.)  Curves produced are in temporary graphics only 
and will disappear after a redisplay.  See Great Circles below in this 
menu for creating permanent distance curves.
Temp. Distance computes the great-circle distance from one point to 
another while dynamically displaying both great-circle and constant-
compass-bearing (rhumb) lines. For short distances, great-circle 
distances approximate rhumb lines which you would draw on a 
Mercator map with a ruler. Great-circle distances, however, are the 
physically shortest distances on a globe (as measured by standard 
crows). Great circles appear as curved lines on a Mercator projection, 
with the notable exceptions of the equator and all north-south running 
(meridian) lines. Radio waves follow great circles as did Charles 
Lindbergh.
To measure distance, position the cursor over the location from which 
you want to start measuring, press the left mouse button, and drag 
(with the button still depressed) to the place at which you want to end 
the measurement. Double-clicking halts measurement. MAPIT displays 
the result on the footer status line in statute miles, nautical miles, or 
kilometers depending on your current system of measurement. (See the 
DISPLAY menu.)  
If you need to measure multi-leg distances, measure the first leg as 
noted above; at the end of that leg release the left mouse button. Then 
press it again before moving on to the next leg. You can back up (delete 
legs) with the right mouse button.
The To: and From: angles displayed right after the distance on the 
footer status line are the bearings from the starting point to the 
destination and from the destination back to the starting point.  You 
might expect these bearings to have a simple reciprocal relationship: 
one's being equal to the other plus or minus 180 degrees. They do only 
for short distances. If you were going to fly your airplane or point your 
antenna, these angles would indicate the initial course for you to fly
The excess length of the rhumb over the great circle distance is 
dynamically displayed in top center status field along with the To 
bearing of the rhumb course.  The From bearing is the To's reciprocal in 
this case.
You can measure great circle distances more than half way around the 
world.  When your great circle flips over both poles, your track is more 
half way around the world and you are measuring the longer part of the 
great circle. The letter L will appear in the footer following the From 
angle, and the distance will be greater than 12,000 miles, the 
approximate half circumference of the earth.
Temp. Circle
Dynamically enter a temporary circle of a given radius about a point.  
(Position Menu entry not available.) Curves produced are in temporary 
graphics only and will disappear after a redisplay.  See Great Circles 
below in this menu for creating permanent circle curves.
Temp. Circle draws a circle around a geographic point of your choosing. 
As you draw it, its radius and the enclosed area are displayed on the 
lower left corner of the footer status line. 
While actually a simple circle on a sphere, the range curve can be 
complex when projected onto a flat map. As the curve passes over one of 
the poles in the Mercator projection, it transforms into a sinusoidal 
open curve, which then, as it passes over the second pole, reforms back 
into a closed curve only to disappear as small circle on the opposite side 
of the world from its starting point.  This strange behavior is really the 
path a ring would take as it grows from a single point on a sphere 
encompassing half the world before converging to a point on the other 
side of the earth. 
To prove to yourself that all points on a given circle are equidistant 
from the center, use the Temp. Distance function to connect the center 
to a number of randomly chosen points on the range curve noting their 
measured distances.
You can cancel a Temp. Circle function in mid-command by depressing 
the mouse's right button.
Great Circles
Permanent: 
Permanent/temporary toggle for all items in this menu.  Permanent 
objects are stored in the extended file.
Distance:
Dynamic (Multi-point)  -  Position Menu entry not available.
Point to Point -   
Line of Sight:
at Angle, From Location  -  What you see along a heading from a known 
point.
at Angle, To Location  -  Line on which you stand when looking at an 
angle toward a known point.  Typical of coastal piloting or RDF work.
Complete Great Circle
at Angle, Through Point  -  
 
Line of Sight
through Two Points  -
Range Circles:
Dynamic Circle  -  Position Menu entry not available.
Two Points -  
Center & Range - 
Line of Sight - Range from central elevated point to a far elevated object 
over the horizon or optionally limited to a dip angle or elevation.  Use 
for satellite receiver range, air reconnaissance, strong light navigation.

Database Lookup
MAPIT supports database lookup of  a number of different items 
related to cities, countries, states, US ZIP and telephone exchanges, 
geographic placenames, airports, and US towers.  Once an item is 
located, you can go to its geographical position.  
All queries share the following in common:
One or more fields in which to enter information.  If you enter partial 
data, MAPIT will match the characters you have entered as well as any 
following as though requested with an implicit trailing `*'.  Entering 
"Oak" matches Oak, Oakdale, and Oakmont.  In cases with multiple 
fields, the first field is a direct index into the related database and is 
fast.  Following fields eliminate entries from the primary search which 
don't match these secondary fields by scanning through all matching 
primary keys, a potentially inefficient and time-consuming process for 
broad primary-key searches.  For this reason, there are a number of 
different related queries using different primary keys.  Some are faster 
for one thing, others for another.  For example, you could look up all the 
cities beginning with the letter "S" in a particular country by using the 
"City Gazetteer" whose first field (primary key) is City and whose 
second field is Country.  That process would be inefficient in that the 
query would scan through all cities in the world beginning with the 
letter "S" in order to find those in the country of your interest.  A more 
efficient approach would be to use the "Cities in.." query whose 
primary key is Country and last key is City.  Temper this warning, 
however, with the knowledge that the US accounts for some 75% of all 
cities in the database.  If you're working with US cities, the difference 
between queries might not be as great in this case.
 
Please note.  Country names may not be as you think.  England is listed 
as a "state" in the country of United Kingdom!
As you enter the query menu, the mode you are in appears in the left 
footer: "Select modifiers and lookup".  Click with the left mouse button 
over one of the top query fields to select that field for data entry.  
(Clicking with the right mouse at this point escapes you out of the 
query menu.)  The query is case-independent.  Enter a return or a tab 
to complete the field.  You may also click either mouse key to end the 
entry.  Click with the left to select the next field.  When you are 
finished entering all query fields, click the "Lookup/More" field near the 
lower right section of your screen.  (If you didn't end your last entry 
with a return, you'll have to click twice.)  MAPIT performs the search 
displaying the results in the middle of the screen.  As it finds matches, 
it updates the counter in the right footer.  When the query is completely 
satisfied, the message "Finished" appears in the left footer.  If there is 
more data to be displayed, the message is "More" and you must 
continue to click on "Lookup/More" to display the next page of data.  At 
any time you can re-enter new data in the query fields, but for the 
lookup to act on a fresh primary key, you must click on the "Restart" 
field to return to the "Select modifiers and lookup" mode.  After that 
you can select the "Lookup/More" field.  Results from new queries are 
appended to old results.  If you highlight any displayed result and select 
the "Return & Display" field near the bottom left of your screen, the 
query will end and your screen will be centered on the location 
associated with that entry using the current zoom factor.  You can abort 
a query by selecting the "Cancel" field or by clicking the right mouse 
button.  Please note that if you try to highlight an area of the results 
screen where there are no results, MAPIT will display the error 
message "DB read failure on record 0."  Click or return to clear.  You've 
done no harm.
Available Database Searches

Title
Description
City Gazetteer
Alphabetical list of all cities.
Cities in..
List cities by country/state/county
Cities by State
List cities by state/county/country
Phone/ZIP's by City
List US phones/ZIP's by city and state.  Phone 
numbers are area codes plus exchanges (up to 6 
digits) with no blanks, dashes, or parentheses.
US Cities by ZIP
List phones/cities by ZIP and county.
US Cities by Phone
List ZIP's/cities by phone.
Country Gazetteer
List countries of the world with International 
Dialing Codes.
State (Abbr.) in..
List states/(US abbreviations) by country.
Counties in..
List counties by country/state.
Placenames
List geographic placenames.
Airports
List many airports of the world.
Towers (US)
List US fire and radio/television towers.
File Maintenance
Each database query has its own maintenance screen controlling 
database name, index, and query program. Note that the paths are 
relative (do not reference an absolute path beginning with the drive's 
root) to the subdirectory "dbqs" where all query data is stored.  There 
should be no need to make changes.
Plot HP-GL/2
Output high-quality graphics to an HP LaserJet III (or better) laser 
printer, a plotter, or to an HP-GL/2 [or HP-GL] graphics file for import 
into an external graphics program or word processor.  To change the 
default pen assignments, line type or width assignments, or plot 
borders or lat/long grids assignments, see the example pen definition 
file std.pen.  Change a copy and invoke MAPIT with the command line 
calling parameter /pendefinition=my_file.  See Appendix C: Pen 
Definitions for a table of colors and a listing of std.pen.
The Landscape/Portrait choice refer, of course, to the plots orientation: 
horizontal or vertical and the Page Width and Height to the plot's 
dimensions in inches.
Text Scale refers to the relative size of plotted text versus other 
graphics objects and defaults to a value of 1.0X.   Changing the Text 
Scale to 2.0 doubles the size of the text.
Borders refers to the heaviness of the lines which default to the 0.35 
mm minimum on the LaserJet III.  If you specify a lesser value, the 
minimum is used.  Notice that Borders default to 0.5 mm being slightly 
heavier than default lines.  You can also toggle borders, which frame 
the plot, on and off.
Detail is a relative value (defaulting to 1.0X) indicating the detail of the 
data sent to your plotter. A detail of 1.0X will ship vector data in the 
detail normally displayed on your screen.  MAPIT invokes dynamic line 
segment pruning during display to speed graphics repaint and to 
minimize clutter caused by many small single-pixel entities.  While this 
works well for the relatively course environment of your display, 
plotting devices commonly support much finer resolution where the 
extra detail may be welcome.  Increasing the detail to 2.0X, 16X, or 
FULL causes MAPIT to pass more detailed information to your plotter. 
If you are experiencing memory overflows on rasterizing (laser printer) 
plotting devices, reducing the detail to 0.7 or 0.5 may drop the output 
vector count to the point where entire plot fits within the device's 
memory. (Not plotting cities and text also helps.)  Naturally the quality 
of the plot may suffer noticeably.
Deep Scan is a toggle indicating the depth of database scan to be used 
in retrieving plotting data.  Without it, a plot uses the same portion of 
the database used by the display.  Below zoom 24, several less-detailed 
versions of the data are accessed to expedite repaint. Selecting Deep 
Scan forces MAPIT to reach deeper into its database and retrieve the 
most detailed version for plotting. If you're already at or below zoom 24, 
Deep Scan will have no additional effect. .  
The Printer/Plotter versus File choice selects whether the output is sent 
to your system's PRN device or to a file.  If you select a file, MAPIT 
prompts you for a file name where the default file name extension is 
.hgl.  Three other choices indicate whether this must be a new file, may 
be an old file which will be overwritten with the new data, or may be an 
old file to which the new data is appended.  This final choice allows you 
to batch a number of plots into one file assuming your plotting device 
supports multiple plots.
PCL Header indicates whether you are plotting to a Hewlett Packard 
PCL 5 (Printer Control Language) supporting device such as an HP 
LaserJet laser printer.  If your output will eventually go to a word 
processing document or to a pen plotter, the PCL Header probably is 
not desirable.  Its purpose is to switch the printer from text to plotting 
mode.
The Plot Full Map/Plot Selected Area menu choices begin the plotting 
process.  In either case the selected area is guaranteed to be plotted 
with more added to the sides or to the top and bottom depending upon 
the selected aspect ratio (Landscape/Portrait and plot dimensions) 
versus the chosen area.  Plot Full Map, of course, selects your entire 
screen, a Landscape conformal area.  Plot Selected Area gives you the 
chance to select the corners of a rectangle defining your plotting area.  
Your original chosen area is outlined in red while the recalculated (to fit 
the aspect ratio) area is outlined in yellow.  You are given a final chance 
of aborting or continuing the plot after the actual plot area is outlined.
Abort is the most direct way of aborting the plotting process before you 
begin.
Plot PCX
With Plot PCX, you can output colorful .PCX screen shot files directly 
without the need for screen capture by an external program. 
Invert temporarily switches black and white map colors without 
changing other colors during creation of the output .PCX file to lighten 
the effect of the otherwise black background. 
You must choose a File name for output.  The default name extension is 
.PCX, a format read by many paint programs including Windows' 
Paintbrush.  The overwrite/new only choice indicates the action to be 
taken if the named file already exists.
You have the choice of plotting the Full Screen which includes the menu 
and status lines, the Full Map, or a Selected Area. With the latter 
choice you must select the corners of a rectangle defining the area to 
plot.  The fact that .PCX screen dumps are limited to the resolution of 
your screen, by selecting only a portion of your screen with this latter 
choice you may be substantially reducing the resolution of the captured 
area as well as reducing the size of the output file.  In other words, best 
results (and largest files) are obtained by selecting as large an area to 
plot as possible.
You may still need to use external screen capture such as Print Screen 
from within a Windows DOS box (see Making Maps/Screen Capture) if 
you need to show such MAPIT details as a pointing cursor or the menu 
system in use.
GPS/Markers
Display real-time moving markers communicating with MAPIT 
through a dBASE IV interface file.  MAPIT cooperates with GPS, an 
external 16 bit Windows program which updates file GPS.DBF with live 
data from the NMEA 0183 output cable of a GPS receiver.  
SIMULATE, a DOS-based simulation program included with MAPIT, 
also drives markers.  You can use your own external program to update 
one or more database records and monitor the positions by moving 
markers.  The square markers may be labeled showing a name, 
heading, speed, and time, as well as displaying an arrow indicating 
direction of motion.  The frequency of database polling to detect changes 
is variable with lower limits in the sub-second range.  The display can 
be tied to follow one marker if it moves out of view.
Unlike entities which are stored in the .MP3 database and are limited 
to a locational accuracy of approximately +/-100 feet, the placement 
accuracy of moving markers is limited only by the precision of the data 
passed through the interface database.
Active must be selected for MAPIT to read the database specified under 
Interface DBF.  If the user exits MAPIT with a database open, upon 
restarting, MAPIT tries to open the same database with the same 
display conditions. Note that while Active in the context of this menu 
refers to MAPIT's attempt to open and process an interface database. 
In order to be displayed, each record in said database must also have its 
"active" field set true by its controlling external program.
Min zoom is a threshold value indicating at what zoom level markers 
will become visible. The default value of 0 implies that markers will 
always be visible. (At the Standard World display, the zoom is 1.)
Color is the default color number for displaying markers when their 
corresponding database records don't specify a particular value (i.e. 
have a value of -1). The default default color number is 4 or red.
Scan delay provides a lower bound for the delay between subsequent 
reads of the database and the display of updated markers.  The default 
is once a second. When MAPIT is idle (you're not in a command or 
menu), MAPIT will read the database and update marker locations no 
more frequently than once a Scan delay. Database processing and 
marker display times are dependent upon the number of records read 
from the database and on the amount of information displayed with 
each marker and cannot be guaranteed.  If you specify a one second 
delay, that delay will be introduced between each redisplay of the 
markers.  Working in MAPIT will stop the redisplay until your activity 
is over.  You can set the delay down to 0.01 seconds, actually to one 
clock tick, or 1/18th of a second.  The flicker rate of the mouse icon may 
increase as you shorten the delay.
You can auto track or follow one marker icon.  If a marker moves off the 
screen, MAPIT will move the display window to follow it. Auto track is 
a dual-function menu item.  It toggles auto tracking on and off, and if 
you don't select the default entry with a simple return, accepts input of 
a new marker name. The default marker name is "GPS", but you can 
enter any marker name from the current database. Be careful. MAPIT 
doesn't allow you to select a name not in the current database and will 
revert to the old name.
Marker trails retains the temporary graphics of the square icons 
showing the position of past locations of markers. Because these trails 
are retained in temporary graphics only and are not saved as 
permanent entities, they disappear the next time the screen is redrawn. 
Display name toggles the name line of moving marker icons. A name 
may be up to 20 characters.
Display speed toggles the speed/heading line of moving marker icons.  
The units of speed are determined by the GPS program or other 
program which feeds the interface database. The value stored in the 
speed field is used directly.  MAPIT attempts no conversion to other 
units.
Display time toggles the time line of moving marker icons. This field 
indicates when the database-updating program last updated each 
record. In fact, MAPIT will update a marker only if its active field is 
true and if the time is different from the time the marker was last 
displayed. Note that the time displayed by GPS units may be Universal 
Time (GMT) and may not reflect your local time zone.
Register PCX
MAPIT supports the display of single-screen .PCX files overlaying 
regular MAPIT entities.  The purpose of this feature is to support using 
maps of very small areas as backgrounds for MAPIT operations.  If, for 
example, you wish to display the boundaries of a farm or a state park 
copied from another document, MAPIT must know where to place this 
detailed overlay and at what scale.  This process is called registering 
and involves matching two (distant) points on the .PCX overlay with 
two points or lat/lon locations in MAPIT.  This menu option supports 
that registration process. Once registered, a .DBF holding registration 
information can be called and displayed by a type `M' scan table record.  
The .PCX file must be a 16 color image, ideally the type created by the 
old Windows 3.1 PaintBrush program.  MAPIT displays .PCX files 
using its own color palate and may thus change the colors of the .PCX 
file. 256 color files don't map properly and are unusable.  Convert them 
first to 16 colors using programs such as Paint Shop Pro.
Work from top to bottom in the menu and pay attention to instructions 
in the footer.
Display PCX accepts the file name of the .PCX you are registering and 
displays it.
Align PCX is the critical command in this sequence.  It prompts first for 
a point on the PCX which you must pick with the mouse and then asks 
for the corresponding point on the map which you may enter with the 
mouse or by position menu. (A return.)  It does this for two points. 
MAPIT will display the registration you've just entered for you to 
check.  You can repeat this step any number of times.  Registration 
implicitly establishes a scale which MAPIT will return to every time 
you access this PCX overlay.
Name map is the text by which a registered PCX will be known by in 
MAPIT.  It will be displayed below the PCX map symbol (the letter "M" 
enclosed within a rectangle).
Register in queries you for the name of map entity DBF which will hold 
references to this and perhaps other PCX maps.  If no file exists, 
MAPIT asks if it should create it.  Give the name of a file on a 
writeable drive (e.g. C:pcxfiles) and not the readonly CD-ROM.
The file you created or added to in Register in must be referenced in 
your scan table for your PCX maps to display.  See FILES/Add Scan 
Table Record.  The entity type field E_TYPE must be set to "M".
EDIT
Move, duplicate, change, insert, and delete objects or entities in various 
MAPIT databases.
DBF Entities
Move, duplicate, change, insert, or delete .DBF point entities.
Move
This command uses a selection sequence common to many other 
commands in MAPIT.  Select an entity by positioning the cross hairs 
over the origin of the DBF entity you wish to move.  The origin of  DBF 
entities are commonly a point in the center, the user-defined origin 
point of figures, or a point at the lower left corner of the first character 
in text.  Click with the left mouse button to make the selection or with 
the right to abort.  If you miss with the left click and don't select any 
entity, you can click again immediately.  Your selected entity will 
become highlighted and a message in the footer will display the action 
and entity type.  (See the type table in Add Scan Table Record.)  A 
floating menu asks, "Correct entity?"  Answer "Y" or "N" to proceed or 
not.  An affirmative response returns control to the cross hairs.  Move 
and click with the left button to choose a new location, with the right to 
abort the process, or use the Enter key to bring up a keyboard-
controlled floating menu for exact positioning.  This sequence is typical 
of selecting DBF entities.
The move command changes the location of DBF entities.
Duplicate
Duplicate uses the common selection sequence to replicate the original 
entity in a new location.  The original entity can be duplicated any 
number of times and can be located by either left mouse-click 
positioning or by keyboard entry.  The new entities are stored at the 
end of the original entity's data file.
Change
Change invokes the common dBASE Editor described in FILES/Edit 
DBF automatically opening that record in the dBASE file corresponding 
to the selected entity.  The dBASE Editor edits the entity record as a 
general DBF record and without any special intelligence.  Therefore you 
should avoid changing the key field (TILE) or the 
LATITUDE/LONGITUDE fields from which the TILE's value is 
calculated.  (Small changes within the same 5 degree by 5 degree tile 
are okay. Use the Move command which updates these fields properly.)  
An improperly assigned TILE number may allow it's entity to display in 
certain circumstances, but not in zoomed situations.  Also you won't be 
able to select the entity with the Change command to change it back.  
(Use the FILES/Edit DBF command to access and fix the errant record.)  
You can use the Change command to determine in which file an entity 
is stored.  The file name and record number are displayed in the footer.
The database scan caused by the Change command displays a small dot 
at all entities' origins in the highlight color in the 5 by 5 tile in which 
you click.  If you aren't sure exactly where an entity's origin is, clicking 
near it with the Change command will cause it to be highlighted.  Click 
near enough of course, and you'll select the entity itself, which is 
generally the point!
Change is useful in that it allows access to entities marked for deletion 
permitting you to undelete them.  (<CTRL>Del and Del)  Because 
deleted items aren't normally displayed, use the click-in-the-same-tile 
technique described above to display the origins of deleted entities.  
Clicking the origin of a deleted entity will display it temporarily to 
allowing you to determine if you've got the entity you want.
If two entities overlie each other exactly, you can access only the top 
one.  If you want the bottom one, mark the top one for deletion and then 
use the Move command to move the now-exposed bottom entity slightly 
to allow direct access to it.  Select and undelete the old top entity.
Insert
Insert asks you to enter an existing database name to which to add a 
new MAPIT DBF entity.  If you want to create a new database, use the 
FILES/New DBF menu item to create the database and its first record.  
Insert determines the type of entity you are adding by accessing the 
first record of the database.  You are prompted to select a location for 
this entity using the cross hairs or keyboard entry.  Finally the Insert 
command invokes the dBASE Editor to allow you to personalize the new 
entity further.
Delete
The Delete command is a short-cut way to select and delete DBF 
entities.  After you have selected an entity with the mouse-controlled 
cross hair, Delete displays both the entity's file name and record 
number and asks you if you are certain you wish to delete it.  You can 
always undelete it with the Change command by entering the Del key 
from within the DBF Editor.
Layers
A layer is really nothing more than a number assigned to each MAPIT 
entity.  Color and visibility are associated with these numbers or layers.  
MAPIT supports up to 256 layers. Layers 0 through 119 are reserved 
for the main MAPIT database. Layers 120 through 255 are left for user 
input. By default, objects you enter are placed on the Current Layer and 
are displayed in that layer's color.
The sub menu displayed by the Layers command shows at a glance the 
Current Layer, its color, and whether all, some, or none of the layers 
are visible.
Current Layer
Use the Current Layer command to reset the Current Layer to a 
different value. All entities defined after this time will be assigned the 
new Current Layer.  Already-defined entities will retain the Current 
Layer assignment in effect when they were created.  Entering a return 
with no other value after display of the default value [nn] is a do-
nothing action which retains the current Current Layer.
Layer 120 is the default Current Layer.
Color
Color is a display menu item showing the color assigned to the Current 
Layer.  One color is assigned to each layer. 
Change Color
Change Color displays yet another sub menu which you can use to 
display and change the color of any layer.  Assigning new colors to 
layers allows you to control the colors with which entities are displayed.  
You could, for instance, turn all rivers from blue to red by reassigning 
the layers on which rivers are defined to color number 4, red. You can 
assign any color to any layer you wish. Objects on that layer will be 
shown in that color the next time they are displayed if they themselves 
default to the layer color (have a color of -1).
Clicking on Layer changes the focus to another layer and displays its 
color swatch.  Use Color to assign a new color number.  All to default is 
dangerous.  With one click you can undo all your past color 
reassignments.

Color 
Number
Color Name
Color 
Number
Color Name
0 
black 
8 
gray
1 
blue  
9  
light blue
2  
green 
10
light green
3  
cyan   
11 
light cyan
4   
red    
12  
light red
5   
magenta
13
light magenta
6    
brown  
14 
yellow
7   
white    
15   
bright white
There are 16 colors, 14 of which are assigned to layers on a rotating 
basis.  Colors 1 through 14 are assigned to layers. MAPIT uses Black to 
overwrite and delete and Bright White to highlight during object 
selections.
See Appendix A for a complete layer color assignment chart.
Visibility
All layers begin life in an active state but can be turned off to make 
their entities invisible for display purposes and immune from any EDIT 
commands. Turning off a layer does not remove from the screen 
already-displayed objects that reside on that layer.  They will be 
missing on the next repaint. This technique is how the DISPLAY 
toggles work. Similarly, you can Copy & Delete only objects which are 
on "on" layers. Turning off a layer or range of layers is like read/write-
protecting them.
All visible
Clicking All visible turns on all layers.
Make visible
Make visible allows you to turn on a single layer or a range of layers.
Make invisible
Make invisible allows you to turn off a single layer or a range of layers.
All invisible
Clicking All invisible turns off all layers.
Private File
Display the name of the current private or extended file, the file to 
which all line or .mp3 entity insertions are stored.  Use the calling 
argument /extended=file_name when starting MAPIT to assign a 
different private file.
Note:  Menu items below this point refer to objects stored in the 
extended .MP3 file.  Use DBF Entities above for the new style .DBF 
point entities.  Lines must, of course, always be saved in .MP3 files.
Insert
Insert objects into the extended database on the current layer and 
displayed in the color of that layer. The extended data file is updated at 
the completion of each entity's entry reducing data loss because of 
power failure.  
With the exception of line and xline, the entities described in this 
section are point entities which can also be held in .DBF entities 
described above.
city
Enter a city by filling in the information requested by the entry screen. 
MAPIT will initially ask for a name and a location before continuing to 
the entry screen. The Min and Max Zoom Factor are those zoom factors 
for which the city first appears and then disappears.  Zero means it 
never disappears.  Above, Even, and Below refer to the choice of placing 
the city's name exactly to the right of the marker or offset above or be-
low to reduce conflicts with nearby cities. A forced color is a color 
number which takes precedence over the default color of the assigned 
layer. Replace inserts the new city data at the initial requested location 
while Move allows you to reposition the city which you entering by 
clicking with the left mouse button.  Abort, of course, aborts the entire 
entry process.
Displaying cities of all sizes, all the time, would clutter the screen. 
Therefore cities are made visible by zoom factor according to size:


Population
Minimum 
zoom (US)
Minimum 
zoom 
(elsewhere) 
Font
Marker
> 500,000
or national 
capital
10
10
1
double 
circle
> 50,000
30
30
1
circle
> 5,000
300
50
1
small circle
> 0
750
150
4
small circle
figure
The figure option is a powerful means of replicating miniature simple 
line drawings throughout the displayed map. You must define figures 
before using them (see FIGEDIT), storing them in the file std.fig and 
inserting each figure by name in a map's database. Multiple instances 
of a figure may be inserted. The actual figure is not included in the 
database, only a reference to it by name. For the figure to be displayed 
properly, the figure file you used while inserting your figures must be 
present. You can, of course, globally change a figure by replacing it in 
the figure file with another of the same name or using an alternative 
figure file with similarly named figures.
Choosing the Insert/figure menu option brings up a window containing 
a list of figures in your figures file.  As you move the mouse over the 
name, the name of the current figure is displayed in the status line at 
the bottom of the screen.  Depress the left mouse button to choose a 
figure or the right one to abort. Cross hairs appear to help you in the 
initial positioning of the figure while the changing latitude/longitude is 
visible in the right half of the status line.  Pressing the left button 
positions the figure and opens the menu pictured above.
Use this final menu to change the figure's Scale (size), Layer, Forced 
Color if any, and to Save as is, Move, or Duplicate.  Duplicate means to 
place additional copies of the figure at other locations with the left 
mouse button finishing with the right button.
line
You can enter multisegmented lines of any length. Hold the left mouse 
button down and notice the temporary "rubber band graphics" tying the 
starting point of the line segment to the current mouse position. As you 
move the cursor, notice that the latitude and longitude on the status 
line are continuously updated to aid in accurate line positioning. 
Releasing the left button fixes the last line segment.
If, while you are close to the end of the last segment (the release point), 
you press the left button again, you'll begin a new segment connected to 
the last. On the other hand, if you click the left button while you are a 
distance from the end of the last segment, the line is ended, the data is 
stored, and the temporary graphics are replaced with a permanent line.
If you click the right mouse button while inserting a line, one segment 
of the temporary line is deleted for each press and release. If you try to 
back up beyond the start of the first line segment, the entire 
EDIT/Insert/line command is aborted. No data is stored.
There are limits of approximately 100 feet (somewhat less at higher 
latitudes), to the precision of data entered into the database. If you try 
to enter data with more precision than this, the temporary graphics will 
look good but will not be permanently reflected in the database, as your 
first repaint will demonstrate.
xline
Xline refers to exact lines which can be placed more precisely via the 
keyboard.
stroked text
Stroked text is drawn directly over a portion of MAPIT's display. The 
program first asks you to choose a temporary location on which the text 
will be drawn as you compose and change it. Choose a location which 
will give you adequate room to see and deal with your text; you can 
change to the permanent location later.
As you enter the text from the keyboard, the stroked text will appear in 
default font and size at the temporary location. Special characters you 
have mapped to your keyboard can be used, even though they may not 
be displayed properly in the default font. (Function Keys F1 through 
F12 are mapped to ASCII characters 20 through 31.) Entering a return 
takes you to the start of the next line under the first character of text 
you entered. You can correct text by backspacing to the incorrect 
letter(s) and reentering. Press Esc to exit the text entry mode.
Next, the program displays an option menu with which you can change 
the attributes of your text or edit the text itself by choosing Text.  In the 
edit mode, your current position is at the end of the text string you've 
previously entered.
On this menu, Min and Max Zoom Factor refer to the zoom factors at 
which the text first appears and disappears as you increase zoom. If you 
leave the factors at zero, the text will fist appear when it grows to a 
legible size in the case of Map Relative text (see below for discussion of 
the Map Relative text entry mode). Remember that, for text to be 
visible, its origin (the insertion point) must be visible. The text may 
disappear as you zoom in, unless its origin is exactly in the center of 
your window. This happens because the origin has fallen outside the 
window.
Seven fonts are supplied in the MAPIT file std.fnt; the system 
capability is ten: 
Font 1 is the default. If the std.fnt file is missing at program startup, 
stroked text will not display. If you call for a font that has not been 
loaded, the system uses font 1 in its place. Font 1 is the simplest and 
displays fastest. The more complex a font (that is, the higher its 
number), the longer it takes for a given text string to display.
The two modes for stroked text entry are Map Relative and Screen 
Relative. Text which is Map Relative scales with the size of the map 
display as you zoom in and out. If you zoom out far enough, it becomes 
too small to be seen. Screen Relative text, on the other hand, is always 
the same size relative to the screen no matter what the zoom factor. It 
never grows or shrinks.
Size is an arbitrary number that is proportional to the size of the text 
on the screen and inversely related to the current zoom factor. The 
system suggests a text size for which the newly entered text will appear 
the same height on the screen independent of zoom. Consequently, the 
greater the zoom factor, the smaller the suggested text size. If you enter 
Map Relative text size of 0.2 at one zoom value and 0.2 at another zoom, 
the text will be the same height in both cases. The maximum size for 
Map Relative text is 10. Screen Relative text will always display at the 
entered size independent of zoom.
Not all sizes of Map Relative text are legal. This fact is most noticeable 
for large sizes and results from the encoding mechanism 10/n where n 
is a positive integer.  A value of n = 1 yields a text size of 10, 2 yields 5, 
3, 3.333, and so on.  A Map Relative text size of 8, for instance, is 
impossible to attain, its n integer falling between 1 and 2 (1.25 exactly).  
This shortcoming is not as significant for smaller text sizes.
Stroked text can be entered at any angle divisible by 2. If you try to 
enter text at 45 degrees, for instance, MAPIT rounds that value to 46 
degrees and then draws the text rotated around its origin at that angle. 
Zero degrees is horizontal (right reading) and 90 degrees is vertical (up 
reading).
You can force the text to be placed on a layer different from the default 
layer and to have a forced color if so desired.
Finally, you can either Abort the text entry, Save the text as is, Move 
the text to another location, or choose one or more additional locations. 
When you choose locations, the cursor changes to cross hairs for more 
accurate placement and the status bar displays the exact 
latitude/longitude of the cursor. You can insert the text multiple times 
in different locations by clicking the left mouse button. Click the right 
button to abort/finish the operation.
hidden text
Hidden text hides behind a small triangle until you bring it forward by 
clicking the triangle with the left mouse button. When you enter hidden 
text, the entire screen is filled with a non scrolling window on which 
you can type any text as you would with a simple editor. The program 
uses the default screen font. Word wrap is automatic. The Enter 
character is the paragraph delimiter. As in stroked text, press Esc to 
terminate text entry. (You can to return to edit hidden text if 
necessary.)
After you have terminated text entry, the program displays an option 
menu with which you can change the layout of your text:
Min Zoom Factor is, again, the zoom factor at which the hidden text 
marker first becomes visible. This value defaults to about 2/3 of the 
zoom factor in effect when the hidden text is entered. A value of 0 or 1 
assures that the marker is always visible. (Hidden text markers are 
Screen Relative; they are of constant size and always visible except as 
limited by Min Zoom Factor.)
Window Width and Height display two values each. The first is the 
current value and the second is the computer's suggested setting. There 
is interaction between width and height. The computer calculates the 
minimum width based on the longest line and the screen width, and 
given that width, calculates the required height. If you enter a new 
width or height, the computer recalculates its suggested values. You 
must then change the other parameter (height or width) to the 
suggested setting, or reset your previous entry. Sometimes several 
iterations are necessary to produce the window you want. At any time 
you can View/Edit Text to review the current arrangement or to edit the 
text. View/Edit (Autosize) resets actual values to MAPIT's preferences.
In the absence of any overriding standards or artistic opinions, you will 
probably want to use wide short windows; they are easier to read than 
narrow tall ones. When you view hidden text, MAPIT opens whatever 
size window you have created and positions it as close to the marker as 
possible.
Choose Location(s) or Abort as you would for Stroked Text to insert zero 
or more instances of this hidden text.
Selecting
Several of the following EDIT commands share the concept of selecting 
objects on which to perform an operation. Selecting consists of drawing 
a rectangle on the screen using the mouse. The database[s] are scanned 
for objects falling within that rectangle; when found, the objects are 
highlighted in bright white. (The database scan can take a significant 
time.) At the end of the highlight process, MAPIT asks the user if he 
wishes to continue. The user responds affirmatively with Y or y (yes), or 
negatively with any other input. The command either continues or 
aborts. The yellow selection rectangle remains to indicate the extent of 
the operation.
To abort any selected option at the start, click on and off without 
moving the mouse. This creates a null-sized selection rectangle.
Change
Change .MP3 objects once they have been inserted into the extended 
database. If you try to select an entity on your screen and it doesn't 
highlight, it either is not a .MP3 entity or it is not in the extended file 
where it can be changed.
city
Position the mouse-controlled cross hairs over the city to be change and 
click the left button.  A menu similar to the Insert/city menu provides 
control.
figure
You must select a figure by including its origin in a selection rectangle 
(see above).  Once selected, a menu similar to the Insert/figure menu 
provides control. Note: If you change an existing figure's property such 
as color and then choose Duplicate, the color of the original will not be 
permanently changed but will upon repaint display as it was originally.  
The duplicate figure, however, will permanently display the new 
changed color. If you want to change the original, you must Replace it.
line
To change a line, you must include at least one of the line of interest's 
nodes within the selection rectangle.  MAPIT highlights the line when 
it is selected and a menu displaying the Layer, Forced Color, and the 
commands Replace, Move, and Abort appears.  Replace applies any 
layer or color changes to the existing line. Move permits movement of 
each of the line's nodes to a new location (within the approximate limit 
of 7 degrees from the line's first node).  The cross hairs jump to the 
selected line's first node if visible.    
When the cross hairs are close to any node, a rectangular box appears 
around that node's position: you can move the selected node by 
depressing the left mouse button, dragging it to a new location and 
releasing the button.  You can do this for any number of nodes in a 
single line.  Click the left mouse button outside a selection box to 
complete the change to the line.  Clicking the left button aborts the line 
change.
You cannot change a line in the main database. (If you really want to, 
make a backup of the main database and open MAPIT with a nul main 
database and /extended=world.  All changes will then be made to what 
is normally the main database.  Be careful!)
stroked text
Select stroked text by including its origin in a selection rectangle. Recall 
that the origin of stroked text is at the baseline and left of the first 
letter.  Once selected, a menu similar to the Insert/stroked text menu 
provides control.
hidden text
Position the mouse-controlled cross hairs over the hidden text to be 
change and click the left button.  A menu similar to the Insert/hidden 
text menu provides control.
Delete
Deletes the selected objects from the extended but not from the main 
database. Note that deleting while you are zoomed in very close may 
eliminate not only visible objects, but those which are invisible at your 
current zoom factor. Deletion does not shrink the database.
Assign to Layer
Move selected objects in the extended database from their current 
layers and assign them to a new layer. Object data are not moved. Both 
visible and invisible objects are reassigned.
Copy
Copy selected objects from the main to the extended database. If 
obviously visible objects are not selected, they may well be in the ex-
tended database already. Objects cannot be duplicated in the same 
database. Both visible and invisible objects are copied.
The MAPIT copy function does not preserve original regions. (See the 
discussion of regions under Working with MAPIT Files/Regions.)
Copy & Delete
Copy selected objects from the main to the extended database and then 
deletes the originals. The purpose of this command is to transfer data 
once and only once from one file to another. You must invoke MAPIT 
with the /delete command line argument because the main database is 
normally opened read-only. If obviously visible objects are not selected, 
they may well be in the extended database already. Both visible and 
invisible objects are moved.
DISPLAY
Control the display of MAPIT features Clicking on selections toggles on 
and off the layers on which these features are stored.
Grid
Toggle on and off latitude/longitude markings. Turning off the grid sets 
previously grid-colored pixels black. These black pixels may obscure 
object detail until the next repaint or overwrite.
All Features
Displays or changes the status of which layer features are active.  `?' 
indicates some are and some aren't.  A check indicates all are.  Cycles 
through the choices.  Selecting features for display is accomplished in 
the following menus or by turning layers on or off directly in the 
EDIT/Layers menu.
The following major feature types call menus controlling the display of 
specific features/layers.  Selecting all features may, depending on the 
zoom factor, slow down screen repaint and result in a jumble of 
confusing lines.  Not all features are available at every zoom level.  
Small rivers become visible at zoom 24 and beyond.  (Major breaks are 
at zoom 2, 6, and 24 for line (.MP3) entities.)  Point entities such as 
cities and text are also phased in at different scales.  Some cities 
become visible at 1:4,000,000, some at 1:2,000,000, and the smallest at 
1:1,000,000.  The thresholds for point entities are set in the scan table 
which you may modify.  For instance, you could set all cities to be 
visible at any scale and in the Cities & Landmarks menu turn off the 
text to show only the symbols.  Displaying at a zoom of 1 would give an 
indication of population density around the world although the screen 
would take quite a while to paint as MAPIT processed some 200,000 
cities.
Boundaries:
Rivers:
Roads:
Railroads:
Utilities:
Transportation Structures:
Please note that airports are controlled by Transportation Text under 
Transportation Structures.  Data near England, Japan, and India is 
missing entirely and is unavailable.
Cities & Landmarks:

Ocean Features:
The oceanographic contours are, in general,  1:3,000,000 scale while the 
ones marked as approximate are much less detailed.  Plate Boundaries 
are self-explanatory.  Fracture Zones are lines of weakness in the 
earth's crust that cross the diverging sea floor boundaries at right 
angles forming short areas where plates grind past one another. 
Magnetic Lineations are more mysterious but appear to be small local 
fields induced by the magnetic minerals contained in the spreading 
volcanic rock masses comprising much of the ocean basin floor.
Land Cover:
Units of Measure
Cycle through Statute Miles, Nautical Miles, and Metric.  Used in the 
display of distances.
Lat/Long Format
Cycle through Degrees, Minutes, Seconds, and Decimal Seconds.  Used 
in the right footer to display the location of the mouse.
Screen Width
Measured in inches to calculate the scale displayed in the footer.
Version
Particulars about this product and its operation.  Virtual memory refers 
to the amount of conventional memory dedicated to supporting virtual 
memory (XMS, EMS, or disk) activity.  Free refers to the actual amount 
of conventional memory unused by MAPIT but necessary for proper 
operation during certain commands.  This figure never grows too large, 
the excess being allocated to virtual memory.  The number and size of 
regions reflects the amount of data in your main and extended 
databases.
Working with MAPIT Files:
File Names and Conventions
MAPIT's mapping data is stored in special binary files having the 
extension .MP3. These files have a highly structured internal format 
designed to speed the display of data on the screen. These files also 
have the useful property that two or more .MP3 files can be 
concatenated together to form a new larger file. (See the example below 
of using the DOS COPY command with the /B switch.) If the internal 
structure of a .MP3 file becomes corrupted, MAPIT responds with an 
error message stating that it has lost sync during a file read. No data 
beyond that point is available to the user. The file must be replaced.
MAPIT uses two default file names for storing .MP3 data: 
WORLD.MP3 for its primary database and EXTENDED.MP3 for the 
current private database. You can run MAPIT against other primary 
and extended databases by explicitly specifying their names as you 
invoke MAPIT:
	C:> MAPIT alt_db  /entended=private
MAPIT expects alternative databases to have the .MP3 extension 
unless you explicitly invoke them with other extensions.
When you enter data into MAPIT, the data is stored in the private file 
EXTENDED.MP3. You should use private databases when storing your 
own data or transferring it to others. The smaller file size makes these 
actions much more efficient. 
You can combine several of your private files with the binary COPY 
command:
	C:> COPY /B FILE_1.MP3+FILE_2.MP3+...  BIG.MP3
or
	C:> COPY /B FILE*.MP3  BIG.MP3
Remember that, once files are combined, they can't be separated. Don't 
delete the originals until you are sure everything is all right. And don't 
combine your private data with the primary MAPIT database 
WORLD.MP3.
Private Database Management
As mentioned above, MAPIT uses the default file name 
EXTENDED.MP3 for storing your private database. Suppose you want 
to make and support two private databases, each to be distributed to a 
different set of users. The first involves the Philippines and the second 
Hawaii. Obviously you don't want to use the default private database 
name EXTENDED.MP3.  When you're working with the Philippines 
data, start MAPIT using:
	C:> MAPIT  /EXTENDED=PHIL
and when working with Hawaii, start MAPIT using:
	C:> MAPIT  /EXTENDED=HAWAII
Now you have two separate .MP3 files, each with its own data. If you or 
your users want to view that data, you can do so directly (without the 
benefit of MAPIT's database) by entering
	C:> MAPIT  PHIL
More than likely, you will want to use the backdrop of MAPIT's 
database in the normal way. If in the future you have a user who wants 
to use both the Hawaii and Philippines data at the same time, combine 
them with the binary COPY command:
	C:> COPY /B PHIL.MP3+HAWAII.MP3  COMBO.MP3
Regions
If MAPIT had to traverse the entire 250MB WORLD.MP3 database 
every time it re-displayed an image, screen repaints would be extremely 
slow. The primary method MAPIT uses to speed the display from large 
databases is to divide the data into regions. Regions are special 
database header records whose extents are defined by the mapping data 
following them.
Each .MP3 must begin with a region header. When you add objects to 
MAPIT, the first record written to a new EXTENDED.MP3 file is a 
region header. As you add more and more data to the personal 
database, the data is appended to the end of the file while the region 
header is updated to reflect the new data. If, for example, all the data 
you enter is centered in the Indian subcontinent, the total extent of this 
new data updates the region header. When India is not on the screen, 
the EXTENDED file is not even scanned for possible displayable data. 
Its region header indicates that none of its data is visible.
Region headers are created automatically, but you must be aware of 
them if you try to import or enter large amounts of data. The only way 
for you to start a new region header is to begin a new EXTENDED.MP3 
file. In other words, rename the old EXTENDED.MP3 file to force the 
creation of a new EXTENDED file when you enter more data. When you 
finish, concatenate the two files together to get a single file with two 
region headers. 
This only becomes an issue when your files grow so large that a linear 
scan begins to slow down MAPIT's overall performance.  Then you 
want to divide your large single-region file into one with several non 
overlapping regions.
How can you create multiple regions from a large single-region file?  
(See the utility MP3MOD for an alternate method to that outlined 
here.) Rename EXTENDED.MP3, make a backup, and then open it as 
MAPIT's primary data file remembering the /delete switch. Be sure 
there is no EXTENDED file. Copy/Delete region-sized areas from the 
primary to the secondary file. (Copies are always from the primary to 
the EXTENDED file.) Exit MAPIT and rename EXTENDED.MP3 - 
perhaps to X1.MP3. Repeat these steps until all data has been copied 
and deleted from the original primary file. Finally, combine the 
separate files using the binary COPY command:
	C:> COPY /B X*.MP3  TOTAL.MP3
The final result is a file with manageable regions. MAPIT's 
WORLD.MP3 database consists of a great many regions split on 5 x 5 
degree tile boundaries, carefully constructed and designed to give 
reasonable performance in spite of the vast amounts of data involved. If 
you try to copy a sizable portion of this data to your private database, 
all copied data will be stuffed into one 'super region' in 
EXTENDED.MP3. Performance when accessing your private database 

FIGEDIT
FIGEDIT is the figures creation/editing program used to supply figures 
for MAPIT. Figures are small drawings that you can insert one or more 
times in your maps. The figures are stored in files ending in the 
extension .fig. At startup, MAPIT looks for the file STD.FIG and tries 
to resolve references to figures names from that file.
FIGEDIT is an editor of memory-resident objects. Run FIGEDIT 
without any command arguments. When it starts up, there are no 
entities in the current figure and the current figure is nameless. 
FIGEDIT displays a menu along the top of screen from which you can 
choose items. The status bar at the bottom of the screen shows the 
default figure scale, entity count, figure title, and file name.
Menu Commands:
FILE
New
Creates a new file to hold figures data.
Open
Opens a file for input/output to FIGEDIT. The names of all figures 
contained in the newly opened file is listed for informational purposes. 
Enter return or click the left mouse button to proceed.
Close
Saves and closes an open figures file.
Exit
Saves and closes an open figures file if there is one and exits from the 
FIGEDIT.
FIGURES
The Figures menu controls the loading and display of figure objects 
found within an open figures file.
Redraw Full
Redraws the figure currently loaded into memory to be redrawn at full 
size, the size in which editing is done.

Display at Scale
Display the current figure at the default scale displayed in the status 
line.
New
Begin a new in-memory figure.
Load
Load a figure from those in the current figure file.  Click the left mouse 
button over your choice of names on the screen.
Save
Save any changes made to the current in-memory figure to the current 
figure file.
Save as
Save the current in-memory figure under a new name in the current 
figure file.
Remove
Delete a figure from the current figure file.  The deleted figure is loaded 
into memory giving you a chance to save it in another figure file or 
under another name.
INSERT
One builds figures by entering objects from the INSERT menu. As 
construction continues, a tally of the entity count is displayed at the 
bottom of the screen. There is an entity count limit of 100. The more 
complex objects consume more entities, building to that limit.
As you insert objects, they are displayed on the screen at 100-percent 
size. Remember that the final display size will be much smaller. The 
default is 10 percent. Detail will disappear or will clutter the final 
figure.
Line
Insert multiple straight-line segments by clicking and dragging with 
the left mouse button. Double click the left button to end, the right 
button to back up a segment.
Rectangle
Insert rectangles by specifying the opposite diagonal corners of the 
rectangle you wish to enter.
Arc
Enter the center and the radius of the arc. FIGEDIT draws a complete 
temporary circle and asks you to enter start and stop angles. Arcs are 
constructed counter-clockwise. The start and stop angles are points 
relative to the circle's center (not necessarily on the circumference) 
anywhere on the screen. Enter the start angle first, followed by the stop 
angle. The circle will disappear and the arc will appear in its place.
Circle
Enter the center and the radius of the circle. 
Ellipse
Insert ellipses by specifying the opposite diagonal corners of an 
enclosing rectangle. You can enter only horizontal or vertical ellipses.
CHANGE
Origin
Each figure has an origin. When you insert a figure into a map, you 
actually specify where the origin of the figure will be placed. The rest of 
the figure is displayed relative to the origin. FIGEDIT marks the origin 
with a blue cross. Its default position is the screen's center. You can 
change that location to any place on the screen.
Scale
Normally figures are not displayed in maps at the scale in which they 
were drawn, but as smaller images. The default scale is 10 percent, but 
you can change that to any value you want.
Delete
Delete allows you to remove entities, but you must be careful.  Move to 
the end of a line, to the radius of a circle or arc, or to the major or minor 
radius of an ellipse and press the left mouse button.  A small square 
appears if you've chosen an object, and the object type currently being 
considered appears in the status line. After affirming the deletion, the 
entity remains until the next repaint.  If more than one entity occupies 
a spot, the first entity laid down is chosen.  Be aware that an arc can be 
selected for deletion anywhere on its radius, even on the on the clipped 
(non displayed) portion!  Getting a deletion square in the middle of 
nowhere means that something is being deleted!
Tips:
You needn't be in a figure or file to begin editing.
You can transfer figures from one file to another:
*	Open a file
*	Load a figure
*	Save-as to another or new file.
The key to good figures is to keep them simple. Detail which looks good 
at full screen is clutter at 10 percent. (Here's where artistic talent is 
invaluable!)
Like .mp3 files, .fig files can be concatenated with the binary copy.

GEOCODE
This MAPIT utility geocodes or adds latitude/longitude information to 
records of a dBASE IV file.  An input file must be run against a key file 
to yield the output file.  All these files must be in dBASE IV format.
The GEOCODE Command Line:
Usage:
	GEOCODE [input_file]  [output_file] [/options...]
where
input_file
-
an optional dBASE IV file holding the 
records to be geocoded.  Assumes a .DBF 
extension.
output_file
-
an optional dBASE IV database name in 
which the geocoded data will be stored.  
There are normally more fields in the 
output_file than in the input_file.  If the 
/inplace option is used, the output_file must 
not be specified.  Extensions supplied.
options:
/inplace
-
Update the input_dbf.  Output fields must 
already exist.
/lookup_dbf =
-
a dBASE IV file holding the 
latitude/longitude and a key field.  
Assumes a .DBF extension
/key=
-
the primary key field name.  e.g.  ZIP
/k_length=
-
the match limit on the primary key.
/definition=
-
a .DEF file holding definitions which may 
augment or replace those given here as 
command line arguments.  Command line 
arguments take precedence over statements 
in the definition file.
/append
-
add newly geocoded data to the end of the 
output_file.
/overwrite
-
delete any data in an existing output_file 
before adding the newly	 geocoded data.  
By default, an error message is issued if the 
output_file already exists and neither the 
/append nor the /overwrite option is given.
/matched
-
transfer records with 1 or more matches in 
the lookup_dbf.
/unique
-
transfer records with exactly 1 match in the 
lookup_dbf.
/first
-
don't search beyond the first match in the 
lookkup_dbf.  If there are mutiple, the 
geocoded result is the average of all 
matches unless this option is used.
/max_range=
-
include only records within this range.
/min_range=
-
include only records beyond this range..
/units=
-
min/max range units: miles, nmiles, 
kilometers, km, yards, feet, ft
/center=
-
calculate the distance from this location to 
the geocoded distance for each record.  No 
space allowed between latitude and 
longitude unless the string is delimited by 
quotation marks.  e.g. 
/center=40:30.84N79:36.94W
/version
-
display program's version.
/?
-
display this output.
Definition File:
GEOCODE's command line arguments are so numerous that you can 
place some or all of them within a definition file having the extension 
.DEF.  This file is free format on a line-by-line basis and uses the `;' 
character as a comment.  Everything to the right of the comment 
character is ignored.  The order of statements is not important.  Certain 
combinations are illegal.  Many of the following commands can also be 
entered as command line arguments.  For instance, UNIQUE: 
corresponds to /unique.  Selections made at the command line override 
those made in a definition file allowing you to have a general definition 
which you can override easily at program invocation.  Reference your 
definition file from the command line with the /definition option as in
	C:\>  geocode  /definition=my_def
Specify the input file:
INPUT DBF: file_name

INPUT MDX: file_name
;  optional
INPUT TAG: tag_name
;  not supported
INPUT DBF is the database you want to geocode.  In general, it makes 
no difference if the input file has an index (.MDX file).  If you specify an 
INPUT MDX and an OUTPUT MDX, GEOCODE will try to create a 
similar index for the output file.
Specify the lookup file:
LOOKUP DBF: file_name

LOOKUP MDX: file_name
;  defaults to LOOKUP DBF
LOOKUP TAG: tag_name
;  defaults to "DEF_TAG"
LOOKUP EXP: 
dBASE_Expression
;  needed if no .MDX exists for 
LOOKUP DBF.
The LOOKUP DBF must have an index file/key.  The MDX file_name 
defaults to the DBF file_name and the tag_name defaults to 
"DEF_TAG" unless otherwise specified.  If no LOOKUP MDX exists for 
a DBF, you must specify a dBASE_Expression which, in general, 
consists of one or more field names connected with operators.  You can 
define multiple tag/expression combinations in any one MDX but can 
use only one-at-a-time.  This puts several indexes into one MDX file.  
The following, for example, is legal:
	LOOKUP DBF:  	zipphone
	LOOKUP MDX: 	zipphone
	LOOKUP TAG:	def_tag			;  1st tag
	LOOKUP EXP:	upper(zip)      	
	LOOKUP TAG:	city_state		;  2nd tag
	LOOKUP EXP:	upper(city + state_code)      	
	LOOKUP TAG:	county_city		;  3rd tag
	LOOKUP EXP:	county + city      	
If your LOOKUP DBF already has a defined MDX, there is no need to 
go to all this trouble.  GEOCODE will select from the tags/expressions 
available.
Specify the output file:
OUTPUT DBF: file_name

OUTPUT MDX: file_name
;  optional
OUTPUT TAG: tag_name
;  not supported
OUTPUT EXP: 
dBASE_Expression
;  not supported.
INPLACE:
;  updates INPUT DBF.  All output 
fields must be defined.
OVERWRITE OUTPUT:
;  overwrite, append, or error msg.
APPEND OUTPUT:

LAT: lookup_field output_field
;  latitude field names in the 
lookup and output files.
LON: lookup_field output_field
;  longitude field names in the 
lookup and output files.
RECORD DISTANCE: 
output_field
;  save the great circle distance 
from CENTER. 
RECORD MATCH: 
output_field
;  save the match count.  0 or 
greater.
MATCHED ONLY:
;  matched 1 or more times
UNIQUE:
;  matched exactly once.
The OUTPUT DBF is a copy of the INPUT DBF but may contain more 
fields and fewer records depending on matching and selection criteria.  
The INPLACE option updates the original if the original has enough 
fields.  The fields of unmatched records will not be changed if 
MATCHED ONLY or UNIQUE is specified.  MATCHED ONLY and 
UNIQUE act on the number of records in the lookup database matching 
the input record.  (See KEY below for what defines a match.)  If you 
specify neither, all records from the input file, matched or not, will be 
transferred.  You can specify that the number of matches be recorded in 
the output database with the RECORD MATCH statement.  The 
existence of the output database will generate an error message and 
halt further processing unless you indicate your desire to either 
OVERWRITE or APPEND to the output database.  The LAT and LON 
statements map the fields containing the latitude and longitude from 
the lookup database to the output database, the ultimate purpose of 
geocoding being to transfer this data to matching records.  The 
RECORD DISTANCE statement saves the great circle distance from 
each geocoded record to the location specified in the CENTER 
statement (See below).
Specify the selection options:
KEY:  lookup_field  input_field  
[length]
;  matches key fields in the 
lookup and input files.  Multiple 
statements are permitted.
FIRST MATCH:
;  stop lookup for this input 
record after the first match.
MATCH ONLY value IN FIELD 
input_field [length]
;  match a constant value.
SKIP value IN FIELD input_field 
[length]
;  skip a constant value.
CENTER: lat/lon_string
;  the location from which you 
want to measure distances.  
Expects the standard free-format 
lat/lon string.
MAX RANGE: distance
;  records beyond this range 
don't match.
MIN RANGE: distance
;  records within this range 
don't match.
UNITS: units
;  the units applied to the ranges 
above.  These must be spelled 
out completely (as opposed to 
the command line arguments 
version) and include miles, 
nmiles, kilometers, km, yards, 
feet,  and ft.  Defaults to miles.
You must specify at least one KEY statement to correlate fields in the 
lookup and the input files.  The optional length argument limits the test 
for a match to the first n characters of the fields.  Use this, for example, 
when matching a mailing list containing 9 character zipcodes to a 
lookup database of 5 character zips by setting length to 5.  You may 
have multiple KEY statements all of which must be satisfied for a 
record to be matched.  The first statement, however, is the only one for 
which an indexed lookup is performed in the lookup database.  If FIRST 
MATCH is not used, subsequent records are read from the lookup 
database until the first KEY no longer matches.  Closely related to the 
KEY statement which compares fields in the input and lookup 
databases are the MATCH ONLY and the SKIP statements.  These 
statements select or reject records based on matching a constant value 
against a field in the input database.  You may have only one of each of 
these statements.  An example would be to MATCH ONLY on zipcodes 
having the first three digits equal to "153" or all records whose state is 
"PA".
The CENTER statement establishes a single location from which the 
great circle distances to each matched record can be calculated.  Use the 
MAX/MIN RANGE statements to further exclude otherwise-qualifying 
records and optionally record those distances with the RECORD 
DISTANCE statement discussed above.  The UNITS statement 
indicates the units of the values in the MAX/MIN RANGE statements.  
If absent, the default is statute miles.
Example Output:
The following example is created by copying the lookup database 
ZIPPHONE.DBF from the MAPIT delivery CD-ROM and found in 
directory \MAPIT20\DBQS. When you geocode XLIST.DBF against it 
using the DEMO.DEF definition file (both found in 
\MAPIT20\EXAMPLES\GEOCODE), GEOCODE will create the 
index file ZIPPHONE.MDX at the time of the first execution and will 
produce the following output if executed as follows:
C:> geocode /def=demo

64 records geocoded, 68 transferred out of 68.

min distance =     9.63 miles
avg distance =   435.32 miles
max distance =  2199.89 miles
from location lat = 40.5833333, lon =-79.5833333
The output will be saved in the new file TEMP.DBF.  In this example 
all records, both matched and unmatched, are transferred.  You can 
transfer only the matched records to another database by overriding the 
definition file specifications from the command line.
C:> geocode /def=demo xlist another /matched
This time the output will read:
64 records geocoded, 64 transferred out of 68.
and the geocoded records will be stored in the file ANOTHER.DBF.  
Make changes to the definition file and explore different option 
combinations.  Some combinations may generate error messages which 
should be self-explanatory.
Example Definition File:
; demo.def  -  Demonstration Geocode definition
;

;      lookup     input  [length]
KEY:    zip        ZIP      5
key:    state_code state    1	; avoid non-US 
; addresses

record match:  geomatched ; record match count in this
; field
;unique:                  ; = 1
;matched only:            ; > 0
                          ; 0 or greater if not 
; specified

overwrite output:         ; Gives error msg if one of 
;append output:           ; these is NOT defined and 
; output file exists.

LOOKUP DBF:     ZIPPHONE
lookup mdx:     zipphone 	; Defaults to dbf name.
lookup tag:     def_tag	; Defaults to def_tag.
lookup exp:     upper(zip)	; Needed if no mdx exists for 
; lookup dbf.
;lookup tag:     2nd_tag
;lookup exp:     upper(city + state_code)
;lookup tag:     third
;lookup exp:     county + city

INPUT DBF:      XLIST     	; File to be geocoded.
;input mdx:      xlist

OUTPUT DBF:     TEMP
; Inplace:

record distance:  dist
center: 40:35N  79:35w
;Max Range: 1000
;Min Range: 100
UNITS:  miles

first match:

; match only PA in field  STATE
;skip 15066 in field Zip 2
Advanced Considerations:
The database ZIPPHONE.DBF we used in the preceding example may 
be good for casual geocoding but, as it stands, lacks the control and 
efficiency those who would do more might desire.  It holds a 
combination of zipcode and telephone exchange information, over 
105,000 records, many of which are duplicated from one point of view or 
the other.  To make it truly useful and efficient for your operation, you 
will want to import ZIPPHONE into a database manager such as 
Microsoft's ACCESS, delete the unneeded fields, remove duplicate and 
blank key records, and save the database as a dBASE IV image under a 
different name.
If, for example, you are going to be working with 3 digit zipcode 
centroids, you could generate those centroids by removing the telephone 
data completely and reducing the width of the ZIP field to 3 digits.  
Remove the duplicate records so that each record is unique.  Under any 
three digit zipcode there will be a number of different records.  Within 
ACCESS, you could calculate each 3 digit combination's average lat/lon 
by database programming or you could export the database to serve as 
an initial lookup database and, still within ACCESS, create a smaller 
database with unique three digit zipcodes and null lat/lon fields. Export 
this second database as your input database and use GEOCODE to 
find the average location of each record by not using the /FIRST option 
in the geocoding process.  Your new output database will represent the 
true centroid of 3-digit zipcodes and could be used as your new lookup 
table when geocoding future work.  If you are geocoding a large amount 
of data, a condensed table holding a single record for each matching key 
is more efficient than averaging over multiple lookup records on the fly 
for each input record.  In a non-condensed table, the /FIRST option will 
give misleading results unless all equal-key lat/lon data are duplicates.

GEOTOENT
This MAPIT utility converts geocoded dBASE IV files to MAPIT entity 
files. MAPIT entity files are standard dBASE IV files containing 
certain field names required by MAPIT to display the entities properly.  
MAPIT entities stored in dBASE files are point entities: they exist at 
single points and have no inherent dimensions or extents.  Lines, on the 
other hand, stored in .mp3 files, have length and consist of many 
points.  The point entities are figures, stroked text, hidden text, cities, 
and pcx maps.
The GEOTOENT Command Line:
Usage:
	GEOTOENT [input_file]  [output_file] [/options...]
where
input_file
-
an optional dBASE IV file holding the 
records to be converted.  Assumes a .DBF 
extension.
output_file
-
an optional dBASE IV database name in 
which the MAPIT entity data will be stored  
Assumes a .DBF extension.
options:
/definition=
-
a .DEF file holding definitions which may 
augment or replace those given here as 
command line arguments.  Command line 
arguments take precedence over statements 
in the definition file.
/append
-
add newly converted data to the end of the 
output_file.
/overwrite
-
delete any data in an existing output_file 
before adding the newly converted data.  By 
default, an error message is issued if the 
output_file already exists and neither the 
/append nor the /overwrite option is given.
/type=
-
create this type of MAPIT entity.  Use 
figure, stroked_text, hidden_text, city, or 
pcx_map.
/help
-
display a list of legal definition file 
statements.
/version
-
display program's version.
/?
-
display this output.
Definition File:
GEOTOENT's command line arguments are so numerous and complex 
that you can place some or all of them within a definition file having the 
extension .DEF.  This file is free format on a line-by-line basis and uses 
the `;' character as a comment.  Everything to the right of the comment 
character is ignored.  The order of statements is not important.  Certain 
combinations are illegal.  Some of the following commands can also be 
entered as command line arguments.  For instance, APPEND 
OUTPUT: corresponds to /append.  Selections made at the command 
line override those made in a definition file allowing you to have a 
general definition which you can override easily at program invocation.  
Reference your definition file from the command line with the 
/definition option as in
	C:\>  geotoent  /definition=my_def
Specify the input file:
INPUT DBF: file_name

INPUT DBF is the database you want to convert.  In general, it makes 
no difference if the input file has an index (.MDX file).  The input file 
must be a geocoded file, i.e. it must contain fields containing latitude 
and longitude data.
Specify the output file:
OUTPUT DBF: file_name

OVERWRITE OUTPUT:
;  overwrite, append, or error msg.
APPEND OUTPUT:

ENTITY TYPE: type
;  create the output dbf in the 
specified format choosing from 
figure, stroked_text, hidden_text, 
city, or pcx_map.  Defaults to 
figure if not specified.
The OUTPUT DBF is a copy of the INPUT DBF augmented to contain 
those fields necessary to define the selected ENTITY TYPE. The 
existence of the output database will generate an error message and 
halt further processing unless you indicate your desire to either 
OVERWRITE or to APPEND to the output database.
Modify fields:
EXCLUDE field
; Don't transfer this field.
RENAME field1  TO  field2
; Change the field's name.
field = fields strings.
; Load an output field with data 
from multiple input fields and 
strings.  Input field:n limits 
assignment to the first n 
characters.
LOAD field WITH constant
; Load a field with a constant.
LOAD field1 WITH constant IF 
field2 OP constant
; Load a field with a constant if 
another field matches certain 
criteria.
LOAD field1 WITH constant IF 
field2 OP constant WIDTH number
; Load a field with a constant if 
the first n characters of field2 
matches certain criteria.
LOAD field1 WITH constant IF 
field2 OP constant1 AND OP 
constant2
; Add a second operator and 
constant.
LOAD field1 WITH constant IF 
field2 OP const1 AND OP const2 
WIDTH number
; Two operators with constants 
and a WIDTH applied to 
field2.
EXCLUDE excludes input fields from being replicated in the output 
database.  RENAME changes the name of an input field in the output 
database.  The assignment character = specifies that the fields and 
strings on the right should be concatenated and saved in the field name 
on the left.  Strings are characters between quotation marks and may 
include blanks.  Specify a newline character with \n which is converted 
to the carriage return-line feed sequence for proper display in MAPIT 
and in dBASE programs.  The contents of fields are transferred by 
naming the field.  Trailing blanks are eliminated.  You can truncate a 
field by appending the : character followed by a maximum width.  For 
example:
	hiddentext = "Office location:\n" city  ", " State "  " ZIP:5
LOAD loads a field with constant text.  The text may not have 
imbedded blanks.  Copying the data can be conditional upon the value 
of a second field's meeting certain criteria specified by one of the 
following operators: =, <, <=, >, >=, <>.  For example:
	LOAD labelcolor WITH 4 IF zip >= 15000 AND < 16000 WIDTH 5
Comparisons of numeric data are done by first converting the fields to 
floating point representation.  Character fields are compared lexically.  
The preceding example is somewhat confusing because it is a lexical 
(character-by-character) comparison of what might appear to be 
numeric data but isn't.  GEOTOENT issues a warning message when 
numeric fields are truncated by the WIDTH operator. You may not get 
what you expect depending upon how the numeric data is internally 
held in the field.
Example Output:
GEOTOENT will product the following output when run against the 
TEMP.DBF data file and TEST4.DEF definition file found on the 
MAPIT  CD-ROM under the \MAPIT20\EXAMPLES\GEOTOENT 
directory
C:> geotoent /def=test4

Creating Figures Output.
Excluding field GEOMATCHED
Renaming field DIST to DISTANCE

Creating database index "OUT"

Transfering data...

Re-indexing output database.
68 records transferred. 

This HP-GL/2 plot was created by running MYMAP.BAT  (See MAPIT 
BATCH FILES) from a directory on the C: drive with local scantable 
C:SCANTABL altered to include an Active record referencing figure 
entity (E_TYPE "F") database C:OUT.DBF.  Note that the geocoded 
circles are proportional in size to their distance from Pittsburgh and are 
colored in the MAPIT original based on distance.  The figure labels 
contain text from the distance field.
Example Definition File: 
;  test4.def -  Example GEOTOENT definition file.

INPUT DBF:  temp
OUTPUT DBF: out

OVERWRITE OUTPUT:

ENTITY TYPE: figure

EXCLUDE geomatched
RENAME dist to distance

label_text = dist

LOAD fig_scale WITH 1 IF dist <= 10
LOAD fig_scale WITH 2 IF dist > 10 AND >= 50
LOAD fig_scale WITH 3 IF dist > 50 AND >= 100
LOAD fig_scale WITH 4 IF dist > 100 AND >= 200
LOAD fig_scale WITH 5 IF dist > 200 AND >= 300
LOAD fig_scale WITH 6 IF dist > 300 AND >= 500
LOAD fig_scale WITH 7 IF dist > 500 AND >= 800
LOAD fig_scale WITH 8 IF dist > 800 AND >= 1200
LOAD fig_scale WITH 9 IF dist > 1200 AND >= 2000
LOAD fig_scale WITH 10 IF dist > 2000 

LOAD labelcolor WITH 3 IF dist > 200
LOAD labelcolor WITH 5 IF dist > 500
LOAD labelcolor WITH 4 IF dist >
 2000

;LOAD fig_name WITH CIRCLE IF zip = 15 WIDTH 2
LOAD fig_name WITH CIRCLE 

HIDDENTEXT =   CITY   "\n"STATE ",  " ZIP:5
Advanced Considerations:
The primary purpose of GEOTOENT is to add and initialize fields from 
an existing dBASE file and produce a new dbf in one of MAPIT's entity 
formats.  When you reference this entity dbf by adding it to the scan 
table dbf (see FILES/Add Scan Table Record or FILES/Edit DBF), 
MAPIT  will display your data the next time it displays data (scans the 
databases) via the ZOOM/Redisplay or ZOOM/Overwrite command.  
You could, by hand with a database manager such as ACCESS, do the 
very things this program does. The LOAD, RENAME, EXCLUDE, and 
assign functions could all be accomplished in your database manager.    
However the advantages of GEOTOENT are operational ease and 
efficiency. If you have complicated functions to perform, you may have 
to fall back on ACCESS or its equivalent.  But GEOTOENT will place 
you far along the path toward accomplishing your goal.
You may have to experiment to work out the details of complicated 
queries.  GEOTOENT issues warning and error messages at run time 
if you make mistakes and may refuse to transfer data.  A few general 
rules will help.  Field names referenced as the source of data refer to 
fields in the input file.  Although a field may be EXCLUDED (not 
transferred) or RENAMED, its data is available for use in LOAD or 
assignment statements at run time. Destination fields, however, must 
exist in the output dbf.
You can truncate data in a field by assigning it to itself with a width 
parameter.  The data is truncated although the field is not shortened.
	zip = zip:5
MAPIT entities require the existence of the fields LATITUDE and 
LONGITUDE.  If your source dbf contained the data stored in the fields 
LAT and LON, you would fulfill MAPIT's requirements by renaming 
the fields.
RENAME lat TO latitude
RENAME lon TO longitude

GEOTOMP1
This MAPIT utility converts geocoded dBASE IV files to MAPIT .mp1 
files, ASCII files containing multiple lines of latitude/longitude pairs.  
The MAPIT utility MP1TOMP3, in turn, transforms these 
latitude/longitude pairs into MAPIT .mp3 line entities.  Depending 
upon your request, the lines can describe circles, squares, and 
rectangles around points in your original dBASE file, connect points 
with straight lines and great circle arcs, and connect other points to the 
original points by straight lines and great circles.
The GEOTOMP1 Command Line:
Usage:
	GEOTOMP1 [input_file]  [output_file] [/options...]
where
input_file
-
an optional dBASE IV file holding the 
records to be converted.  Assumes a .DBF 
extension.
output_file
-
an optional file name in which MAPIT line 
data will be stored as ASCII lat/lon pairs. 
Assumes a .MP1 extension.
options:
/definition=
-
a .DEF file holding definitions which may 
augment those given here as command line 
arguments.  Command line arguments take 
precedence over statements in the definition 
file.
/append
-
add newly converted data to the end of the 
output_file.
/overwrite
-
delete any data in an existing output_file 
before adding the newly converted data.  By 
default, an error message is issued if the 
output_file already exists and neither the 
/append nor the /overwrite option is given.
/ location=
-
the external location from which to draw 
straight lines or great circles to individual 
records.  Expects the standard free-format 
lat/lon string. No space allowed between 
latitude and longitude unless the string is 
delimited by quotation marks.  e.g. 
/center=40:30.84N79:36.94W
/help
-
display a list of legal definition file 
statements.
/version
-
display program's version.
/?
-
display this output.
Definition File:
GEOTOMP1's command line arguments are so numerous and complex 
that you can place some or all of them within a definition file having the 
extension .DEF.  This file is free format on a line-by-line basis and uses 
the `;' character as a comment.  Everything to the right of the comment 
character is ignored.  The order of statements is not important.  Certain 
combinations are illegal.  Some of the following commands can also be 
entered as command line arguments.  For instance, APPEND 
OUTPUT corresponds to /append.  Selections made at the command 
line override those made in a definition file allowing you to have a 
general definition which you can override easily at program invocation.  
Reference your definition file from the command line with the 
/definition option as in
	C:\>  GEOTOMP1  /definition=my_def
Specify the input file:
INPUT DBF: file_name

INPUT DBF is the database from which you want to generate lines.  In 
general, it makes no difference if the input file has an index (.MDX file).  
The input file must be a geocoded file, i.e. it must contain fields 
containing latitude and longitude data.
Specify the output file:
OUTPUT FILE: file_name

OVERWRITE OUTPUT
;  overwrite, append, or error msg.
APPEND OUTPUT

The OUTPUT FILE contains a series of line definitions generated from 
specifications in the DEFINITION FILE.  If an OUTPUT FILE of the 
same name already exists, you can choose to OVERWRITE OUTPUT, 
which deletes it, APPEND OUTPUT, which adds the new data to its 
end, or have processing cease with an error message, the default action, 
which protects the original file contents.
Specify fields and locations:
LATITUDE:  field_name
; Name of the field holding 
the record's latitude.  
Defaults to "LATITUDE".
LONGITUDE:  field_name
; Name of the field holding 
the record's longitude.  
Defaults to "LONGITUDE".
INTERNAL LATITUDE:  field_name
; Field containing the 
latitude of an internal 
location.
INTERNAL LONGITUDE:  
field_name
; Field containing the 
longitude of an internal 
location.
EXTERNAL LOCATION:  
lat/lon_string
; An external loc. as a 
standard free-format lat/lon 
string.  May contain a blank 
between lat lon.  e.g. 
40:30.84N 79:36.94W
LATITUDE: and LONGITUDE: specify the field names holding the 
geocoded latitude and longitude data for each record.  Their default 
values are "LATITUDE" and "LONGITUDE" respectively.  INTERNAL 
LATITUDE: and INTERNAL LONGITUDE: specify the field names of 
internal locations for each record.  The internal location can be used for 
drawing a line to the record's geocoded location.  Similarly the 
EXTERNAL LOCATION: specifies a single location from which lines 
can be drawn to each record's geocoded location.  You can specify or 
override an EXTERNAL LOCATION: statement with the /location= 
command line argument.
Specify marker instructions:
COMMENT:  fields_names and 
quoted_strings
; Precede a record in the 
OUTPUT FILE with a 
comment consisting of quoted 
strings and data from the 
named fields.
CIRCLE  radius_value  [if_clause]
; Output a CIRCLE of a given 
radius if certain optional 
conditions are met.
SQUARE  width_value  [if_clause]
; Output a SQUARE of a 
given width if certain optional 
conditions are met.
RECTANGLE WIDTH width_ value  
[if_clause]
; Output a RECTANGLE of a 
given width if certain optional 
conditions are met.
RECTANGLE HEIGHT height_ 
value  [if_clause]
; Output a SQUARE of a 
given height if certain 
optional conditions are met.
PLUS  width_ value  [if_clause]
; Output a PLUS `+' character 
of a given width if certain 
optional conditions are met.
X  width_ value  [if_clause]
; Output an `X' marker of a 
given width if certain optional 
conditions are met
COMMENT: specifies that the following fields and strings be 
concatenated and written as a comment to the OUTPUT FILE.  
Comments in .mp1 files are any text following the `;' character through 
the end of the line.  Strings are characters between quotation marks 
and may include blanks and \n newline characters which continue the 
comment to the next line..  You can truncate a field by appending the `:' 
character followed by a maximum width.  For example:
	COMMENT: CITY  ", " STATE "  " ZIP_CODE:5 ",\nUnited States"
The CIRCLE and other marker statements cause those markers to be 
written to the OUTPUT FILE as sequences of straight line segments 
described by latitude/longitude pairs.  The size of those markers is 
defined by a value followed by an optional unit.  Note that the circle is 
defined in terms of its RADIUS while the other markers, by their 
WIDTH or HEIGHT dimensions.  Both a RECTANGLE WIDTH and a 
RECTANGLE HEIGHT statements are needed to define each 
RECTANGLE.
Specify line instructions:
STRAIGHT LINE INTERNAL 
[if_clause]
; Draw a straight line between a 
location specified within a 
record and the record's 
geocoded location.
STRAIGHT LINE EXTERNAL 
[if_clause]
; Draw straight lines between a 
single location specified outside 
a record and all records' 
geocoded locations.
STRAIGHT LINE CONNECTOR 
[if_clause]
; Draw a straight line between 
each record's geocoded location 
and that of the following record.
GREAT CIRCLE INTERNAL 
[if_clause]
; Draw a great circle between a 
location specified within a 
record and the record's 
geocoded location.
GREAT CIRCLE EXTERNAL 
[if_clause]
; Draw great circles between a 
single location specified outside 
a record and all records' 
geocoded locations.
GREAT CIRCLE CONNECTOR 
[if_clause]
; Draw a great circle between 
each record's geocoded location 
and that of the following record.
These optionally conditional expressions draw either straight lines or 
great circles connecting the geocoded locations of records, connecting an 
internal location within each record to its geocoded location, or 
connecting a single externally-specified location to the geocoded location 
of each record.
Subdefinitions:
value
numeric_field_name,  number
unit
miles,  nmiles,  kilometers,  km,  meters,  yards,  feet,  ft
if_clause
IF field_name OP constant [AND OP constant] [WIDTH 
number]
OP
=,  <,  <=,  >,  >=,  <>
Outputting data can be dependent on an optional if_clause and the 
value in a field's meeting certain criteria as specified above.  For 
example:
	CIRCLE 5 miles IF zip >= 15000 AND < 16000 WIDTH 5
Comparisons of numeric data are done by first converting the fields to 
floating point representation.  Character fields are compared lexically.  
The preceding example is somewhat confusing because it is a lexical 
(character-by-character) comparison of what might appear to be 
numeric data but isn't.  GEOTOMP1 issues a warning message when 
numeric fields are truncated by the WIDTH operator. You may not get 
what you expect depending upon how the numeric data is internally 
held in the field.
Example Output:
GEOTOMP1 will product the following output when run against the 
CAPITALS.DBF data file and TEST1.DEF definition file found on the 
MAPIT  CD-ROM under the \MAPIT20\EXAMPLES\GEOTOMP1 
directory.  Output to the screen:
C:> geotomp1 /def=test1

Overwriting
Transfering data...
412 records processed out of 1071.

C:>  mp1tomp3 out /color=4 /over
C:>  mymap out

Test1 Output: 
Great Circles from Washington DC to National Capitals
Straight Lines from National Capitals to State Capitals
Squares and Circles around National and State Capitals
Test1 Output:  Detail of Brazil
Test2 Output of Cards:  
Straight Line Connectors between Records
25 mile Squares
Test3 Output of Cards:  
Great Circles from External Point to Nodes
25 mile Squares

Test1 output to the file OUT.MP1:
; Washington, District of Columbia, United 
States of America
 39.6191469  -76.0965859
 39.6191469  -77.9767541
 38.1708531  -77.9577757
 38.1708531  -76.1155643
 39.6191469  -76.0965859

 38.8950000  -77.0366700
 38.8950000  -77.0366700

; Taipei, , Taiwan
 25.7680369  122.3013261
 25.7680369  120.6931139
 24.3197431  120.7025557
 24.3197431  122.2918843
 25.7680369  122.3013261

 25.4059635  121.4972200
	. 
 25.4059635  121.4972200

 38.8950000  -77.0366700
	.
 25.0438900  121.4972200

 25.0438900  121.4972200
 25.0438900  121.4972200

; Seoul, Soul-t'ukpyolsi, Korea, Republic of
 38.2872069  127.8995204
 38.2872069  126.0543596
 36.8389131  126.0721232
 36.8389131  127.8817568
 38.2872069  127.8995204

	etc.
Example Definition File: 

;  test1.def   -  examples of geotomp1 options.

; Draw Great Circles from Washington DC to national capitals.
; Draw straight lines from national capitals to state capitals.
; Draw 100 mile width squares around national capitals.
; Draw 25 mile radius circles around state capitals.

input dbf: capitals
output file: out

overwrite output

Square 100  IF natnl_cap = T
CIRCLE 25 miles IF state_cap = t

 GREAT CIRCLE EXTERNAL IF natnl_cap = t
STRAIGHT LINE INTERNAL IF state_cap = t

EXTERNAL LOCATION: 38.895 -77.03667     ; Loc of Washington, DC
INTERNAL LATITUDE: lat	  ; Natl capital loc assigned beforehand
INTERNAL LONGITUDE: lon  ; in database.

COMMENT:   city_name   ", "PROVINCE ", " country
Advanced Considerations:
GEOTOMP1 differs from GEOTOENT in that the former converts 
discrete points recorded in dBASE files to series of line data depicting 
markers around said points or the connection of these points with other 
locations.  GEOTOENT converts dBASE data to MAPIT dbf entities.  
MAPIT dbf entities can, in general, be either map or screen relative.  
.MP1 line entities are of fixed size and are, therefore, always map 
relative.  You must specify before hand the radius of a circle in miles or 
kilometers, and it will always be such.
GEOTOMP1 allows the user to attach multiple lines and  markers to 
each point in a single pass.  You could draw a circle and square around 
each point and draw a straight lines and great circles from internal or 
external points while connecting consecutive data points with straight 
lines and great circles.  There is, however, beauty in simplicity.

GPS
Allison Software's MAPIT GPS Utilities Package is a set of IBM PC-
compatible programs designed to capture NMEA 0183 data from a 
Global Positioning System receiver transforming it into mapping 
coordinate data and saving it to computer disk for display and use by 
MAPIT.  The Global Positioning System (GPS) consists of 24 satellites 
maintained by the US Department of Defense.  Signals transmitted 
from these satellites are encoded with precise location and timing 
information which enable users with GPS receivers to determine their 
location anywhere in the world with 100 meter accuracy. 
GPS Overview:
MAPIT GPS supports the capture of real-time positioning data from a 
GPS receiver's  NMEA output cable through a computer's serial COM 
port.  GPS converts the data from its original NMEA 0183 sentence 
format to a series of latitude/longitude/time fixes which the user can 
view in real-time on the screen, can be sent to an intermediate dB file 
for concurrent access by MAPIT, and saved in a log file.  GPS is a 
Windows program and must be installed under Microsoft Windows 3.1 
or Windows 95  on an IBM PC-compatible computer.  It expects GPS 
output in the form of NMEA 0183 Version 2 sentences supplied at 4800 
baud to serial COM port 1 - 4.  (See Hardware Connections for port 
pin configuration.)
GPS notifies the user when the data signal is acquired, dropped, or 
missing; optionally logs incoming data to the display or to an ASCII log 
file; and parses NMEA sentences collecting the results as fixes for 
display, logging, and updating of the first record of a dB IV-compliant 
data base for real-time access by MAPIT.  Additionally, supported and 
unsupported NMEA sentences can be displayed and logged and the 
computer's system clock reset to agree with the time supplied by the 
GPS signal.  GPS updates the file system's FAT (File Access Table) 
about once a minute to reduce data loss due to computer battery failure 
or system crash.  
GPS continues to operate when minimized to an icon.

GPS Installation:
Being a Windows program, you must install GPS from within Windows 
so that its icon appears in the program group of your choice.  
From within Windows 3.1 first select the program group you want the 
GPS icon to reside in by clicking anywhere in it.  When selected, the 
program group's top banner is darkened.  From the Program Manager, 
click on File and then select New from the menu.  The New Program 
Object window appears.  Select Program Item and OK.
The Program Item Properties dialog box appears. Enter "MAPIT GPS" 
as the Description, "gps" as the Command Line, and the path where 
GPS.EXE resides as the Working Directory.  (Note CB5.DLL must also 
reside in the working directory with GPS.EXE or in the 
\WINDOWS\SYSTEM subdirectory.)  Click OK and GPS's icon will be 
installed in your chosen program group.  Execute GPS by double 
clicking this icon.
GPS's Menus:

File
Accesses files containing settings.
DBF
Accesses database files.
Log
Accesses log files.
Transfers
Controls GPS input and logs output information.
Settings
Controls data port, fix spacing, and smoothing.
Help
Displays About screen.
File:
The files accessed by this menu record or restore the GPS DBF, Log, 
Transfers, and Settings options.  Opening an existing file recreates the 
state GPS was in when the File was created.  Files have the default 
extension .GPS.
New - Resets the program settings state back to conditions existing at 
program start.
Open - Opens an existing program settings state file and loads the 
settings into the program, closes any old DBF or Log files, and opens 
requested ones. 
Save - Saves the program settings state in an existing file.
Save As - Saves the program settings state in a new file.
Exit - Terminates the GPS program and closes all files.
DBF:
The first record of the database file opened by this menu is kept up-to-
date with the current fix generated by GPS when the system is active.  
Files have the default extension .DBF. The name of an active dB file is 
listed in the menu bar.
Open - Opens an existing DBF for continual update with the current 
fix.
Save As - Creates a new DBF and opens it for continual update with 
the current fix.
Close - Closes the currently open DBF.
Log:
The files accessed by this menu hold information displayed on the main 
window during program execution.  Files have the default extension 
.LOG. The name of an active Log file is listed in the menu bar.
Open - Opens an existing Log for output of newly displayed 
information.  The information is appended at the file's end.
Save As - Creates a new Log and opens it for output of newly displayed 
information. If you force output to an existing file, the file is first 
truncated
Close - Closes the currently open Log.
Transfers:
Controls input from the GPS unit, the display of information on the 
screen (and to the Log file when one is open), and the synchronization of 
the computer's clock with the time encoded in the received signal.
Receive GPS - Accepts GPS input data from the selected serial com 
port when checked.  Logs an error message to the display (and optional 
Log file) if data stops for a ten second period.  (Expected nominal data 
rate is one fix consisting of one or more NMEA sentences no more than 
once a second.)
GPS input - Outputs raw data to the display (and optional Log file) 
when checked. The data is compatible with .NME format and can 
therefore be used as input to NMETOMP1.
Position output - Outputs processed fix data to the display (and 
optional Log file) when checked.  A fix is output after the first sentence 
of the next fix is received.  Fix output is in a format compatable with 
.MP1 format and therefore can be used as input to MP1TOMP3.
Supported - Outputs supported (recognized and therefore translated) 
raw NMEA 0183 data sentences to the display (and optional Log file) 
when checked.
Unsupported - Outputs unsupported (unrecognized and therefore 
untranslated) raw NMEA 0183 data sentences to the display (and 
optional Log file) when checked.
Errors - Outputs the raw data of any recognized sentences which are 
obviously in error to the display (and optional Log file) when checked.  
This condition most commonly happens at program startup when only 
the last part of the first sentence is received.
Reset Clock - When checked, updates the computer's system clock to 
reflect the minutes and seconds as they're delivered real-time from the 
GPS hardware.  The hour is not changed in order to protect the local 
time offset from the Universal Time delivered by the GPS except when 
the corrected minutes advance or retreat over the hour mark.  Even 
that exception is excepted at the start of a new day.  (Time corrections 
are not applied near midnight to avoid the necessity of changing the 
computer's calendar day and possibly year.)
Time corrections are applied only when the computer's minutes and 
seconds are within 10 minutes of the GPS's UT.  A displayed message 
indicates the difference between these two times and whether the 
computer's clock has been reset.  The user must reset the computer 
manually with the TIME command to the approximate time if the time 
difference is too great for automatic update.  Apparent random delays 
on some GPS units between receiving a signal, processing it, and 
downloading it through the NMEA port give rise to reset times which 
can fluctuate from reset to reset by as much as several seconds making 
a precisely set system clock impossible to achieve.  When Reset Clock is 
checked, the reset is applied once but only after a new fix appears 
within two seconds of the last one, an attempt to insure that only 
current readings are used.  By clicking this option off and on, you can 
force another reset of the time.  Subsequent resets will display a time 
difference demonstrating the limits impossed by the fluctuations of your 
system's aforementioned delay.
Settings:
Controls COM port, pruning, and averaging options.

COM Port - Selects one of the computer's serial COM ports at which to 
expect data.  A newly-chosen port doesn't become effective until the 
next time Receive GPS is set under Transfers.  (i.e. Already in-progress 
communications are not terminated by choosing a new port.)  A 
message indicates if the chosen port is already allocated or isn't 
supported by the underlying hardware.  Data is fully buffered and 
should  not suffer overrun under normal program execution.
Prune - Indicates whether duplicate fixes are output and exactly what 
a duplicate fix is.  By default all fixes differing in time are output 
independent of their spatial displacements from each other.  By 
checking the Enable Pruning box, you invoke GPS's simple pruning 
algorithm which enforces a minimum separation between adjacent fixes 
for them to be considered non-duplicates.  The Minimum Point Spacing 
controls the value of this minimum separation.  The default 0 value 
implies no effective pruning.  By increasing the minimum separation to 
a positive value, you change the definition of what a duplicate point is 
and therefore how close together fixes can lie and yet be displayed.  
There are a variety of units you can choose ranging from feet to meters 
to nautical miles.  You must choose OK before any changes become 
permanent and therefore effective.
To illustrate fix pruning, set your GPS receiver in a stationary location 
and Enable Pruning with a 0 Minimum Point Spacing.  Because of the 
Selective Availability randomization applied by Department of Defense 
to the GPS signal, a number of slightly different fixes will be displayed. 
(Turn on Position output to monitor the output.)  Selecting a Minimum 
Point Spacing of 35 feet will drastically reduce the number of fixes 
generated in any given time period.  The DOD claims that GPS fixes 
will fall within 100 meters of the actual location 95% of the time.
Average - Averages the last GPS location with the current GPS location 
to produce the current fix when this option is checked.  This produces a 
somewhat smoother track when not pruning but when examining the 
track near the limits of its accuracy.
Help:
Displays About Gps.

About Gps... - Displays program version number, copyright, and 
author information.

Sample Output:
This sample session includes

Log/Save as
opening a log file
Transfers/GPS input
enables display of raw GPS data
Transfers/Position output
enables display of calculated positions
Transfers/Receive GPS
turns on input data from selected COM 
port
At this point NMEA sentences from the GPS are displayed on the 
screen as they are received.  The first in a series of five output by this 
unit (a Magellan Meridian) is $GPGLL.  Note that after the next fix is 
begun (marked by the second $GPGLL), the first fix is output.  After 
several fixes, the session was terminated.

Transfers/Receive GPS
toggles off input
Log/Close
closes the log file
A more typical example might include only logging locations to a file.  In 
this case the signal was weak and transmission stopped for a minute or 
two before resuming.  (This data was taken at a stationary location but 
with a loose antenna connection resulting in widely-fluctuating fixes 
and high indicated speeds.)
See \MAPIT20\EXAMPLES\GPS on your CD-ROM for other data 
examples and NMETOMP1 below for examples of data reduction.
dB File Format:
The dB file created or opened by GPS must contain the following 
numeric fields.  Lengths are those assigned during a GPS create.

Name
Type
Example
Meaning
NAME
C 20
"GPS"
Name record 1 "GPS".
LATITUDE
N 10.6
-90.000000
latitude, decimal degrees, neg. 
= south
LONGITUDE
N 11.6
-180.000000
longitude, decimal degrees, 
neg. = west
ALTITUDE
N 6.0
999999
altitude in meters
TIME
N 11
Any positive 
long integer.
Date/Time of fix in seconds 
since Jan 1, 1970.  (UTC)
SPEED
N 5.1
999.0
kilometers/hour
HEADING
N 5.1
359.0
degrees true from north
COLOR
N 6.0
-1
-1 = none specified, pos = 
color number
ACTIVE
L 1
"T"
MAPIT ignores if not active.
Error:
GPS generates errors of two types: those arising from incorrect or 
unexpected data in otherwise proper NMEA 0183 sentences and those 
caused by data overruns in your PC's com port.  The latter, if they 
happen at all, will be flagged by the message
	Read error n on Com Port m.
where
	n indicates an error number and m a port number (1 - 4)

1
Receiving queue overflow.  No room in the input queue.
2
A character was not read from the hardware before the next 
character arrived and was, therefore, lost.
At this writing, only error n = 2 has been noted under Windows 3.1, and 
then only on slower machines.  Reducing the size of the GPS window or 
reducing it to an icon will reduce the amount of material to be 
redisplayed for each new position and will positively impact portables 
with slow screen I/O.
Precision versus Accuracy:
The old conundrum of precision versus accuracy raises its confusing 
head again in the case of MAPIT-displayed GPS data.  MAPIT is able 
to store points within approximately 100 feet of a location.  In other 
words, a point whose location should be at x may be as much as 100 feet 
from x in any direction.  GPS has the inherent capability of locating 
points within approximately 50 feet of their actual position.  In 
deference to national security, however, the Department of Defense 
applies a randomizing signal called Selective Availability (SA) to the 
GPS system which decreases its accuracy to within plus or minus 300 
feet 95% of the time.  On the other hand, GPS signals, because of their 
precision, appear to be very accurate.  The Meridian's GPGLL 
latitude/longitude output with 0.001 minute precision incorrectly 
implies fixes accurate to six feet!  Plotting this data on the MAPIT 
world of 100 foot squares is like trying to view super VGA data on an 
old CGA display.  But one is quickly reminded that the data's apparent 
6 foot accuracy is meaningless when the original reading is 
superimposed on a second taken some time later.  The two readings 
from the same location may be as much as 600 feet apart!  It is 
important to view all GPS data with a 300 foot halo of uncertainty 
around it.
There are, however, methods of obtaining more accurate GPS fixes.  In 
what might appear to be an internal turf war, the US Coast Guard is 
establishing a series of transmitter sites along the coast broadcasting 
correction signals which, when applied to differential GPS receivers, 
more than compensate for the DOD induced SA, a great boon to boat 
owners!  Similarly, surveying GPS units use locally generated 
correction signals transmitted from a known point to achieve truly 
remarkable accuracy within a limited area.
Hardware Connections:
Serial input to your computer is commonly through a 9 pin male 
connector with the following pin connections:

pin
I/O


1
I
DCD
Data Carrier Detect
2
I
SIN
Serial Input
3
O
SOUT
Serial Output
4
O
DTR
Data Terminal Ready
5
N/A
GND
Signal Ground
6
I
DSR
Data Set Ready
7
O
RTS
Request to Send
8
I
CTS
Clear to Send
9
I
RI
Ring Indicator
NMEA +
2

NMEA -
5

7
8
RTS - CTS  (optional)
6
4
DSR - DTR  (optional)
If your GPS's NMEA 0183 cable does not come supplied with a 
connector, you can wire your own 9 pin female connector.  (CTS and 
DTR needed to be asserted for your computer to accept data in an 
earlier non-Windows program.  The jumpered pins indicated below 
aren't needed for the Windows GPS.)

 Supported NMEA 0183 Version 2.00 Sentences:
GPS currently supports the following NMEA sentences:

GLL
*
Geographic Position - Latitude/Longitude
latitude, longitude, time
GGA
*
Global Positioning System Fix Data
latitude, longitude, time, number of satellites in use, 
horizontal dilution of precision, antenna altitude
VTG

Track Made Good and Ground Speed
track made good, speed over ground
RMA

Recommended Minimum Specific Loran-C Data
latitude, longitude, track made good, speed over ground
RMC
*
Recommended Minimum Specific GPS/TRANSIT Data
latitude, longitude, time, date, track made good, speed 
over ground
*Sufficient by itself to provide a minimum fix of latitude, longitude, and 
time.
Problems and Solutions:
I'm not getting any output to GPS.DBF.
Is the right Settings/COM Port turned on?  Is Transfers/Receive GPS 
enabled?  Have you created (by DBF/Save As)  and DBF/Opened 
GPS.DBF?  Is your GPS unit turned on (The NMEA submenu is deeply 
buried in the Aux Setup of my Meridian.) and plugged in (J) to the 
right COM port? Is the GPS currently receiving data?  On the MAPIT 
side, is Tools/GPS Markers/Active enabled?  Is your Interface GPS 
GPS.DBF in the same directory as the GPS's?

MP1TOMP3
This MAPIT utility converts text files containing strings of 
latitude/longitude pairs (as might be generated from a CAD system or 
digitizer) to .MP3 file format. .MP3 files are about 30 percent of the size 
(in bytes) of their .MP1 counterparts.
Usage:
	MP1TOMP3 data_file [/options]
where
data_file
-
name of an .MP1 file to be converted to 
.MP3 format. An .MP3 file with the same 
root name is created.
options:
/id=
-
Region id stored in the region header; 
defaults to 0 (range: 0-65,533)
/layer=
-
Layer assignment stored in entity header; 
defaults to layer 0 (range: 0-65,533)
/color=

Force the line to color n rather than to the 
layer color.  Defaults to -1 (layer color).
/minzoom=
-
Min zoom factor stored in entity header; 
defaults to 0 (range: 0-65,533)
/maxzoom=
-
Max zoom factor stored in entity header; 
defaults to 0 (range: 0-65,533)
The .MP1 file format is a simple ASCII listing of latitude/longitude 
pairs representing strings of connected points. String termination is 
marked by separator (blank) records.  See APPENDIX E - Standard 
Lat/Lon Notation. ";" is a  comment character which instructs 
MP1TOMP3 to ignore the rest of the line.  A comment in the first 
column of a line means to ignore the line and not treat it as a blank to 
start a new line segment.

An example of the .MP1 data format is found in the ASCII file 
TRACK.MP1.

48.944667	2.271500      Flying west of Paris by J-F MARTIN 
48.945334	2.272000           using a GARMIN GPS
48.946000	2.272500      Course 023.5, speed 92.8 mph
48.946667	2.272833
48.947334	2.273333
48.948000	2.273833
48.948834	2.274167
48.949500	2.274667
48.950167	2.275167
48.950834	2.275500
48.951500	2.276000
*48.952167	2.276500
48.952834	2.276833
48.953500	2.277333
48.980667	2.295167
48.981334	2.295667
48.982000	2.296000
48.982667	2.296500
48.983500	2.297000

NMETOMP1
NMETOMP1 is the part of the MAPIT GPS Utility Package designed to 
convert and process raw NMEA 0183 Version 2 sentence data logged on 
disk by the GPS program and save it to an ASCII lat/long .MP1 format 
file.
NMETOMP1 is included because it can do the more computationally-
intensive straight line corridor pruning which GPS is not able to do on 
the fly.  Beyond straight format conversion, NMETOMP1 also provides 
a great deal of error checking, the coalescing of data partially and 
multiply defined by a set of NMEA sentences generated from a single 
fix, the dropping of duplicate points, simple data smoothing, and the 
pruning of unneeded points.
The NMETOMP1 Command Line:
Usage:
nmetomp1    input_file  [output_file]   [/options]
where
input_file
The required input data file name.  The input file 
must be an ASCII NMEA sentence file whose 
extension, unless otherwise specified, defaults to 
".NME".
output_file
An optional name for the ASCII .MP1 formatted 
output file.  If no extension is specified, the default 
extension ".MP1" is used.  If no output_file is 
specified, the input_file name with the extension 
".MP1" is used for output.
options
/average
/avg
Apply a simple smoothing algorithm to the data.  
Averaging is accomplished after duplicate points 
are removed and minimum spacing is 
determined.  /average has no noticeable effect on 
the display of data by MAPIT unless the 
/minxx=spacing option is applied with a spacing 
value greater than the 100 foot resolution of 
MAPIT's ability to reproduce data.  See 
Precision versus Accuracy below for a related 
discussion.
/decimals=n
The required number of places of precision after 
the decimal point for latitude, longitude, and 
time input data.  Defaults to 2.  A value of 0 
requires none but allows data after the decimal 
point.  The primary purpose of this option is to 
allow for the further checking for dropped data to 
the right of the decimal which are not spelled out 
in the NMEA specification.  Because the exact 
precision of your data is GPS vendor-dependent, 
you may want to examine the raw data and adjust 
this option accordingly.  As an example, 
specifying /decimals=1 will cause the otherwise 
correctly formatted time field "120156" in vendor 
X's GLL statement to be logged as an error but is 
not an overall debilitating error if the time is 
available from another sentence.  Some 
compromise toward less stringent error checking 
may be necessary.  (This is a fine-tuning option.  
If it works, don't fool unless the output shows too 
many bad points.)  See /error below.
/duplicates
Don't drop duplicate points but convert all data.  
By default, NMETOMP1 doesn't convert 
duplicate points: points taken within half a time 
second of the previous point or located within a 
distance of the last point implied by /decimals 
above (applied to the location expressed in 
minutes: e.g. /decimals=2 implies a minimum 
separation of 0.01 minutes).  Duplicate points 
can be created as the GPS looses signal 
acquisition, in which case the last fix may be 
retransmitted a number of times, or when 
physical movement of the GPS ceases.
/error
Log parsing error messages in output_file.ERR.  
Errors are normally due to incomplete sentences 
at GPS capture program startup.
/minfeet=n
/minft=n
/minmeters=n
/minkmeters=
n
/minmiles=n
/minnmiles=n
Prune (drop) points to support a precision of n 
feet, meters, kilometers, miles, or nautical miles.  
GPS fixes can be downloaded as often as every 
second or two resulting in a huge number of 
points which may be too close together to be 
warranted by a particular application.  One of the 
main strengths of NMETOMP1 is the program's 
ability to reduce the number of points to meet the 
user's criteria of data spacing and accuracy.  The 
pruning algorithm consists of two parts: fixes 
which are within the stated distance n of the last 
fix are dropped as being obviously unnecessary.  
Also intermediate points falling within a straight 
line corridor 2n wide between the last accepted 
fix (anchor point) and the next necessary one are 
themselves unnecessary.  A dramatic reduction in 
data is possible by specifying a minimum 
precision of even 500 feet.  (Remember that S/A - 
see below - reduces the accuracy of any given fix 
to +/-300 feet with a 95% probability.)
/unsupported
Log unsupported NMEA sentences in 
output_file.ERR  Unsupported NMEA sentences 
are those of which NMETOMP1 is not aware.  
They neither hurt nor are interpreted.  (See 
Supported NMEA 0183 Version 2.00 Sentences: 
for a list of supported sentences.)
/?
This option displays a brief explanation of all 
command line options on the screen.
Example Input/Output:
Two samples of data input and one of data output are listed below.  The 
data input, although conforming to the NMEA 0183 version 2.00 
specification, can vary from GPS to GPS because of the variety of 
sentences available, their ordering, data precision, and dropped 
elements.  
The input listed below is from a Magellan GPS Meridian, a less 
expensive if not popular hand-held GPS.  The Meridian supports three 
different types of NMEA output chosen from deep within its menuing 
system (Aux Menu, second page, NMEA): 0183A, 0813B, and 0813C.  
The 0813A uses NMEA sentences from a prior standard no longer 
recommended for use and not supported by NMETOMP1.  0813B's 
output is shown in Sample Input A, and 0813C's output is shown in 
Sample Input B.  Note that in both cases a single fix gives rise to 
multiple sentences which may contain redundant data.  (See Supported 
NMEA 0183 Version 2.00 Sentences: below for a list of required and 
supported sentences.)  In the Meridian examples, 0813C (Sample Input 
B) gives more data unless you require that the date be included.  On the 
other hand, Sample A's data carries mandatory checksums for data 
accuracy.
Sample Input A:
$GPRMB,A,0.02,L,0008,0009,4027.05,N,07935.27,W,003.9,162.,00.0,V*21
$GPRMC,200150,A,4030.81,N,07936.83,W,00.0,000.0,150394,08.,W*4C
$GPRMB,A,0.01,L,0008,0009,4027.05,N,07935.27,W,003.9,162.,00.0,V*22
$GPRMC,200156,A,4030.80,N,07936.83,W,00.0,000.0,150394,08.,W*4B
$GPRMB,A,0.01,L,0008,0009,4027.05,N,07935.27,W,003.9,162.,00.0,V*22
$GPRMC,200157,A,4030.80,N,07936.83,W,00.0,000.0,150394,08.,W*4A
Sample Input B:
$GPGLL,4030.899,N,07936.455,W,012611.861,A
$GPAPB,A,A,0.3,R,N,V,V,162.7,T,009,166.8,T,85.3,T
$GPGGA,012611.86,4030.90,N,07936.46,W,1,07,4.1,,,,,, 
$GPVTG,81.5,T,89.9,M,2.7,N,5.0,K
$GPBWC,012611.86,4027.05,N,07935.27,W,166.8,T,175.2,M,4.0,N,009
$GPGLL,4030.910,N,07936.449,W,012615.921,A
$GPAPB,A,A,0.3,R,N,V,V,162.7,T,009,166.9,T,160.9,T
$GPGGA,012615.92,4030.91,N,07936.45,W,1,07,5.1,,,,,,
$GPVTG,6.0,T,14.4,M,8.2,N,15.2,K
$GPBWC,012615.92,4027.05,N,07935.27,W,166.9,T,175.3,M,4.0,N,009
$GPGLL,4030.936,N,07936.449,W,012621.369,A
$GPAPB,A,A,0.3,R,N,V,V,162.7,T,009,167.0,T,173.6,T
$GPGGA,012621.37,4030.94,N,07936.45,W,1,07,3.9,,,,,,
$GPVTG,353.4,T,1.8,M,22.7,N,42.1,K
$GPBWC,012621.37,4027.05,N,07935.27,W,167.0,T,175.3,M,4.0,N,009
Note: 	GPAPB Autopilot Sentence "B"  -  unsupported .
	GPBWC Bearing & Distance to Waypoint  -  unsupported.
Sample Output:

    1           2          3       4        5       6      7        8    9
 40.514983  -79.607583      0 012611.861UT 000000  81.5   5.0km/hr  4.1  7
 40.515167  -79.607483      0 012615.921UT 000000   6.0  15.2km/hr  5.1  7
 40.515600  -79.607483      0 012621.369UT 000000 353.4  42.1km/hr  3.9  7

1
Latitude in decimal degrees.  Negative implies south.
2
Longitude in decimal degrees.  Negative implies west.
3
Altitude in meters above sea level.
4
Universal Time (GMT) HHMMSS.SSS
5
Date at the Prime Meridian.  DDMMYY
6
True course made good.
7
Speed over ground in kilometers per hour.
8
Horizontal dilution of precision.
9
Number of satellites in use (versus in view).  0 - 12.
Terms defined:
Speed over ground, track made good:  GPS terminology, probably 
rightly, is oriented toward non-land-based conveyances (airplanes and 
ships).  In terms of air and water navigation, ones course (track) and 
speed can be referenced either to that steered and covered through the 
air or water or referenced to the "absolute" coordinate system of the 
ground.  Hence the unambiguous terminology speed over ground and 
track made good.
Dilution of precision:  This is a number showing the added uncertainty 
of a fix due to the relative location of the satellites when the fix is made.  
A simple way to think of the geometry of a fix is to picture two fuzzy 
lines crossing each other at right angles.  If the lines' fuzziness 
represents the limits of their accuracy, the area of fuzziness at their 
intersection is the uncertainty of the fix.  As the lines move from the 
optimal right angle intersection to an oblique intersection, the area of 
imprecision increases.  Dilution of precision due to satellite geometry 
works the same way.  Even in the best of circumstances, a minimum 
value of uncertainty is established by minute variations in the 
satellites' atomic clocks and variations of the speed of the propagation 
of the signal through the atmosphere due to changes in barometric 
pressure, temperature, moisture, and so forth.  This inherent 
imprecision can be amplified by the satellites' relative positions to each 
other and to the observer.  Hence the dilution of precision.  Smaller 
values are better.
The format of this output, known as (extended) .MP1 by Allison 
Software, is not precisely defined.  The program MP1TOMP3 converts 
the first two columns, the latitude and longitude, to .MP3 format and 
treats all following text as comments.  Whether there are adjustments 
in the following columns as GPS data conversion evolves remains to be 
seen.  The data is defined in terms of the order of white space-separated 
characters groups and not by absolute column position.
Example Data Reduction Session:
From the output data left in GPS2.NME by the GPS Windows utility 
(\MAPIT20\EXAMPLES\GPS on your MAPIT CD), create two .MP3 
track files, one of the raw data and the second with an average of points 
at a minimum spacing of 200 feet.  Color the averaged data red, and 
combine them both in the same file for display and plotting from within 
MAPIT.
	C:> nmetomp1  gps2  x 
		680 fixes output out of 680.  0 errors in 3871 lines.
	C:> nmetomp1  gps2  x2  /minft=200  /avg
		175 fixes output out of 680.  0 errors in 3871 lines.
	C:> mp1tomp3  x 
	C:> mp1tomp3  x2  /color=4
	C:> copy /b  x.mp3+x2.mp3
	C:> mymap  x
The pen associated with color 4 was increased to 0.5mm wide in 
WIDE.PEN (made from STD.PEN) and MYMAP.BAT modified with 
/pen=wide to create the following plot.

GPS's Raw Data vs. 200 Foot Average
The block-like character of the original track represents the resolution 
limits of MAPIT permanent line data.  MAPIT`s dynamically displayed 
moving markers are not subject to this quantum limitation and will 
display between minimum line spacings.

COMBINED.MP3 Plotted at 1:300,000
The preceding plot shows the results of three tracks taken from an 
automobile on both major roads (shown) and minor roads (not shown).  
The plot, some 15 miles wide and at approximately 3.3 times the 
resolution of MAPIT's underlying data, demonstrates the difficulty of 
creating maps truly accurate in all detail.  Parts of this plot make more 
sense when viewed in color with rivers, county, and populated place 
boundaries turned on.  The preceding more-detailed GPS plot was 
taken from a portion of the left side of the smallest triangle near the 
upper right of this plot.

SIMULATE
This MAPIT utility uses simulation scripting instructions to update 
MAPIT's moving marker dBASE IV file forcing marker icons to travel 
across MAPIT's map display in accelerated real time.  The simulation 
scripting instructions are free-format statement describing the motion 
of one or more objects in terms of location, date, time, speed, and 
heading which the user enters into a text file. SIMULATE interprets 
these instructions, generates a time-based simulation stream, and feeds 
this stream to MAPIT's moving marker dBASE IV GPS interface.  To 
view the simulation, the user must simultaneously run MAPIT within 
another session of Windows while enabling the TOOLS/GPS 
Markers/Active menu item to make them visible.  See the MAPIT 
TOOLS/GPS Markers instructions elsewhere in this manual for 
detailed general instructions and the Advanced Considerations 
section below for specific instructions.
The SIMULATE Command Line:
Use:
	SIMULATE script  [output_dbf]  [/options...]
where
script
-
a text file holding simulation instructions. 
Assumes a .SIM extension. Command line 
arguments take precedence over statements 
in the script file.
Output_dbf
-
an optional dBASE IV GPS Interface 
database to which the simulation instructions 
will be written. Defaults to "GPS" and 
assumes a .DBF extension.
options:
/rate=
-
run the simulation at n times simulated 
time.
/delta_time=
-
update the simulation every n seconds of 
simulated time.  If not specified, the delta 
time is automatically calculated and 
adjusted to maintain /rate above.
/delay=
-
delay the start of the simulation n seconds. 
Use this option to facilitate task switching 
between the simulation task and MAPIT. 
Defaults to 5.
/startat=
-
begin the simulation at this date/time offset.
/stopat=
-
end the simulation at this date/time offset.
/full_time
-
override any "start at/stop at" simulation 
statements in .SIM script and run the 
simulation its full natural length.
/single=
-
output only the named object
/mp1=
-
output the simulation tracks to an ASCII 
.MP1 file rather than to the .DBF. When 
converted to .MP3 format, the tracks are 
stripped of their time-dependent orientation 
and may be viewed in detail from within 
MAPIT.
/short
-
output only lat/lon pairs to an ASCII .MP1 
file without date/time information to 
produce a smaller file.
/overwrite
-
delete any data in an existing .mp1 before 
adding new simulation tracks.  By default, 
an error message is issued if the .mp1 file 
already exists and neither the /append nor 
the /overwrite option is specified.
/append
-
add newly simulated track data to the end of 
the .mp1 file.
/dump
-
create a debug dump of the contents of each 
leg of each object
/help
-
display a list of legal simulation file 
statements.
/version
-
display program's version.
/?
-
display this output.
Script File:
The required script file is a text file with the nominal file name 
extension .SIM.  Script files hold instructions defining objects and the 
legs of a journey each object takes. This file is free format on a line-by-
line basis and uses the `;' character as a comment.  Everything to the 
right of the comment character is ignored.  Within limitations, the order 
of statements is not important.  Object legs may be defined out of 
sequence within the constraints of the syntax. (See USAIR.SIM.) The 
script file can also contain some statements specifying information 
which otherwise may be entered as command line arguments. For 
instance, DELTA TIME corresponds to /delta_time=.  Selections made 
at the command line override those made in a script file allowing you to 
have a general definition which you can override easily at program 
invocation.  Reference your script file from the command line as the 
first command line argument as in
	C:\>  simulate  goose
where goose.sim is a script file.
General statements:
OUTPUT DBF: file_name
; Output to MAPIT's Moving 
Marker GPS .DBF.  Defaults to 
"GPS".
SIMULATION RATE number
; Speed up simulation by factor n.  
DELTA TIME seconds
; Set the time between simulation 
calculations in seconds.
DELAY seconds
;  The delay before starting the 
simulation.  Defaults to 5 seconds.
START AT Date/Time
; Begin the simulation at 
Date/Time.
STOP AT Date/Time
; End the simulation at Date/Time.
GREAT CIRCLE or GC
; Plot each leg of the course as a 
great circle.  (Default.)
STRAIGHT LINE or RHUMB
; Plot each leg of the course at a 
constant heading.
If it doesn't already exist, SIMULATE creates the OUTPUT DBF and 
dynamically adds records to it as required by the simulation script. 
Each object requires one .DBF record except when two exist in non-
overlapping time intervals and can therefore share the same physical 
record.
The SIMULATION RATE indicates how fast a simulation will run.  A 
rate of 3600 would run the simulation at one second wall clock time for 
each hour of simulated time.  Rates of several hundred to several 
hundred thousand are typical.
DELTA TIME sets the time between simulation calculations in seconds 
and can be thought of as the granularity of the simulation. If DELTA 
TIME is specified, the SIMULATION RATE may not be attained 
especially under compute-bound conditions. Not explicitly specifying 
DELTA TIME allows SIMULATE to set that value dynamically in an 
effort to achieve the target SIMULATION RATE.  In this case, 
SIMULATE initially sets DELTA TIME to 60 seconds and adjusts it up 
or down every few seconds as the complexity of the simulation and the 
multitasking load of the computer dictate.
Each simulation has a natural start and stop time dictated by its script.  
You can override these times to start later or end earlier by with the 
START AT/STOP AT Date/Time statements. 
Date/Time format:
MM-DD-[YY]YY,hh:mm:ss 	(6-7-97,16:08)
or 
DD-MMM-[YY]YY,hh:mm:ss	(7-June-1997,16:08)
A single number by itself defaults to the hour.  If there is no date, the 
date defaults to 1-1-1970. Unfortunately the range of the format is 
rather limited.  No date before 1-1-1970 is acceptable as is none after 
February 5, 2036 due to limitations in Microsoft's mktime() function.  
An attempt is made to adjust between standard and savings time based 
on the date.
Object/Leg statements:
DEFINE object_name
; Establish an object.  The name 
may be up to 20 characters but 
must not contain blanks.
Date/Time, +Time, or NEW LEG
Establish a course leg in an 
object.  "+" indicates relative.
Latitude Longitude
; Define starting/ending point of 
a leg.
SPEED number    
; The speed of the projection at 
the surface of the earth.
KNOTS, MPH, KMPH, MPS 
(meters/sec)
; Units of speed.  (Default: 
KNOTS) 
HEADING ddd
; Course heading in degrees from 
true north.
TOWARD Latitude Longitude
; Continue on this leg toward a 
point.  May over or undershoot.
FOR Time
; Continue on this leg for this 
time.
COLOR number
; The color number (0 to 15) of 
the object's marker as displayed 
within MAPIT.  -1 to default to 
the MAPIT default.
PERIOD Time
; Period of an orbit around 
rotating earth.  Note that a period 
of 90 minutes should be stated as 
PERIOD 1:30.
GEOSYNCHRONOUS
; Establish a geosynchronous 
orbit around the rotating earth.
FIXED
; Establish an orbit fixed in space 
(relative to the stars) around the 
rotating earth.
Each object must be defined once and only once by the DEFINE 
statement.  Multiple legs may follow a definition uninterrupted or they 
may be interspersed with other objects.  In the latter case, focus is re-
established on an already-defined object by stating its name without the 
DEFINE keyword.
Each leg of an object is defined in context of a Date/Time.  Stating a 
Date/Time, a relative time (+Time), or NEW LEG establishes a new leg.  
"+3" would start a new leg 3 hours after the last.
The keywords PERIOD, GEOSYNCHRONOUS, and FIXED imply an 
orbital simulation of a great circle around a rotating earth.  Because the 
orbit is fixed in space above the rotating earth, the great circle orbit will 
appear shortened or lengthened depending upon its direction and will 
not, in general, come back to its starting point as would a great circle 
fixed on the earth's surface.  Specifying the PERIOD of an orbit in 
hours, minutes, and seconds, implies a projected speed on the surface of 
the earth of the object which will be less than its speed at whatever 
altitude would be necessary to give it that period.  All orbits are 
assumed to be circular.  The circumference of the spherical earth is 
assumed to be exactly 21,600 nautical miles (60 miles/degree times 360 
degrees).  The length of a sidereal day (when the earth turns back to 
the same orientation in space) is assumed to be 23:56:04.098 hours.  A 
GEOSYNCHRONOUS orbit sets the speed such that an object traveling 
in an easterly direction (heading = 090) remains forever above the same 
point on the earth.  A FIXED orbit implies 0 speed with respect to the 
stars.  Heading, in that case, doesn't matter. 
Types of legs:

pt to pt, time, no speed
Types 1 & 5
pt to pt, speed, no time
Types 2 & 6
pt, time, speed, toward destination
Types 3 & 7
pt, time, speed, heading, no destination
Types 4 & 8
GC Orbit around the rotating earth: pt, period, speed, 
heading, no destination
Type 9
Example Output:
SIMULATE produces the following output when run against the 
GOOSE.SIM simulation file found on the MAPIT CD-ROM under the 
\MAPIT20\EXAMPLES\SIMULATE directory.

Natural starting time: 8-1-96,00:32:00, Forced 
starting time: 9-30-96,00:00:00
Stopping time: 10-21-96,19:35:00
Running simulation to C:GPS.DBF
21 days, 19:35:00 sec Simulated Time at a rate 
of 50000 X real time.
Estimated time to simulate: 38 seconds.

Average delta time increments: 98 seconds.
35 seconds elapsed time, 53854 effective rate
Used 3 records out of 5.
Note that the starting time was delayed (the simulation shortened) by a 
START AT statement in GOOSE.SIM.  Similarly, the requested 
SIMULATION RATE of 50,0000 X over 38 seconds yielded a 53,854 X 
effective rate over 35 seconds by increasing the average delta time 
increment from the default 60 seconds to 98 seconds.  If you needed a 
more precise simulation, you would have to use the DELTA TIME 
statement to specify it exactly (at the probable expense of the 
simulation rate.)  Three records out of a total of five were used in 
C:GPS.DBF.
Example Simulation Script File: 

; demotype.sim  -  Demonstrate 4 basic types.

Output DBF: c:gps
Simulation rate 1000

08:48 define xxx				 ; TYPE 1
         color 4  40.3N 80W             ; Pittsburgh

09:30    36.9N 76.3W                    ; to Norfolk
         color 2                        ; TYPE 2
         speed 250 mph                  
         42.9N 78.9W     			 ; to Buffalo

New Leg  toward 36.2N 115.1W            ; to Las Vegas
         color 6				 ; TYPE 3
         speed 1000
         for 03:16                      

New Leg  heading 070 Rhumb			 ; TYPE 8 
         color 5
         for 03:16
Demonstration Scripts:
To view these demonstration simulation scripts, you must have two 
DOS sessions running concurrently under Windows, the first running 
MAPIT and the second, SIMULATE.  Your Windows environment 
must be set up to allow the background execution of the second process, 
SIMULATE.  From within MAPIT, mouse to the TOOLS/GPS Markers 
sub menu and click on Active to enable looking for marker activity.  (If 
you get the warning message, "Error opeing C:GPS.DBF.  Create an 
empty DBF?", respond "Y".  You may wish to click off the other options 
and experiment with them later.  You will probably want to set 
TOOLS/GPS Markers/Scan delay to 0.1 seconds for minimal delay 
between scans.  This will enhance marker response at the expense of 
making grabbing the attention of the top menu command levels harder, 
you may have to sit with your finger on the mouse button longer.  Begin 
(Ctrl<Esc>) or context switch back (Alt<Esc>) to your other session, 
switch to your CD-ROM drive, and execute a script as follows.
Run these scripts by entering
             	D:\>  cd mapit20\examples\simulate
	D:\.>  dir				(See what's there.) 
	D:\.>  ..\..\exes\simulate  goose	(DOS 6.x/W3.1) 
	D:\.>  ...\exes\simulate  goose	(DOS 7/W95) 
If you've set up a mapit directory on your hard drive and are pointing to 
the proper directories, you could enter:
C:\mapit>  simulate  D:goose
or
	D:\.>  C:simulate  goose
(The variations and joys of DOS are boundless for the initiated.)  
Context switch back to your MAPIT session and look for the moving 
markers to appear after a five second delay.  Enter "2" or "A" to position 
yourself to the whole US.  While you're entering commands within 
MAPIT, the moving markers will cease to update but will restart after 
your command or repaint is finished.
Goose.sim
This script shows the migration of three GPS-transponder-banded 
Canada Geese in their flights from Canada to the US over a period of 
several months. The data was provided by the New York Coop Research 
Unit (USFWS-NBS) at Cornell University and Ducks Unlimited with 
the help of Susan Sheaffer at Cornell.  Every few hours or days, a 
passing satellite would turn on a lightweight GPS attached to each bird 
thereby establishing its position.  This location was relayed back to the 
original satellite and then on to a data gathering site in Maryland.  This 
data demonstrates the advantages as well as the limitations of 
SIMULATE.  If you plot the tracks of the geese by entering the data 
directly into a .MP1 file and converting it to .MP3 format for display by 
MAPIT, you can see where the geese have flown but have no idea when 
or of their relationships to each other over time.  Displaying the data 
through SIMULATE immediately shows the flocks as a function of 
time clearly revealing their relationships to each other in space at any 
particular time.  You will also note that all three flocks begin their 
migration within a few days of each other.  The granularity of the data 
and the limitations of SIMULATE become apparent.  SIMULATE 
calculates the average speed between sightings or fixes, if you will.  
Sightings separated by several days and a few miles may show an 
average speed of only one or two miles an hour, well below goose stall 
speed, when, in point of fact, the birds were actually stationary most of 
the time with a brief but fast flight between locations.  Similarly when 
viewing data over a long period, one may choose a large SIMULATION 
RATE (50,000 in this script) to speed the process thereby masking short 
but significant side excursions which warrant more detailed 
examination under a finer DELTA TIME simulation.  You can override 
script simulation settings from the command line as demonstrated 
below.
USAir.sim
Taken from the USAir City Timetable for Pittsburgh, USAIR.SIM 
simulates many of the Monday, May 8, 1995 morning flights into and 
out of the Greater Pittsburgh International Airport.  The assumptions 
are that the aircraft are in flight from origin to destination between the 
listed gate times, and that they fly great circle routes from point to 
point.  Obviously these assumptions are oversimplified, but the 
resulting simulation reflects, to a greater or lesser extent, the actual 
traffic patterns around Pittsburgh and to many places in the country 
and the world flown by USAir from Pittsburgh. USAIR.SIM is a large 
file simulating up to 271 simultaneous flights.  It is easy to get buried 
in the data.  You may want to view it several different times in several 
different ways.  As delivered, MAPIT's history file MAPIT.SAV 
contains four different views (positions) associated with digits 1 
through 4.
pos
zoom
location

1
2.6
37:40N 
55:24W
US & 
Europe
2
6.4
37:29N 
97:05W
US
3
19.4
40:35N 
80:00W
NE US
4
173.6
40:27N 
79:49W
Western PA
Positions 1 and 2 (POSITION/Restore n, or just type n from within 
MAPIT) give global and US views, position 3 shows more detail, and 
position 4 shows aircraft activity over the Pittsburgh area with the type 
of detail an air-traffic controller might see. You can most rapidly switch 
between views if you run MAPIT without any background data.
	C:\>  mapit  nul  /noe
From the broader viewpoints, turn on TOOLS/ GPS Markers/Marker 
trails to see the entire air routes.  Marker trails off displays the location 
of each aircraft as it flies en-route.  The simulation is set to run from 6 
AM until 2 PM.  If you start MAPIT with the command line argument 
/FULL_TIME, you'll see all the data for a whole day.  Notice that the 
early morning red eye flights starting on the west coast heading to 
arrive in Pittsburgh about morning rush hour.  There is a flurry of air 
traffic between 9:30 and 10:05 AM which you can examine in detail by 
reducing the DELTA TIME to 15 seconds for a smoother display.
	C:\>  simulate  USAir  /delta=15  /start=5-8-95,9:30 /stop=5-8-95,10:05
View this from positions 4 and 3.
After running the USAir simulation, delete the output file C:GPS.DBF 
because it is large enough to slow down subsequent smaller 
simulations.

USAir.sim Output, Pos 2, /Full_time
orbits.sim
This simulation depicts satellites in various circular orbits.  For it to be 
effective, you should have the markers trails option turned on in 
MAPIT and should delete the file C:GPS.DBF to speed repaint if you've 
just run the USAir simulation.  View this simulation from the standard 
world view.
The following map was produced from output from ORBITS1.SIM 
combined with a great circle through Cape Canaveral, Florida and 
demonstrates a rocket's being launched on a heading of 090 for 
minimum north/south trajectory excursion.  Notice how, because of the 
earth's rotation, each pass falls short of the previous one while the 
great circle passes back through the same point.  The figure eight over 
Africa is a geosynchronous orbit with a vertical component viewed for a 
day.

You can replicate the rocket orbit from your MAPIT hard drive 
directory with: 
C:>  simulate  orbits1  /single=153  /mp1=temp
C:>  mp1tomp3  temp  /color=4
C:>  mymap  temp
day.sim
year.sim
These simulations show the positions of the sun and a stationery object 
(with respect to the stars) over the course of a day and year.  See the 
scripts for instructions about altering the scripts and zooming in to 
view the end conditions.  You may well ask weighty questions such as, 
"What is a day?  What is a year?"  The technical details of these 
simulations is beyond the scope of this manual and certainly beyond the 
understanding of its author.  View these simulations first from the 
standard world view.
Advanced Considerations:
SIMULATE dynamically adds to the length of its output .DBF as 
needed.  MAPIT will scan to the end of the .DBF looking for active 
records.  If the numbers are large, this scan, even if there are few active 
records, can take an appreciable time (the better part of a second or 
more depending upon processor speed and loading).  The TOOLS/GPS 
Markers/Scan delay, commonly set to 1 second for GPS and other slow 
sources but to 0.1 seconds for smoother display of  accelerated 
simulations, is added to the natural delay of the .DBF scan and display.  
The total of these is the time between the redisplay of marker icons and 
affects the smoothness of movement and the closeness of adjacent 
marker displays.  If you've just run a simulation such as USAIR.SIM 
which can allocate almost 300 records, subsequent less-demanding 
simulations can be adversely affected.  Your best bet, then, is to delete 
the C:GPS.DBF database before running the smaller simulation.  You 
cannot delete that file while MAPIT is running and has it active.  
Either deactivate it or exit MAPIT, then delete.  If you restart MAPIT 
immediately, MAPIT will prompt you when it tries to open the non-
existent file asking whether it may create it.  Answer "Y"es.  If you 
start SIMULATE first in the absence of its target file, it will notify you 
that it's creating a new file and then create it.  Either way insures that 
you will run with the minimum database length required for that 
simulation under those settings.  SIMULATE reuses inactive records 
during a simulation, but the exact amount of overlap and therefore the 
requirements is dependent upon the DELTA TIME, SIMULATION 
RATE, and start/stop times of each simulation. 

APPENDIX A - FEATURE/LAYER ASSIGNMENTS

By Feature:
Political/Ocean Boundaries
INTL_PO         80
TREATY_PO       82
OCEAN_PO        83
DATE_LINE_PO    88
ADMIN1_PO       81
ADMIN2_PO       89
ADMIN3_PO       94
SPECIAL_PO      95
DISPUTED_PO     96
MET_PO          65
ICE_PO          84
ICE_WATER_PO    86
GLACIER_PO      44
SNOW_PO         45
ICE_LAND_PO     46
COAST_PO        85
SEA_WALL_PO     87
POLITICAL_TXT  117
COUNTRIES_TXT  118
STATES_TXT      64
COUNTIES_TXT    66

Rivers
RIV_DN          40
LAKES_DN        41
SAND_DN         42
CANALS_DN       43
CON_DN          47
DRAINAGE_PT     74
DRAINAGE_TXT    75

Roads
DIV_HWY_RD      70
PRI_HWY_RD      71
TRAILS_RD       72
CON_RD          73

Railroads
SINGLE_RR       90
MULTI_RR        91
LIGHT_RR        92
CON_RR          93

Transportation
SHEDS_TS        54
BRIDGES_TS      55
CAUSEWAYS_TS    56
TUNNELS_TS      57
FERRIES_TS      58
FORDS_TS        59
Also specifies airports
TRAN_STRUCT_TXT 78

Utilities
POWER_UT       100
PHONE_UT       101
EX_PIPES_UT    102
UN_PIPES_UT    103
UTILITIES_TXT   62
TOWERS          63

Cities & Landmarks
CULT_LM         50
POP_PLACES_TXT 119
  0 population 
CITY_0         111
  1 - 1000  
CITY_1         112
  1001 - 10,000  
CITY_10        113
  10,001 - 100,000  
CITY_100       114
  >100,000  
CITY_BIG       115

Ocean Features
MISC_OF         51
REEFS_OF        52
LIMITS_OF       53
DEPTH_200M_OF   97
DEPTH_1000M_OF  98
DEPTH_2000M_OF  99
DEPTH_3000M_OF 104
DEPTH_4000M_OF 105
DEPTH_5000M_OF 106
DEPTH_6000M_OF 107
DEPTH_7000M_OF 108
CONT_SHELF_OF  109
TEC_PLATES_OF  110
FRAC_ZONES_OF   67
LINEATIONS_OF   68
MAJOR_SEAS_TXT  76
OCEAN_FEAT_TXT  77

Land Cover
LAND_COVER      60
LAND_COVER_TXT 116

By Layer:

RIV_DN          40
LAKES_DN        41
SAND_DN         42
CANALS_DN       43
GLACIER_PO      44
SNOW_PO         45
ICE_LAND_PO     46
CON_DN          47
CULT_LM         50
MISC_OF         51
REEFS_OF        52
LIMITS_OF       53
SHEDS_TS        54
BRIDGES_TS      55
CAUSEWAYS_TS    56
TUNNELS_TS      57
FERRIES_TS      58
FORDS_TS        59
LAND_COVER      60
UTILITIES_TXT   62
TOWERS          63
STATES_TXT      64
MET_PO          65
COUNTIES_TXT    66
FRAC_ZONES_OF   67
LINEATIONS_OF   68
DIV_HWY_RD      70
PRI_HWY_RD      71
TRAILS_RD       72
CON_RD          73
DRAINAGE_PT     74
DRAINAGE_TXT    75
MAJOR_SEAS_TXT  76
OCEAN_FEAT_TXT  77
TRAN_STRUCT_TXT 78
INTL_PO         80
ADMIN1_PO       81
TREATY_PO       82
OCEAN_PO        83
ICE_PO          84
COAST_PO        85
ICE_WATER_PO    86
SEA_WALL_PO     87
DATE_LINE_PO    88
ADMIN2_PO       89
SINGLE_RR       90
MULTI_RR        91
LIGHT_RR        92
CON_RR          93
ADMIN3_PO       94
SPECIAL_PO      95
DISPUTED_PO     96
DEPTH_200M_OF   97
DEPTH_1000M_OF  98
DEPTH_2000M_OF  99
POWER_UT       100
PHONE_UT       101
EX_PIPES_UT    102
UN_PIPES_UT    103
DEPTH_3000M_OF 104
DEPTH_4000M_OF 105
DEPTH_5000M_OF 106
DEPTH_6000M_OF 107
DEPTH_7000M_OF 108
CONT_SHELF_OF  109
TEC_PLATES_OF  110
CITY_0         111
CITY_1         112
CITY_10        113
CITY_100       114
CITY_BIG       115
LAND_COVER_TXT 116
POLITICAL_TXT  117
COUNTRIES_TXT  118
POP_PLACES_TXT 119

APPENDIX C - PEN DEFINITONS
For additional flexibility during plotting, MAPIT provides override 
access to internal definitions of pen assignments, line type and width 
assignments, and plot border and lat/long grids assignments via the pen 
definition file.  The standard definitions are outlined in the default file 
std.pen shown below. Change a copy and invoke MAPIT with the 
command line calling parameter /pendefinition=my_file to customize 
your plotting operations.
The standard pen color assignments given by The HP-GL/2 Reference 
Guide are as follows.  They may not be reflected in your plotting 
hardware/software implementation.  Certainly if you have a real pen 
plotter with physical pens, you are free to put whatever colors you 
desire in whatever holders.

Pen
Color

Pen
Color
0
white

4
yellow
1
black

5
blue
2
red

6
magenta
3
green

7
cyan


; Std.pen  -  This file reflects the default internal HP-GL/2 pen plotting
;             settings of MAPIT.  Copy and change to your liking invoking
; with:
;         MAPIT /pendefinition=file_name.pen

; Video Color is the index into this table meaning that the MAPIT layer
; (color) determines the pen, width, and line type according to this table
; when making HP-GL/2 plots.

; MAPIT doesn't allow reassigning the default color associated with pens. 
; If pen 2 defaults to red on your output device, that is the color you
; are stuck with.  Sorry, no robin's egg blue.

; 0.1 mm is supposed to be narrowest width.  0 may be narrower on some
; devices.

; Some devices support 8 pens.  MAPIT allows 16.

; Line type 0 is a solid line.  Types 1 - 8 are variously dashed and are
; device dependent.

; Video Color  Pen #   Width in mm.   Line type   Video to pen color

        0       0       0               0       ; black to black (white)
        1       5       0               0       ; blue to blue
        2       3       0               0       ; green to green
        3       7       0               0       ; cyan to cyan
        4       2       0               0       ; red to red
        5       6       0               0       ; magenta to magenta
        6       4       0               0       ; brown to yellow
        7       1       0               0       ; white to black
        8       1       0               0       ; gray to black
        9       5       0               0       ; light blue to blue
        10      3       0               0       ; light green to green
        11      7       0               0       ; light cyan to cyan
        12      2       0               0       ; light red to red
        13      6       0               0       ; light magenta to magenta
        14      4       0               0       ; yellow to yellow
        15      1       0               0       ; bright white to black


;  The plotting characteristics of MAPIT's lat/long grid and print borders
;  can be specified independently of the standard assignments in the above
;  table for raster devices.

        gridpen=1       ; Specifies pen color only.
        gridwidth=0             
        GridType=5

        borderpen=1     ; Specifies pen color only.
        borderwidth=0.5
        bordertype=0

APPENDIX E - STANDARD LAT/LON NOTATION
MAPIT, MP1TOMP3, GARTODBF, and other MAPIT utilities use the 
standard lat/lon notation defined below, basically a latitude followed by 
a longitude in free or fixed format.
Fixed Latitude Formats:
DDMM.mmm
2316N
DDMMSS.sss
133947.6642 S
Fixed Longitude Formats:
DDDMM.mmm
12318.002
DDDMMSS.sss
-0042200
Free Formats:
[D]DD.ddd
42.667
[D]DD:MM.mmm
101:40 W
[D]DD:MM:SS.sss
S  16:0:3.5
Note: any number of places to the right of the decimal may be used. The 
numeric string may be preceded by an option Indicator I or - or followed 
by an I. See definitions below.
Fixed formats refer not to character positions on a line, but to the 
relationship of a part of a token with its starting character.  (A fixed 
format of 4 characters means that a particular part of  a latitude must 
be four characters wide, not that it must be the fourth character in the 
line.)
In those cases in which input is taken from a text file (MP1TOMP3) a 
latitude/longitude pair is expected on each line.  In fact, the pairs may 
be given in reverse order (longitude first) if that fact is unambiguously 
apparent and in a number of different formats.  The latitude/longitude 
pair can be placed anywhere on any given line as long as they appear as 
the first two non-blank tokens.

I
-
Indicator.  'N' or 'S' for latitude.  'E' or 'W' for longitude. 
Case insensitive.  Indicators are optional and may be 
preceded and/or followed by optional white space (blank 
and tab characters). Indicators are themselves optional and 
may precede or follow a number but may not both precede 
and follow the same number. (Coordinates of the form 
N12E34 are legal, however, because the second indicator, 
'E', acts as a separator and is interpreted as preceding the 
second number.
-
-
The minus sign may be used to indicate either 'S' or 'W'. If 
used, it must always precede and never follow the number it 
modifies.  Whereas indicators imply latitude or longitude, 
the minus sign implies neither and may not be used in 
combination with an indicator.
D
-
Degrees.
M
-
Minutes.
S

Seconds.
;
-
The comment character causes all following characters on 
the line to be ignored.  If placed first, the line is as if it 
didn't exist thus preserving the continuity of a 
multisegmented line.
If no indicator or no fixed format describes or implies which of the pair 
is the latitude and which the longitude, latitude is assumed to be first.  
Inconsistent indicators or fixed formats generate error messages.
N pairs of coordinates, each on a line of a file, yield n - 1 line segments.  
Lines are terminated by one or more blank input lines.  (See ';' above. 
Actual creation of a line takes place in MP1TOMP3.)  Thus 100 points 
with a blank line between the 10th and 11th points will yield two lines 
in a .MP1 file, the first with 9 segments and the second with 89. 
Terrible Data Examples:

;  From file special.pt
39.807655 -91.049645 
N3948.4831 W09102.9837
3948.5255NW09102.9713
3948.5390N W09103.0006
3948.5275N 09103.0002W
N  3948.5422W  09103.0565
N 3948.5472 09103.1256 W
N 3948.5275 W 09103.1252
3948.5005 -09103.1128
3948.4767-09103.0336
N39:48.4774 W091:03.0336
39:48.0034N 091:02.9576W
39:46.9837 N  091:03.9729  W
N39:46:51.774 -91:03:53.652	 ;N3946.8629 W09103.8942
394658.734 -0910359.832 	; N3946.9789 W09103.9972

INDEX

<Enter>, 7
<Esc>, 6
<Tab>, 7, 27
Arrow Keys, 6
City, txt_offset, 15
Clock Reset, GPS, 83
Color numbers, 12, 40
COM Pin Connections, 87
Database, 30, 32
dBASE Editor, 22, 38
dBASE File Format, GPS, 85
Definition File
GEOCODE, 59
GEOTOENT, 67
GEOTOMP1, 73
pen, 112
SIMULATE, 98
Distance, 27, 29
E_Type, 22
Edit DBF Entities, 38
Extended Files, 41
Features, 49, 108
Features Display, 49
FIGEDIT, 54
File Names and Conventions, 
50
Fonts, 45
Fracture Zones, 50
Gazetteer, 32
GEOCODE, 58
Geocoding, 11
Geosynchronous, 101
GEOTOENT, 66
GEOTOMP1, 72
Goose.sim, 104
GPS, 80
GPS Markers, 35
Great Circles, 8, 27, 29, 61, 72, 
99
Help, DOS command line, 9
HP-GL/2, 5, 33, 112
Lat/Lon, Standard Notation, 
114
Layers, 39, 109
Line of Sight, 29
Magnetic Lineations, 50
MAPIT
auxiliary files, 12
command line, 19
computer requirements, 2
copy, 48
gotcha's, 16
problems and solutions, 16
tips, 18
tools, 27
utilities, 8
Maps, making, 4
Marker Trails, 36
Mercator, 27
mktime() function, 100
Mouse
installing in W3.1, 4
left button, 7
use, 5
MP1TOMP3, 89
NMEA 0183, 35, 87, 93
NMETOMP1, 91
Orbits.sim, 106
PCX, 5, 34, 37
Period, 101
Pins, sticking into a map, 9
Plate Boundaries, 50
Plotting, 5, 33
Position Menu, 7, 26
Private Files, 41
Prune, 84, 91
Regions, 52
Register PCX, 37
Rhumb, 27, 72, 99
Scale, 25, 50, 56
Scan Table, 10, 20
Scatter Diagrams, 15
Script File, SIMULATE, 98
SET TZ, 2
Sidereal Day, 101
SIMULATE, 97
Standard World, 26
Status
Bottom Status Line, 6
Header Status Field, 6
Style
new style entities, 38
old style entities, 41
old vs. new, 13
Tiles, 23
Time Zone, 2
Tracking, 11
Type Face, 45
USAir.sim, 105
Windows 3.1, 3
Windows 95, 3
Xline, 44
Zoom, 24
