2

I have shape vector layer in ESPG:3859 CRS. I try to get layer crs

layer.crs.geographicCRSAuthId()

but method always returns EPSG:4326 no matters which CRS I chose in layer properties.

.qpj file for shape layer:

PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"],AUTHORITY["EPSG","3857"]]

.prj

PROJCS["WGS_84_Pseudo_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator"],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1],PARAMETER["standard_parallel_1",0.0]]
2
  • Can you insert the content of the .prj file?
    – AndreJ
    Commented Jun 14, 2014 at 7:39
  • Yep, I have edited original message. Commented Jun 14, 2014 at 10:01

1 Answer 1

1

You ask for the ID of the geographic CRS, and that is correctly EPSG:4326 in your case:

AUTHORITY["EPSG","4326"]]

as you find before the projection parameters.

Geographic CRS is lat/lon degrees, and the basis for the projection to Mercator, Transverse Mercator or whatever projection is used.

You may intend to ask for layer.crs.authid() instead.

3
  • I have mistaken, and add .qpj instead of .prj I have added them both. Any way shape was created in QGIS and .prj and.qpj also creted with QGIS. I have tried to export layer to geo json without any reprojection, and coordinates seems to be with 3857. Commented Jun 14, 2014 at 10:33
  • shouldn't it be layer.crs().authid() ? Commented Apr 27, 2017 at 2:14
  • @chenghopan probably yes, but I don't know the code around that line in detail.
    – AndreJ
    Commented Apr 27, 2017 at 5:25

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.