Faking COGO

The following ARCEDIT routines are designed for users who simply want a quick way to convert COGO information to arcs and vice versa. Those who desire greater functionality should check out CSX, which is available commercially from Direct Data, P.O. Box 2308, Brenham, TX 77834-2308.


&r INCOGO [filename]

Adds arcs from an input file containing COGO information.


arguments

[filename] - the name of the input file.


notes
&r OUTCOGO [filename] {map_units} {out_units} {CONTROL}

Create meets-and-bounds descriptions from the currently selected arc(s).


arguments

[filename] - the name of the file to be written. If the file already exists, it will be overwritten.

{map_units} - the map units of the current coverage (METERS, FEET, or MILES, default METERS).

{out_units} - the map units of the output description (FEET, METERS, or MILES, default FEET).

{CONTROL} - specifies that a control point will be incorporated into the description. By default, no control point will be used.


notes


Input File Syntax

The input file must begin with the UNITS statement. The second and third tokens may be METERS, FEET, or MILES; the second token refers to the units of the coverage and the third token refers to the units of the input file.

For example, if the coverage coordinate system is in meters and the bearings are given in feet, the initial line of the file would be:

UNITS METERS FEET
Each new line or polygon must begin with a CP or SP statement, the second and third tokens denoting the X and Y coordinates of the benchmark. CP indicates a control point, in which case the next coordinate generated is the actual starting point; the next token must be /, and the remaining tokens constitute a standard "meets-and-bounds" entry (NORTH, SOUTH, EAST, and WEST statements are permitted). SP indicates that the coordinate given is the actual starting point.

For example, assuming the coordinates of the benchmark are 263915, 116611, the statement "COMMENCING AT THE SOUTHWEST CORNER OF SAID SECTION 33... THENCE N 82°01'18" E, 2206.63 FEET TO THE POINT OF BEGINNING," is encoded as:

CP 263915 116611 / N 82 1 18 E 2206.63
If the section corner were the actual starting point, the entry would be:

SP 263915 116611
Meets-and-bounds entries define the bearing and length of the line segment to be added at the current coordinate; the endpoint of the segment becomes the new current coordinate. The first token must be N or S. The next three tokens denote degrees, minutes, and seconds, respectively. The next token must be E or W. The final token denotes the length of the segment.

For example, the statement "THENCE S 47°38'33" W, 58.00 FEET" is encoded as:

S 47 38 33 W 58.00
Compass point bearings are defined by the NORTH, SOUTH, EAST, and WEST statements. The next token denotes the length of the segment.

For example, the statement "THENCE WEST 302.06 FEET" is encoded as:

WEST 302.06
A curve is defined by the CURVE statement. The second token indicates the radius of curvature. The next token must be L or R, specifying whether the curve is to the left or right. The next token indicates the length of the curve. The next three tokens give the degrees, minutes, and seconds, respectively, of the resulting central angle. The next token must be /, and the remaining tokens constitute a standard "meets-and-bounds" entry for the chord (NORTH, SOUTH, EAST, and WEST statements are permitted).

For example, the statement "...TO A POINT ON A 25.00 FOOT RADIUS CURVE TO THE LEFT; THENCE 39.27 FEET ALONG THE ARC OF SAID CURVE THROUGH A CENTRAL ANGLE OF 90°00'00";" with the CHORD and BEARING entries in the Curve Table being 35.36' and N 02°38'33" E, respectively, is encoded as:

CURVE 25 L 90 00 00 / N 2 38 33 E 35.36
CLOSE closes the parcel polygon with a line segment. There are no other tokens associated with this statement.

Lines not beginning with any of the above key tokens are ignored.

The following is a sample input file illustrating the required format:

UNITS METERS FEET
CP 0 0 / N 82 1 18 E 200
S 47 38 33 W 58
**** THIS LINE IS IGNORED ****
N 42 21 27 W 40
CURVE 25 L 90 00 00 / N 2 38 33 E 35.36
N 47 38 33 E 66.05
CURVE 25 L 90 00 00 / S 87 21 27 E 35.36
S 42 21 27 E 40
CLOSE
SP 0 0
NORTH 100
WEST 100
SOUTH 100
EAST 100

To download the install pack, click HERE. Unzip in a temporary directory and execute COGO.BAT.


EXAMPLE ONE: Importing CROSS.MB

CROSS.MB, included in the install pack, contains the following code:

UNITS METERS METERS
SP -25 125
CURVE 50 R 300 00 00 / EAST 50
SOUTH 75
CURVE 25 L 90 0 0 / S 45 0 0 E 35.355337
EAST 75
CURVE 50 R 300 00 00 / SOUTH 50
WEST 75
CURVE 25 L 90 0 0 / S 45 0 0 W 35.355337
SOUTH 75
CURVE 50 R 300 00 00 / WEST 50
NORTH 75
CURVE 25 L 90 0 0 / N 45 0 0 W 35.355337
WEST 75
CURVE 50 R 300 00 00 / NORTH 50
EAST 75
CURVE 25 L 90 0 0 / N 45 0 0 E 35.355337
NORTH 75
When INCOGO is executed in ARCEDIT with GRAIN set to 10, the results look like this:
: grain 10
: &r incogo cross.mb
Figure 1


EXAMPLE TWO: Exporting TEST

TEST.GEN, a GENERATE file included in the install pack, contains the following lines:

101
  0.00000       25.00000
 25.00000        0.00000
  0.00000      -25.00000
-25.00000        0.00000
  0.00000       25.00000
END
102
100.00000        0.00000
100.00000      100.00000
200.00000      100.00000
200.00000      100.00000
200.00000        0.00000
100.00000        0.00000
END
END
When a coverage is generated from the file, it looks like this:

Figure 2

When OUTCOGO is executed in ARCEDIT as follows:

: sel all
      2 element(s) now selected
: &r outcogo test.mb # # control
X-coordinate of control point: 200
Y-coordinate of control point: 100
The output file will contain the following text:

DESCRIPTION OF LINE ID 101
COMMENCING AT CONTROL POINT 200, 100
THENCE S 69 26' 38'' W, 700.79 FEET
TO THE POINT OF BEGINNING;
THENCE S 45 0' 0'' E, 116 FEET;
THENCE S 45 0' 0'' W, 116 FEET;
THENCE N 45 0' 0'' W, 116 FEET;
THENCE N 45 0' 0'' E, 116 FEET;
END
DESCRIPTION OF LINE ID 102
COMMENCING AT CONTROL POINT 200, 100
THENCE S 45 0' 0'' W, 463.98 FEET
TO THE POINT OF BEGINNING;
THENCE NORTH 328.08 FEET;
THENCE EAST 328.08 FEET;
[DUPLICATE POINT]
THENCE EAST 328.08 FEET;
THENCE SOUTH 328.08 FEET;
THENCE WEST 328.08 FEET;
END

Return to ArcTips page