1

I'm using QGIS to do some data analysis and visualization for my newspaper and I'm a basic/novice user at all this.

I received some x,y coordinates from the City of Minneapolis that I can use to build some static graphical maps shaped like Minneapolis, because QGIS nicely plops the markers on my Minneapolis street centerline shapefile. They're using a county-level coordinate reference system that's not in the EPSG dataset.

But where it gets tricky is attempting to stick those coordinates on a basemap using Leaflet or similar solutions. Those interactive mapping tools seem to need latitude/longitude coordinates and choke on the projected coordinates.

So I've attempted to convert the coordinates to lat/longs. Here's a sample of what Minneapolis sent me in CSV format:

itm,utm

531044.956020000000000,147730.870020000000000 531044.956020000000000,147730.870020000000000 535730.695380000000000,186474.417610000000000 535730.695380000000000,186474.417610000000000 535730.695380000000000,186474.417610000000000 517443.467270000000000,190435.841829999000000

Pretty much every converter I've used -- including QSIG tools like the field calculator, export/add geometry columns, mmqgis, etc -- converts them and sticks the markers in a Minneapolis-shape in the Pacific Ocean off South America and spits this out in the attribute table:

itm,utm,XCOORD,YCOORD

531044.956020000000000,147730.870020000000000,-92.720933,1.336549 531044.956020000000000,147730.870020000000000,-92.720933,1.336549 535730.695380000000000,186474.417610000000000,-92.678761,1.687061 535730.695380000000000,186474.417610000000000,-92.678761,1.687061 535730.695380000000000,186474.417610000000000,-92.678761,1.687061 517443.467270000000000,190435.841829999000000,-92.843170,1.722921

Here are the details Minneapolis sent me about their Coordinate System (they don't have a converter either, I'm told):

The Spatial Reference ID # is Esri::103734.   

Projection: Lambert_Conformal_Conic

False_Easting: 500000.000000 
False_Northing: 100000.000000
Central_Meridian: -93.383333 
Standard_Parallel_1: 44.883333
Standard_Parallel_2: 45.133333 
Latitude_Of_Origin: 44.791111

Linear Unit: Foot_US (0.304801) 

Geographic Coordinate System:
GCS_NAD_1983_HARN_Adj_MN_Hennepin 
Angular Unit: Degree (0.017453292519943299) 
Prime Meridian: Greenwich (0.0) 
Datum: D_NAD_1983_HARN_Adj_MN_Hennepin
Spheroid: S_GRS_1980_Adj_MN_Hennepin 
Semimajor Axis: 6378418.9409999996
Semiminor Axis: 6357033.3098455509
Inverse Flattening: 298.2572221008827

The equivalent ProjCRS well-known text is:

PROJCS["NAD_1983_HARN_Adj_MN_Hennepin_Feet",GEOGCS["GCS_NAD_1983_HARN_Adj_MN_Hennepin",DATUM["D_NAD_1983_HARN_Adj_MN_Hennepin",SPHEROID["S_GRS_1980_Adj_MN_Hennepin",6378418.941,298.2572221008827]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",100000.0],PARAMETER["Central_Meridian",-93.38333333333334],PARAMETER["Standard_Parallel_1",44.88333333333333],PARAMETER["Standard_Parallel_2",45.13333333333333],PARAMETER["Latitude_Of_Origin",44.79111111111111],UNIT["Foot_US",0.3048006096012192],AUTHORITY["Esri",103734]]

and the GeoCRS WKT is:

GEOGCS["GCS_NAD_1983_HARN_Adj_MN_Hennepin",DATUM["D_NAD_1983_HARN_Adj_MN_Hennepin",SPHEROID["S_GRS_1980_Adj_MN_Hennepin",6378418.941,298.2572221008827]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]

QGIS reads the coordinates using NAD83(CSRS) / UTM zone 15N (though whenever I look at a UTM grid, it seems to place Minnesota in 15T)?

I'm looking for a long term solution to work with the coordinate system, since we're likely to receive more data like this from the city and Hennepin County.

  • OGR2OGR will project a shape file from UTM to geographic... but seeing as you're using QGIS set the project coordinate system to lat/lon and then right click on the layer and export using the current spatial reference. You will only get a problem if the points are unreferenced and stay where they are when you change coordinate systems - if this is the case then define the layers' spatial reference properly and QGIS will project-on-the-fly. – Michael Stimson Nov 19 '14 at 22:28
  • Is the projection UTM or Lambert? These are not the same. Can you try to define your projection in QGIS using the Lambert parameters in your question? – toms Nov 19 '14 at 23:45
  • 1
    It's not UTM, it's a county-based coordinate system specific to Minnesota (and Hennepin county). There's no EPSG code for it, just an Esri one. It's on a custom GeoCRS that uses a custom ellipsoid. Here's what you need to do. 1) unproject to the custom GeoCRS. 2) Redefine it as GeoCRS NAD 1983 HARN or NAD 1983 or WGS 1984. Do NOT try to apply a datum transformation until you complete step 2. – mkennedy Nov 19 '14 at 23:59
  • For the QGIS mavens here, OP needs to reproject data that's using a custom coordinate reference system to another custom CRS. How does he do that? – mkennedy Nov 20 '14 at 0:01
  • 2
    Not 100% sure it's still current, but creating a new custom CRS in QGIS (that isn't in its list) is covered at gis.stackexchange.com/questions/20566/… I don't know how you'd handle the transformation to an adjusted/custom datum though. – Chris W Nov 20 '14 at 1:43
2

You have to build the proj.4 string for the CRS from the parameters given:

+proj=lcc +lat_1=44.883333 +lat_2=45.133333 +lat_0=44.791111 +lon_0=-93.383333 +x_0=152400.000000 +y_0=30480.000000 +a=6378418.9409999996 +b=6357033.3098455509 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs

Note that x_0 and y_0 have to be in meters, while false Easting and Northing from the definition (and the WKT mkennedy added) are in units of the projection (us-ft).

With that, you can load the data as delimited text, with X set to the itm column and Y to the utm column. If you have not set QGIS to prompt for the CRS, rightclick on the layer -> Set CRS for layer

to get the right alignment:

enter image description here

I'm not sure why they have named the second column utm, the projection has nothing to do with Universal Tramnsverse Mercator.

0

Definetly a work-around, but I normally just save a duplicate of my file in a projection that uses lat/lon, visually make sure that my points are in the right location e.g. not the middle of the ocean, and then just use the $x & $y functions from the field calculator. You can also convert the CRS within the field calculator and get the same result, but it just gives me some peace of mind to see my points in the correct place after converting reference systems.

As AndreJ mentioned, you'll still need to make sure QGIS has all the info about the projection to in order convert it properly.

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.