# GPS to GIS

# Pathfinder Office to ArcINFO

**(Using Pathfinder Office v 2.90) Original Document from Ken Chamberlin
(USFS) and modified for Alaskan Users by Joel Cusick**

Trimble GPS files can be imported into ArcINFO using the following
methods. Both method preserve data base information entered in the field
using the data dictionary:

> **Method 1: Trimble generated .shp files to ArcINFO**
>
> Export differentially corrected (.cor) files to ArcView (.shp, .shx,
> and .dbf) files using Pathfinder Office (PFO). Then use ArcView
> shapearc command to convert to an ArcINFO coverage.
>
> **Method 2: Trimble generated .aml files to ArcINFO**
>
> Export ArcINFO (.aml, .aa, pts, .pa, .gen) files using PFO. Then using
> a text editor correct pathing in the .aml file. At the ArcView command
> line execute the .aml file.

# Method 1: Trimble PFO generated shape files to ArcINFO

Pathfinder Office (PFO) procedures:

In PFO, **Utilities**, **export**, set up an export:

**Input Files:** Select the .cor file(s) that you want to export

**Output Folder:** select path

Export set up: (this should only have to be done once.)

**Choose an Export Set Up:** Use the pull down menu to select: Sample of
ArcView Shapefile Setup

Select **New**, then name the Setup Name to your config name: eg: "DD
ArcView NAD 27 Shapefile setup" (Use your datum and coordinate system in
the name, as shown above.) The export format selected under the Choose
and Export Set up will be copied to the set up just created.

Properties tabs will now be available. The properties of the set up
should be modified for your specific GIS settings.

The critical tabs are:

-   **Coordinate system**: Select Latitude/Longitude

-   **Datum:** NADCON (Alaska) DO NOT SELECT NAD27 ALASKA!

-   **Altitude measured from:** Mean Sea Level (MSL)

-   **Geoid:** Select Geoid 99(Alaska)

-   **Altitude Units:** Preference is feet.

-   **Export coordinates as:** XY only.

-   **Output:** (less critical, for file management only) Set to
    "Combine all input files and output to the project export folder."

Select **OK**

Then **OK** again to run export.

**ArcInfo Command line procedures:**

Before starting, set the precision in the work environment to Double.
Here is the syntax: PRECISION DOUBLE DOUBLE.

POINT FEATURE:

Usage:

**SHAPEARC** \<in_shape_file\> \<out_cover\> {out_subclass}
{DEFAULT\|DEFINE}

Example:

Arc: shapearc nxwd_pt nxwd_pt

2 Type 1 (POINT) shape records in /FSFILES/OFFICE/GIS/WMO/PAM/NXWD_PT.

LINE (ARC) FEATURE:

Usage:

**SHAPEARC** \<in_shape_file\> \<out_cover\> {out_subclass}
{DEFAULT\|DEFINE}

Example:

Arc: shapearc nxwd_lin nxwd_ln

3 Type 3 (ARC) shape records in /FSFILES/OFFICE/GIS/WMO/PAM/NXWD_LIN.

AREA (POLYGON) FEATURE:

Usage:

**SHAPEARC** \<in_shape_file\> \<out_cover\> {out_subclass}
{DEFAULT\|DEFINE}

**BUILD** \<cover\> {POLY \| LINE \| POINT \| NODE \| ANNO.\<subclass\>}

**REGIONPOLY** \<in_cover\> \<out_cover\> \<in_subclass\> \<out_table\>

Example:

Arc: shapearc bald_bdy bald_bdy bald_tag DEFAULT

1 Type 5 (POLYGON) shape records in /FSFILES/OFFICE/GIS/WMO/PAM

/BALD_BDY.

2 unique nodes built for bald_bdy

1 preliminary region(s) appended to subclass bald_tag.

Arc: build

Usage: BUILD \<cover\> {POLY \| LINE \| POINT \| NODE \| ANNO.\<subcla

ss\>}

Arc: build bald_bdy POLY

Checking regions\...

Building polygons\...

Re-building AAT\...

Arc: regionpoly bald_bdy baldy bald_tag bald_tab

# Method 2: Trimble generated .aml files to ArcINFO

Pathfinder Office (PFO) procedures:

In PFO, Utilities, export, set up an export:

Input Files: Select the .cor file(s) that you want to export

Output Folder: select path

Export set up: (this should only have to be done once.)

**Choose an Export Set Up:** Use the pull down menu to select: Sample of
Arc/INFO (NT) Generate Setup

Select **New**, then name the Setup Name to your config name: eg: "DD
NAD 27 Arc/INFO Generate Setup" (Use the datum and Coordinate system in
the name as shown above.) The export format selected under the Choose
and Export Set up will be copied to the set up just created.

Properties tabs will now be available. The properties of the set up
should be modified for your specific GIS settings.

The critical tabs are:

-   **Coordinate system**: Select Use Export Coordinate System then set
    up for your GIS Coordinate System : Decimal Degrees NADCON Alaska 27

-   **Datum:** NADCON (Alaska) DO NOT SELECT NAD27 ALASKA!

-   **Altitude measured from:** Mean Sea Level (MSL)

-   **Geoid:** Select Geoid 99(Alaska)

-   **Altitude Units:** Preference is feet.

-   **Export coordinates as:** XY only.

-   **Output:** (less critical, for file management only) Set to
    "Combine all input files and output to the project export folder."

Select **OK**

Then **OK** again to run export.

ArcInfo Command line procedures:

Before starting, set the precision in the work environment to Double.
Here is the syntax: PRECISION DOUBLE DOUBLE.

1.  The generate export will create 3 files each for each feature type
    in your data dictionary, for example *campsite.aml, campsite.pa,
    campsite.pts*, if the feature is a point feature. For a line feature
    the files will for example *trail.aml, trail.aa*, and *trail.gen*.
    Poly features will have the same file suffixes as lines.

2.  Once you have these 3 files for each feature move them from the PC
    onto the Unix server where Arc Info resides.

3.  Start up Arc Info and at the Arc prompt type for example &r
    campsite.aml or whatever your .aml file was called. This .aml will
    create an Arc Info coverage.

July 2001 -- Original version -- Ken Chamberlin
<http://www.fs.fed.us/database/gps/>

Changes: March 2002:

(please email and corrections or comments to
[joel_cusick@nps.gov](mailto:kchamberlain@fs.fed.us) Thanks!)

**APPENDIX OF ARC COMMANDS USED**

**PRECISION \<SINGLE \| DOUBLE\> {HIGHEST \| LOWEST \| SINGLE \|
DOUBLE}**

Arguments

\<SINGLE \| DOUBLE\> - the creation rule which specifies the coordinate
precision of new coverages created from scratch (i.e., those which are
created without any other input coverage).

SINGLE - all new coverages will be created with single-coordinate
precision. This is the established setting when ARC/INFO begins
execution.

DOUBLE - new coverages will be created with double-coordinate precision.

{HIGHEST \| LOWEST \| SINGLE \| DOUBLE} - the processing rule which
specifies the coordinate precision of coverages produced by commands
which take one or more coverages as input (such as BUFFER and MAPJOIN).

HIGHEST - the coordinate precision of the output coverage will be the
same precision as the input coverage which has the highest precision.
This is the default option if no {HIGHEST \| LOWEST \| SINGLE \| DOUBLE}
is specified.

LOWEST - the coordinate precision of the output coverage will be the
same precision as the input coverage which has the lowest precision.

SINGLE - the coordinate precision of the output coverage will always be
single regardless of the precision of the input coverages.

DOUBLE - the coordinate precision of the output coverage will always be
double regardless of the precision of the input coverages.

**SHAPEARC** \<in_shape_file\> \<out_cover\> {out_subclass}
{DEFAULT\|DEFINE}

Arguments

\<in_shape_file\> \<out_cover\> {out_subclass} - specifies that shape
records from a shape data file will be written to a coverage.

\<in_shape_file\> - the name of the shape file which contains the
features to be written the coverage than will be created.

\<out_cover\> - the coverage to contain feature attributes read from the
shape data file.

{out_subclass} - the coverage feature subclass to which attributes will
be written.

{DEFAULT \| DEFINE} - optionally enter into a dialog to define the
field-to-item data type conversion.

DEFAULT - transfers the DBASE file containing shapefile attributes to an
INFO file using the default data type mappings.

DEFINE - enters a dialog to explicitly define the field-to-item data
type mapping.

Notes

The concept of shapefiles was adopted in ArcView version 2 to allow
limited editing of ArcView theme information.

Shapefiles store only one of the following feature types: line, point,
multipoint or polygon. Polygon features may overlap and are converted to
regions. Lines can optionally be converted as routes and sections.

The coordinate precision of the output coverage is determined by the
current processing rule as set by the PRECISION command. If Precision
has not yet been established during the current ARC/INFO session, then
the processing rule rule will be HIGHEST. This means that SHAPEARC will
create an output coverage in SINGLE precision because shapefiles are
assumed to be SINGLE precision.

Shape polygon features are converted into REGIONS because there is no
way to insure that polygon shape features do not overlap. If polygon
topology is required the REGIONPOLY command can be used.

If no out_subclass is specified when converting polygon features
attributes will be added to the out_cover AAT. The following procedure
will finish the conversion to a REGIONS coverage; run REGIONCLASS on the
coverage AAT using the COVER-ID as the region item and then run CLEAN on
the coverage. If an out_subclass is specified polygon attributes will be
added to the subclassPAT. In this case, run CLEAN only.

Line features can be converted into a ROUTE coverage by indicating a
out_subclass. Attributes will be added to the coverage subclass RAT.

If the DEFINE option is given, SHAPEARC will enter a subdialog. Each
line in the dialog is entered in the following form.

**REGIONCLASS** \<in_cover\> {out_cover} \<out_subclass\>
{in_region_item} {out_region_item} {selection \_file} {MULTIRING \|
SINGLERING}

Arguments

\<in_cover\> - the input coverage with the arcs from which the
preliminary regions are created.

{out_cover} - the coverage to contain the preliminary regions. If
{out_cover} is not specified, the preliminary regions are created in the
\<in_cover\>.

\<out_subclass\> - the name of the region subclass to be created or
appended to.

{in_region_item} - item in the AAT of \<in_cover\> whose values are used
to group arcs into preliminary regions. The item is appended to the
region PATsubclass. If not specified, each group of arcs becomes a
preliminary region.

{out_region_item} - optional output name for the {in_region_item}, to be
used in the region PATsubclass instead of the {in_region_item} name.

{selection_file} - the name of a selection file that can be used to
specify a subset of the arcs to be grouped into preliminary regions.

{MULTIRING \| SINGLERING} - whether regions will be created from
multiple rings of arcs or from single rings of arcs. The default
MULTIRING option creates regions from multiple rings of arcs whose
values for in_region_item are identical. Each ring of arcs becomes a
region with the SINGLERING option.

Notes

The \<in_cover\> must have an AAT in order to specify the
{in_region_item}.

To create fully built regions from the preliminary regions, use CLEAN
(or BUILD) with the POLY option on the {out_cover}.

The arcs in each group, determined by the unique value of
{in_region_item}, must form closed loops. When {in_region_item} is not
specified, each arc in the \<in_cover\> becomes a preliminary region and
should form a closed loop.

Depending on {in_region_item} arcs may be reused in any grouping with
repeated use of REGIONCLASS. This way, duplicate or overlapping
preliminary regions may be appended to the same subclass or to different
subclasses.

{out_region_item} may be the same as the {in_region_item}.

If the selection file has no arcs selected, REGIONCLASS will consider
all arcs as selected. If the selection file has everything selected,
everything is also selected for REGIONCLASS.

If a selection file is not specified, all arcs are selected and
available for grouping into regions. However, arcs in the \<in_cover\>
that are already part of one or more fully structured regions are not
available for appending to the subclass because they may not form closed
rings when grouped.

If {out_region_item} already exists in the subclass PAT, the specified
{out_region_item} must have the same item definition as the existing
one.

Region subclass names may be from 1 to 13 characters long and cannot
start with a numeric character.

When preliminary regions are appended to a subclass, the polygon
topology is removed from the {out_cover} (or \<in_cover\>), because it
needs to be rebuilt.

REGIONCLASS does not compute the area of the preliminary regions, but
sets the AREA values in the PATsubclass to zero and computes the
PERIMETER. BUILD with the POLY option will calculate the AREA values.

Discussion

The items RINGS_OK and RINGS_NOK are created in the PATsubclass. The
values for RINGS_OK indicate the number of closed loops or rings in the
preliminary region; the values for RINGS_NOK indicate the number of
unclosed rings.

Unclosed rings are included in the preliminary regions and will be used
in BUILD and CLEAN. In some cases, correct regions may result after
structuring, for example, rings which overshoot.

The User-ID in PATsubclass is assigned sequentially, beginning at one,
as preliminary regions accumulate in the subclass. The User-ID does not
change when you use BUILD or CLEAN.

{out_region_item} may be the \<out_subclass\>-ID. In this case, the
value of the {in_region_item} overwrites the generated User-ID.

REGIONCLASS structures the arcs into closed rings. The relationship
between a region and its boundary arcs is maintained through the region
PAL file. The relationship between a region and its polygons is
maintained through the RXP (region cross reference) file. REGIONCLASS
constructs the initial region PAL file and creates an empty RXP file.
BUILD or CLEAN then creates region topology by building the complete RXP
file.

After REGIONCLASS, the cross reference file (RXP) is empty. Now use
BUILD or CLEAN to structure the regions.

Structuring preliminary regions with BUILD or CLEAN replaces duplicate
arcs with single arcs and places nodes where two arcs cross.

Preliminary regions on the left are comprised of two arcs that partially
overlap. The BUILD or CLEAN operation replaces the overlapping arcs with
a single arc and creates nodes where two arcs cross. The output coverage
will contain five arcs.

A one-to-many arc-region relationship is directly maintained through the
region PAL file and indirectly through the region-polygon cross
reference file.

New regions can be added with GENERATE. GENERATE lines, then BUILD LINE,
REGIONCLASS and CLEAN POLY in that order. The new regions can go into an
existing subclass or a new one.

An empty subclass can be created with REGIONCLASS. The empty subclass is
preserved after BUILD or CLEAN.

**CLEAN** \<in_cover\> {out_cover} {dangle_length} {fuzzy_tolerance}
{POLY \| LINE}

Arguments

\<in_cover\> - the coverage to be cleaned.

{out_cover} - the coverage created by CLEAN. If the \<in_cover\> and the
{out_cover} have the same name, the \<in_cover\> will be replaced. By
default, the \<in_cover\> is replaced.

{dangle_length} - the minimum length allowed for dangling arcs in the
\<out_cover\>. A dangling arc is an arc which has the same polygon
internal number on its left and right sides and ends at a dangling node.
Dangling arcs are removed for both the POLY and LINE options. A value of
-1 will be accepted and will act like a \`#\' (the default value). All
other negative values will not be accepted. If the {dangle_length} is
not provided, the {dangle_length} is read from the coverage TOL file if
the TOL file exists. Otherwise, {dangle_length} is set to 0 (the
default).

{fuzzy_tolerance} - the minimum distance between arc vertices in the
{out_cover}. A value of -1 will be accepted and will act like a \`#\'
(the default value). All other negative values will not be accepted. The
default is determined in this order.

1\) The tolerance is read from the coverage TOL file, if the TOL file
exists,

2\) If no TOL file exists and the width of the BND is between 1 and 100,
the tolerance is set to 0.002.

3\) Otherwise, the tolerance is 1/10,000 of the width or height of the
BND, whichever is greater.

A fuzzy tolerance value of 0 will not be accepted by CLEAN.

{POLY \| LINE} - specifies whether to create polygon topology and a PAT
or arc-node topology and an AAT. POLY is the default option. If POLY is
used on a coverage which has an existing AAT, CLEAN will also
automatically rebuild the AAT.

**REGIONPOLY** \<in_cover\> \<out_cover\> \<in_subclass\> \<out_table\>

Arguments

\<in_cover\> - the coverage containing the region subclass to convert to
polygons.

\<out_cover\> - the polygon coverage to be created from the
\<in_subclass\>. The coverage may not already exist.

\<in_subclass\> - the region subclass of the \<in_cover\> that will be
converted into a polygon coverage.

\<out_table\> - the output INFO table that will contain polygon and
region information for the in\_ subclass.

Notes

REGIONPOLY creates a polygon coverage by performing a REGIONCLEAN on the
region coverage to eliminate unnecessary polygons. RESELECT is then used
to select only those polygons associated with the region subclass.
DROPFEATURES is used to drop region subclasses from the out_cover. If
the \<in_cover\> does not have label points, CREATELABELS is used to add
label points to the \<out_cover\>.

To perform the REGIONCLEAN the polygon user-ids of the \<out_cover\>
will be altered.

Attribute items of the \<in_cover\> \<in_subclass\> are maintained in
the \<out_cover\> polygon attribute table. Values of 0 indicate void
areas in which the \<in_cover\> \<in_subclass\> does not exist.

The polygon attribute table of the \<out_cover\> contains ONLY the
attributes of the FIRST region associated with each polygon.

REGIONPOLY creates an INFO data table by importing the region subclass
RXP file and joining it with the polygon attribute table of the
\<out_cover\>.

The output INFO table contains the following items:Item Definition
Description

POLY# 4,5,B polygon number

SUBCLASS# 4,5,B internal id of region associated with polygon

SUBCLASS-ID 4,5,B user id of region associated with polygon

The output INFO table can be used to relate the \<out_cover\> polygons
to the \<in_cover\> region subclass.

REGIONPOLY is an AML in the ARC directory under the default ATOOL
directory.

**BUILD** \<cover\> {POLY \| LINE \| POINT \| NODE \| ANNO.\<subclass\>}

Arguments

\<cover\> - the coverage to be built.

{POLY \| LINE \| POINT \| NODE \| ANNO.\<subclass\>} - the feature class
to be built.

POLY - defines polygon topology and creates a PAT. This is the default
option.LINE - creates an AAT for arcs.POINT - creates a PAT for label
points.NODE - creates an NAT for nodes.ANNO.\<subclass\> - creates a TAT
for the annotation subclass.