# How do I convert State Plane coordinates to latitude-longitude?

Given a specific state plane coordinate system (whether NAD27 or NAD83), are there any resources to convert to latitude-longitude?

You'll need to reproject them to handle this conversion.

Proj.4 is a very standard library, used by a lot of software for reprojections.

One means of using this would be to use a utility like gdaltransform to do the transformation for you.

If you know the relevant EPSG codes or proj.4 parameters, both `gdaltransform` and proj.4's `cs2cs` (man page) are a good route, as Reed mentioned.

However, if you find yourself without this information, try spatialreference.org: it provides the parameters, and a web map for doing a lat/long to coordinate system transformation (example with IL state plane). As many of the state plane projections lack an EPSG code, use sr.org to find the proj.4 string, which `gdaltransform` understands. Here's an example converting from California State Plane Zone V to WGS84 lat/long pairs:

``````gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 \
+lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 \
+ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326
``````

After which, typing `1815241.25377291 557301.336190851` should return `-120 33.9999999999996`.

• This is right, but there is a typo, the -s_srs argument is given twice. The command should end in -t_srs: `gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326` Commented Mar 4, 2013 at 10:40
• @alvin, I've corrected the typo, thanks for the heads-up!
– scw
Commented Mar 4, 2013 at 20:05

Client or server? Language specific? One-off or bulk?

E.g. - for client side - with JavaScript - use OpenLayers + Proj4js.

0) Import all the appropriate libs

``````var lonlat = new OpenLayers.LonLat( ....)
``````

2) convert it

``````lonlat.transform( new OpenLayers.Projection("epsg:XXXX"), new OpenLayers.Projection("epsg:4326"));
``````

now lonlat.lon and lonlat.lat are in WGS84 lon/lat values.

• This works, but requires custom development. Not sure if the OP just wanted a usable tool. Commented Jul 22, 2010 at 19:28
• Right, I was just giving one example - client side, javascript, in code. OP didn't specify what he was looking for. Even the accepted answer is a library. There are also plenty of website that give you a simple form to manually enter the coords and lets you transform. Commented Jul 23, 2010 at 17:52

One free and extremely easy program is CorpsCon which will convert single points, batches of points in text files, and has a DLL that can be used from within programing environments like python.

2014-07-09: Updated link is http://www.agc.army.mil/Missions/Corpscon.aspx Clicking "Download CorpsCon" takes you to a page that looks a little odd and temporary but does work.

• Link is down. Do you of another like it? Commented Jul 9, 2014 at 20:17
• I am interested in using Corpscon dll in python is there documentation for this I did not see any at the corpscon site. Commented Mar 26, 2019 at 12:03
• Corpscon DLL Documentation Commented Mar 26, 2019 at 13:02
• A while back I started using pyproj for all transformations inside python at the end of the post listed below you can see how it can be done very easily in just a couple lines. dshimer.blogspot.com/2012/11/… Commented Mar 27, 2019 at 20:01

If you want to build it yourself, here's a document from the National Geodetic Survey that describes the transformations:

http://www.ngs.noaa.gov/PUBS_LIB/ManualNOSNGS5.pdf

You'll still need to know the specific parameters for the projection of interest.

Another option (but just for NAD83) is SPCS83 at http://www.ngs.noaa.gov/PC_PROD/SPCS83 . It runs in a command line window on a PC and converts either interactively or from a text file input. It includes source code if you really just want the algorithm. Source is Fortran, which may be a pain to use but is easy enough to decipher to get the algorithms out. Also see www.metzgerwillard.us/spcge/spcge.html which is a front end for SPCS83 in Google Earth.

Check out the free translation service. Upload your data and then specify the desired output coordinate system. By selecting the same format for output as the input you are effectively doing a reprojection.

The service is found at http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html

and is based on the FME product. There is also a free 14 day trial of this as well. www.safe.com

This site may help if your just looking to convert a single point. It didn't work for me but seems to be working for most areas.

http://www.earthpoint.us/stateplane.aspx