NADCON Extension Documentation
The NADCON extension is an Avenue implementation of NOAA's NADCON
program; it transforms lat/long shapefiles from NAD27 to NAD83 and vice
versa. (Click HERE for
important information on ArcView and datums.)
NADCON.ZIP contains the following files:
NADCON.AVX | The extension
|
CONUS.DBF | Grid table for conterminous United States
|
CONUS.PRM | Parameter file for grid table
|
When the extension is installed, a "NADCON" menu item appears under the
"Theme" menu in a View.
Active theme(s) in a view will be converted. The coordinates of the
underlying data must be decimal degrees. When executed, NADCON asks
the user for:
- The grid file to use (see below on using other grid files)
- The conversion option ("NAD27 to NAD83" or "NAD83 to NAD27")
- Add transformed shapefiles to a View
- For each active theme, the output shapefile
WARNING: Large shapefiles (> 1Mb) may take a very long time to
process, and thus should be handled one at a time.
For more information, visit:
http://www.ngs.noaa.gov/PC_PROD/pc_prod.html
Or view the documentation at the download site:
ftp://ftp.ngs.noaa.gov/pub/pcsoft/nadcon/
Can I use other grid data?
Other grid files, such as Alaska or Hawaii, may be imported and used by
the extension. The program NADGRD is required. For example, to process
Hawaii:
- Download HAWAII.LAS, HAWAII.LOS, and NADGRD.EXE from the above FTP
site to a temporary directory.
- At an MS-DOS prompt, run NADGRD.
- Hit ENTER to choose binary input file format and enter "HAWAII"
as the input filename.
- Choose "A" as the output file format and hit ENTER to use the
default output filename.
- Hit ENTER to use the default values for minimum latitude, maximum
latitude, minimum longitude, and maximum longitude.
- In ArcView, load the NADCON extension, open a Script Editor window,
and enter the following code:
result = av.Run("NAD.GrdImport",{})
Compile and run it to create HAWAII.DBF and HAWAII.PRM from HAWAII.LOA
and HAWAII.LAA.
Can I improve the performance?
Performance of the NADCON extension is not improved by reducing the size
of the grid file to cover a single state. It might be possible to
package the grid data into a DLL, but I'll leave that as an exercise for
someone else!
What if my shapefiles aren't lat/long?
The Projector! extension, included in the ArcView samples, may be used
to convert shapefiles to lat/long. When unprojecting, ArcView assumes
the same datum as the projection. Thus the following script:
' UTM Zone 12, NAD27
p1=Point.Make(409023.093750,3901027.500000) ' -112, 35.25
p2=Point.Make(409303.250000,3928754.000000) ' -112, 35.5
p3=Point.Make(431977.937500,3928553.000000) ' -111.75, 35.5
p4=Point.Make(431767.812500,3900827.250000) ' -111.75, 35.25
theRect = Rect.MakeXY(-112,35.25,-111.75,35.5)
thePrj = TrnMerc.Make(theRect)
thePrj.SetCentralMeridian(-111)
thePrj.SetFalseEasting(500000)
thePrj.SetScale(0.9996)
thePrj.SetSpheroid(#SPHEROID_CLARKE1866)
theSpheroid = thePrj.GetSpheroid
theSpheroid.SetUnits(#UNITS_LINEAR_METERS)
up1 = p1.ReturnUnprojected(thePrj)
up2 = p2.ReturnUnprojected(thePrj)
up3 = p3.ReturnUnprojected(thePrj)
up4 = p4.ReturnUnprojected(thePrj)
will return the corner points of theRect.