I received shapefiles exported from ArcGIS with EPSG:2227 as the CRS, which should be:

+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs

When I loaded it into QGIS, it says that it is a user defined CRS with the lat_1 and lat_2 mixed up and they have slightly different x_0 and y_0 values:

+proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs

Even when I reproject the .shp from the user CRS to EPSG:2227 and then load it back into QGIS, it says that it is a user-defined CRS.

Has anyone else seen this happen?

2 Answers 2


ARCGIS shapefiles don't contain EPSG codes, only WKT definitions, so QGIS has to make a guess which one from its own EPSG database fits. In your case, it does not succeed, maybe due to rounding errors for x_0 and y_0. In WKT, they are in feet (like the coordinates), while the proj4 string always uses metres.

You can open the .prj file from ARCGIS and compare it with that of an EPSG:2227 file made by QGIS.

You can savely use SET CRS for Layer to assign EPSG:2227 for the layer. The switched lat_1 and lat_2 has no effect on the coordinates, and the offset in x_0 and y_0 is too small to bother.

Alternatively, you can add a .qpj file, which includes the EPSG code.


I suggest that you replace the .prj of your shapefile (same name as the other files ) with the prj from Spatial Reference site, which seems to be correct. The difference in X and Y northing comes from the conversion in feet. Probably this is a rounding problem for the two WKT.

PROJCS["NAD83 / California zone 3 (ftUS)",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["standard_parallel_1",38.43333333333333],PARAMETER["standard_parallel_2",37.06666666666667],PARAMETER["latitude_of_origin",36.5],PARAMETER["central_meridian",-120.5],PARAMETER["false_easting",6561666.667],PARAMETER["false_northing",1640416.667],UNIT["Foot_US",0.30480060960121924]]

  • Thank you this could work but I am more interested in why it is happening than how to correct it. My data comes from an outside source and so they would need to impliment that change.
    – DLY
    Commented Aug 29, 2014 at 21:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.