1

I imported a raster into QGIS but it is not displaying correctly. The workspace projection is WGS84, Zone 39N, with units of meters. The raster is in the same projection, except in U.S. feet. The raster appears to be offset by the amount expected due to a units problem. QGIS doesn't have a compatible projection in feet, and I don't see any way to specify the horizontal units. I tried to create a custom projection, using the following specification from the projection of my raster:

PROJCS["WGS_1984_UTM_zone_39N_ft",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["false_easting",1640416.666666667],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",51.0],PARAMETER["scale_factor",0.9996],PARAMETER["latitude_of_origin",0.0],UNIT["Foot_US",0.3048006096012192]]

However, QGIS complains that this projection is identical to EPSG 32639, which is in meters, not feet.

Is there a way to specify the units or otherwise fix this issue?

3
  • shouldn't it be UNIT["US survey foot",0.3048006096012192, AUTHORITY["EPSG","9003"]], to replace UNIT["metre",1, AUTHORITY["EPSG","9001"]], in EPSG:32639 to make your custom CRS? I'm kind of surprised that there isn't an official EPSG code for WGS84 UTM North with units of feet, at least over the U.S.. Feb 27 '20 at 4:52
  • I tried a combination of your recommendations adding "US survey feet" and/or the AUTHORITY tag. Unfortunately, neither worked. That inspired me to try a different approach. I specified the projection using Proj4 parameters: +proj=utm +zone=39 +datum=WGS84 +units=m +no_defs This fixed the issue. I would be very interested in finding a solution using the WKT specification, so please let me know if you have other ideas. Zone 39N is over Kuwait. The raster was derived from a U.S.-based study, hence the use of feet. Thank you for your help!
    – clearwater
    Feb 27 '20 at 5:10
  • Correction, I used the following Proj4 parameters: +proj=utm +zone=39 +datum=WGS84 +units=ft +no_defs
    – clearwater
    Feb 27 '20 at 5:17
2

If +proj=utm +zone=39 +datum=WGS84 +units=ft +no_defs string solves the issue, you can ask projinfo about its WTK representation:

C:\>projinfo "+proj=utm +zone=39 +datum=WGS84 +units=ft +no_defs +type=crs"
PROJ.4 string:
+proj=utm +zone=39 +datum=WGS84 +units=ft +no_defs +type=crs

WKT2:2019 string:
PROJCRS["unknown",
    BASEGEOGCRS["unknown",
        DATUM["World Geodetic System 1984",
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1]],
            ID["EPSG",6326]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8901]]],
    CONVERSION["UTM zone 39N",
        METHOD["Transverse Mercator",
            ID["EPSG",9807]],
        PARAMETER["Latitude of natural origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8801]],
        PARAMETER["Longitude of natural origin",51,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["Scale factor at natural origin",0.9996,
            SCALEUNIT["unity",1],
            ID["EPSG",8805]],
        PARAMETER["False easting",500000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]],
        ID["EPSG",16039]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["foot",0.3048,
                ID["EPSG",9002]]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["foot",0.3048,
                ID["EPSG",9002]]]]

I am not testing it, but you can try also with:

projinfo -o WKT_ALL "+proj=utm +zone=39 +datum=WGS84 +units=ft +no_defs +type=crs"

And use the WKT1:GDAL, or WKT2:2015 representations.


If nothing work, you can create the custom CRS with the PROJ4 string and check in QGIS what is the WKT representation used for that CRS:

1

2
  • That's good info, thank you. I tried this WKT string, but QGIS rejected it as invalid. I then tried replacing the "unknown" fields with WGS 84, followed by updating the WKT string in my original post, replacing "foot_US" with "foot". QGIS rejected the latter two, complaining that it was identical to EPSG 32639.
    – clearwater
    Feb 27 '20 at 5:41
  • I have updatd my answer to include more options. Feb 27 '20 at 11:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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