Make your own free website on
Free Tools for GIS Developers
  What's New
GIS Tools:
Other Tools:
  The Author
  These Pages

SHPTRANS: Shapefile Coordinate Transformation Utility

Download 1.1c (current) Setup Wizard / Source Kit / Command Line

"It works marvelously! I can't believe how fast it is!" - B.B. (not King)

SHPTRANS is a fast, high-precision NTv2 datum transformation and projection utility which reads and writes shapefiles. SHPTRANS is intended to complement, not replace, existing projection tools such as those within ArcView GIS 3.x and ArcGIS 8.x.

SHPTRANS is free, open source software. [View License] [Help Out]

Datum Support: SHPTRANS supports three datums / spheroids: NAD83 (GRS 1980 / WGS 1984), NAD27(Clarke 1866), and ATS77 (roughly, WGS 1972). If you want to transform between datums, a grid-shift file is required in NTv2 format. The Canadian NTv2 grid-shift file, used to transform between NAD27 and NAD83, is available for purchase from Natural Resources Canada. ESRI Canada has an agreement with NRCan, so that ESRI customers may obtain the grid-shift file for free.

There is a grid-shift file to transform between ATS77 and NAD83 for Atlantic Canada. This may be available from Nova Scotia Geomatics Centre, although I couldn't find it online. A much more detailed ATS77<->NAD83 grid-shift file covering only the province of New Brunswick is available from Service New Brunswick as part of NBGeoCalc. An updated grid-shift file is also available for PEI, and I understand the Nova Scotia high-res gridshift file is in the works.

If you have both the NAD27-NAD83 grid-shift file and an appropriate ATS77-NAD83 grid shift for your study area, SHPTRANS will convert in either direction between all three datums. If you have neither grid-shift file, you will not be able to convert between datums, but you can still use SHPTRANS to reproject without changing the datum.

Projection Support: SHPTRANS supports the following projections: UTM (tested for North America; intended to support all 60 zones in both hemispheres), MTM 3-degree (tested for Atlantic Canada; intended to also support Quebec), arbitrary TM (any TM projection with 0 as the latitude of origin); as well as the Double Stereographic projections used in New Brunswick and Prince Edward Island. The input and output coordinate system can be any of these projections, or lat/long decimal degrees. If a projection is specified, the map units are taken as metric by default. (However, with the latest development versions, you can specify other units such as kilometres, feet, or miles.)

This program was written for Win32. It includes a command line utility for use in batch conversions, and an ArcView 3.x extension to provide a graphical front-end.

Version 1.1 of the ArcView 3 extension did not work on newer versions of Windows (ME, 2000, and probably XP). Correcting this problem was the focus of the 1.1a release. In the event that the ArcView extension still does not work on some version of Win32, please try the command line version of the utility. The command line tool works on all known Win32 platforms.

Version 1.1b and later are developed and tested primarily on Windows XP, but should continue to work on other Win32 platforms. I'm not doing anything fancy or Windows XP - specific.

ArcGIS 8.1 Projection Engine: ArcGIS 8.1 does not require SHPTRANS in order to perform NTv2 datum conversions. The NTv2 capability, and the Double Stereographic projection, have been integrated into the core ArcGIS projection engine. This means that ArcGIS can not only reproject ahead of time like SHPTRANS does (saving the result to a new file), but can also transform and project GIS layers on the fly.

Future Development: So where does this leave SHPTRANS? ArcGIS's built in capabilities go beyond what the SHPTRANS GUI for ArcView could do, so there's no reason to port that extension to ArcGIS. However, SHPTRANS seems to be significantly faster than ArcGIS for NTv2 transformations at this point in time, and the command-line interface is very convenient for large batch jobs. Future work on the SHPTRANS command line tool might include having it use a .prj file if one is available, and on systems where ArcGIS is installed, it might integrate the projection engine to support a wider range of datums and projections. Future work might also involve supporting additional projection libraries such as PROJ.4. Help is welcomed in any of these areas. Logo