I'm new to using geospatial data. I'm having trouble with pyproj getting back the correct longitude and latitude from a file with a different cooridinate system. I'm working with a file that has the Milwaukee city limits that is in State Plane coordinates NAD_1927_StatePlane_Wisconsin_South_FIPS_4803
and I want the WGS84
coordinates, which should be just the ordinary longitude and latitude. I want to convert this because it would be easier work with tools like folium that I'm using.
https://data.milwaukee.gov/dataset/corporate-boundary The first coordinates in the shp file are [2516440.160073474, 440481.9301029742]
It has the prj file:
PROJCS["NAD_1927_StatePlane_Wisconsin_South_FIPS_4803",
GEOGCS["GCS_North_American_1927",
DATUM["D_North_American_1927",
SPHEROID["Clarke_1866",6378206.4,294.9786982]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.017453292519943295]],
PROJECTION["Lambert_Conformal_Conic"],
PARAMETER["False_Easting",2000000.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",-90.0],
PARAMETER["Standard_Parallel_1",42.73333333333333],
PARAMETER["Standard_Parallel_2",44.06666666666667],
PARAMETER["Latitude_Of_Origin",42.0],
UNIT["Foot_US",0.30480060960121924]]
According to https://spatialreference.org this would have the code EPSG6948, but pyproj doesn't recognize that so I have build a custom string. After looking at documentation and examples I came up with the code:
import pyproj
from pyproj import Transformer
cust = "+proj=lcc +ellps=clrk66 +datum=NAD27 +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42.0 +lon_0=-90.0 +x_0=2000000.0 +y_0=0.0 +units=us-ft +no_defs"
t = Transformer.from_crs(cust, "WGS84")
x1,y1 = [2516440.160073474, 440481.9301029742]
lat, lon = t.transform(x1, y1)
print(lat, ", ", lon)
According to the site https://www.earthpoint.us/StatePlane.aspx this code should return the coordinates: Degrees Lat Long 43.1900328, -087.9451397
But the code prints out: 42.206953018562416 , -105.00939853775037 which is somewhere in Wyoming not Milwaukee Wisconsin. I've check over this a few times and can't see what I'm doing wrong. If anyone can help I would much appreciate it.