# Converting SHP UTM to decimal lat/long

I am trying to compare a list of lat/long to a shapefile and see which points are in or out of the polygon. I have discovered my shapefile is seemingly giving points in a UTM format. Below are some of the points in it, they should be in and around Chico, Ca / Paradise , CA area .

How do I convert these in Python to lat long?

I have used this site to help get this far, but these have negative UTMs so I am confused.

``````(-132880.64330000058, 206974.35539999977),
(-133023.45749999955, 207491.3945000004),
(-133151.86959999986, 207716.73259999976)
(-133028.29309999943, 206412.34610000066),
(-133026.2402999997, 206414.30939999968),
(-133023.83819999918, 206416.1897)
``````
• Negative UTM values are valid (albeit out of zone) Commented Dec 28, 2018 at 23:13

Those aren't UTM, they look like California Albers. You should confirm with your data source which datum it is, but for this example let's assume it's NAD83 California Albers aka EPSG:3310.

To convert the points in Python you can use pyproj:

``````import pyproj

input = (-132880.64330000058, 206974.35539999977)

# set up the source projection, EPSG:3310 CA Albers
src_proj = pypoj.Proj(init='EPSG:3310')

# set up the target projection, EPSG:4326 WGS84 Geographic
dest_proj = pyproj.Proj(init='EPSG:4326')

lon,lat = pyproj.transform(src_proj, dest_proj, *input)
``````

Output:

``````>>> lon
-121.55409799333238
>>> lat
39.868818217594495
``````