[GIS] Transform lat long to state plane coordinates

latitude longitudepyprojpythonstate-plane

I am trying to convert a set of lat long to state plane coordinates using python and pyproj. The location is Tennessee and this gave me information about the central meridian, lat origin and the proj type which are 35.2500,34.333 and lambert conformal conic respectively. When i use National Geodetic survey's tool to do the conversion for a sample long lat(-86.911,36.316), i get this result:

NORTH(Y) EAST(X) AREA

220358.963 518192.337 TN

When i try doing this by code, the results are different:
Here is the piece of code:

from pyproj import Proj

p = Proj(proj='lcc',zone=4100,lon_0='35.35w',lat_1='34.33n')
x,y = p(-86.911,36.316)
print x
print y

Result x,y is:
-4367838.06379
5640715.01601

I cannot understand where i am going wrong. Please advice.

Best Answer

From what I understand (not tested) 35.35 and 34.33 are the coordinates of the parallels (lat_1 and lat_2). The central meridian (lon_0) is -86. Also you might have a false easting of 600 000

As a remark, I've found (on spatialrefeence.org) the below definition for projection in Tennessee, which is slightly different from yours, but could help you fill your parameters :

+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs

or for NAD83

+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs

Note that the coordinates are in feet.

Related Question