CorpsCon is the one coordinate converter to use if you’re only interested in NAD datum and coordinate conversions in the US. But since it only covers the US, only NAD, and only a limited number of coordinate systems (geographic, SPCS, UTM and NGRS), another free coordinate converter is needed for the rest of the world.
GeoTrans is a free, open-source coordinate converter from the National GeoSpatial Intelligence Agency. It comes in both Windows and Unix versions, but I’ll only cover the Windows version here. There’s no installation program – just unzip the contents of the End-Users version into a folder. You’ll have to dig down a bit through the folders to find the program files: geotrans2.4 => geotrans2 => win => geotrans program files
There are actually three program files in this folder:
geotrans2.exe – Statically-linked executable
geotrans2d.exe – Dynamically linked executable (uses geotrans2.dll)
geotrans2.jar – A Java-based user interface for geotrans
I would recommend using the Java interface rather than the native Windows programs, because it contains a useful function not available in the Window versions. Start up the geotrans2.jar Java interface by double-clicking on it:
The default for coordinates is degrees/minutes/seconds, spaces between them, N/S/E/W tags for the latitude and longitude, one second of precision. You will probably want to change these; choose Options => Format from the menu, and set your desired coordinate format and accuracy:
For single point conversions, just set the upper and lower datums and coordinate systems to the appropriate ones for the input and output coordinates, then click on the appropriate Convert button. If additional parameters are required for a particular coordinate system (e.g. central meridian and standard parallels for Lambert Conformal Conic), input boxes will appear if you select that coordinate system:
GeoTrans will also do batch processing of coordinates in a text file, but it requires them to be in a fairly specific format, with a .dat file extensions and a special text header at the front. For the Windows versions, you have to go through some contortions to create a file header (see the lengthy users manual in the docs folder for more info), but the Java interface has a special function (File => Create File Header) that will generate a .dat file with the proper header; you can then cut and paste this header into the top of your data file, or conversely paste your data into the file with the header. Here’s a sample header for WGS84 geographic coordinates in Degree-Minute-Second format:
# ELLIPSOID: WE
END OF HEADER
0 0 0.0N, 0 0 0.0E, 0
File => Open imports the .dat file into the program, and you can then select your desired output coordinate format and output filename:
You’ll probably have to edit the output file to remove the text header, and change the file extension, in order to import it into a spreadsheet or other program.