I'm pretty new to QGIS and having a bit of trouble getting a text layer to match my shapefile. I'm trying to plot Canadian cities on a shapefile I have of Canada provinces.

The provinces shapefile is from: http://www5.statcan.gc.ca/access_acces/alternative_alternatif.action?l=eng&dispext=zip&teng=gpr_000b11a_e.zip&k=%20%20%20%2040968&loc=http://www12.statcan.gc.ca/census-recensement/2011/geo/bound-limit/files-fichiers/gpr_000b11a_e.zip

and the city data I got from: geocoder.ca under there free data downloads.

I tried reading a few articles on this and enabled on the fly CRS transformation. Looking at the provinces shapefile for the metadata it says:

In layer spatial reference system units : xMin,yMin -141.018,41.6814 : xMax,yMax -52.6194,83.1355 Layer Spatial Reference System: +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs

When I plotted the city file I choose to project it using WGS 84.

In layer spatial reference system units : xMin,yMin 0,0 : xMax,yMax 140.87,76.4935 Layer Spatial Reference System: +proj=longlat +datum=WGS84 +no_defs

and unfortunately my city data doesn't look plotted right. It looked mirrored and there is a point that is way off (guessing the data is wrong). Not sure why it would be mirrored though.


Since I don't have the rep yet to post images I uploaded an image of what my output looks to skydrive: http://sdrv.ms/YV2Whl

3 Answers 3


It looks to me like your longitude values are positive, which WGS84 interprets as East of the prime meridian. Points West of the prime meridian have negative longitudes. Confused yet?

It makes a bit more sense when you think of the longitudes as Eastings, so negative values are less east and positive values are more east. You should be able to fix your problem by multiplying your longitude values by -1, or by subtracting them from 0. Don't do this to your latitudes, though, or your coordinates will show up in the Southern Hemisphere!

I downloaded the point data and confirmed that the longitudes are positive.


I am assuming it may be that you do not have a header row (ie: x,y,name). You will want it to look like:


If you have not turned your text data (Canadian Cities) to a point shapefile, then you can do this in a two step process:

  1. Use the Add Delimited Text Layer plugin to change your text file to points
  2. When the new layer is loaded to QGIS, right click on the layer and choose Save As to make it a new shapefile

When you have the cities as a point shapefile you can do a Spatial Join (Vectors - Data Management Tools - Join attributes by location). This will allow you to get attribute information from your Province polygons, and write it to your cities shapefile attribute table.


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.