5

Perhaps someone could clear this up for me? I have a shapefile with the CRS Selected CRS (EPSG:29902, TM65 / Irish Grid)

I also have a number of XY points which take the CRS, Selected CRS (EPSG:4326, WGS84).

Although different CRS, both of the points map on to the shapefile perfectly.

However, when I wish to join these attributes by location I am unable to as they have different CRS, thus blank points.

When I try to make sure both CRS match, the shapefile and coordinates no longer match up.

I do this through layer properties > data > general function as detailed in many examples online.

Would anyone be able to tell me why the CRS align correctly when different, yet don't when the same?

Also how could I correct this to merge by location?

Edit - Note this is when both CRS are different

Same CRS

While this is when the CRS are the same e.g. (EPSG:29902)

DIFF

Is it the case that my XY values are long lat, while the shapefile is metres?

Edit Perhaps access to the data may help?

The shapefile was downloaded from the CSO

http://census.cso.ie/censusasp/saps/boundaries/ED_SA%20Disclaimer1.htm

the file being - 2013 Constituency boundaries:

These are some of the coordinates I'm working with.

 Long   Lat
-7.24   52.64
  • 1
    Which GIS software are you using? In general GIS software reproject data on the fly, so that different data with different CRS match up. To join by location, try to reproject one of your shapefile to match the other shapefile CRS. For example you can project the XY points (epsg 4326) and transform them in epsg 29902. In QGIS you can do that simply: just right click on the layer, choose save as and then choose a name and the new CSR for the shapefile – Vale Apr 15 '16 at 13:04
  • @Vale- Apologies I'm using QGIS. I re-project my long-lat coordinates to epsg 29902, however they no long appear on the .shp. Similar trend happens doing it the other way round. In both cases I'm unable to join by location. – Sean O'C Apr 15 '16 at 13:15
  • @sean-oc what do you mean when you say: "however they no long appear on the .shp" ? – Vale Apr 15 '16 at 13:16
  • @Vale Basically I have two files, a shapefile - map of Ireland (EPSG:29902, TM65 / Irish Grid) and a delimited text layer - lat and long coordinates, which I wish to place on the various polygons associated with the shapefile. various coordinates only match up with map of Ireland when the CRS are both 4326, and 29902 respectively. When I attempt to set both to 29902 my lat and long coordinates are moved to a completely new part. – Sean O'C Apr 15 '16 at 13:22
  • 3
    When setting CRS's, you're best to use the Save As... option and resave the layer with the new CRS. – Joseph Apr 15 '16 at 14:16
9

The delimited text file has no coordinate system information stored inside the file (as raster and shapefile usually have). It is therefore necessary to reproject the delimited text file to a new shapefile with the CRS of the other shapefile.

Please, DO NOT use Set Layer CRSor Define current projection for this task, but ONLY Save As ... for vector data and Raster -> Projections -> Warp for raster files to a different filenamne and the CRS of the other file. Then delete the delimited text layer to avoid confusion, and set on-the-fly-reprojection OFF.

If the data still aligns, the join will work. The reason for this is that the join is an external command, which does not know about on-the-fly reprojection and assigning a projection to a delimited text file.

BTW you should have downloaded the zip file to get the .prj file with the projection information of the shapefile. In my case, QGIS does not detect EPSG:29902, but creates a custom CRS with the same parameters. To avoid confusion, I saved the downloaded shapefile into EPSG:29902 explicitely, as well as the point file. As a result, "Carlow-Kilkenny" is added into a new name field in the attribute table of the points layer.

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.