2

I'm trying to realign layers in QGIS. As you can see here, the "background" light-blue layer is not aligned with the top layers. I'm working with pgAdmin III and importing PostGIS Layers in QGIS. My SRID is 32632. I tried almost everything but had no luck. Do you have any ideas?

background layers

Here are my layers.

Layers image

3
  • A bit more information is needed: Can you measure the offset in metres? And in what CRS are your layers: all EPSG:32632, or also lat/lon? You might get such an offset if you have older data in Gauss-Krüger with potsdam datum.
    – AndreJ
    Feb 16, 2013 at 8:28
  • Hi Andre, so the 4 layers in the image were given to me. When I imported them via "Add PostGIS Layers" I noticed that "background" layer had SRID set to 0. pgAdmin said the same thing. I fixed this in pgAdmin as it now says 32632 in the QGIS "Add PostGIS Layers" dialog box (just like the other layers), but apparently this did'nt solve anything. When I explore those tables they all contain exadecimal values (no Lat/Lon). I also have other 2 layers representing phone calls and SMSs as points consisting of lan/lon values from tables I created, but I don't think this is the problem. Am I right? Feb 16, 2013 at 13:06
  • The offset is about 220 metres. Feb 16, 2013 at 13:08

1 Answer 1

3

With an offset of around 200 metres, it looks like a missing data shift.

Your target SRS is exactly WGS84, that is +towgs84=0,0,0,0,0,0,0

If I create a raster grid with ED50 UTM 32 EPSG:23032, it is shifted 200m to the south and 80m to the west to the WGS84 UTM 32 grid. The shift parameter of ED50 is +towgs84=-87,-98,-121,0,0,0,0

To see which of your layers is right, you can change the project SRS to EPSG:3857, install open layers plugin, load Google or Openstreetmap background and see which layers are well aligned to that.

Most probably the false layers must be assigned to EPSG:23032. Please do not reproject the data to EPSG:23032, because this will change the coordinates, but will not shift the data. Instead you have to assign that CRS.

On-the-fly-transformation should be switched on.


EDIT

If the background data is from istat.it, it will most probably be in ED50-UTM32N, according to this document. Here is a small example of the border data in right (green) and wrong (red) CRS: Borders in WGS84+ED50 UTM32

9
  • So Andre, in my application I have records such as: INSERT INTO Call VALUES(..., ST_buffer(ST_GeomFromEWKT('srid=32632;POINT(538669,5016683)'), ...)); which store positions of calls and messages. As you can see, I set CRS to 32632 because the tables given to me had that CRS set (apart from "background", as I explained above). If I change CRS as you suggested wouldn't I mess things up? Unfortunately I still feel unconfortable within this field. As to the coordinates of a point, Google Maps tells me goo.gl/LN1kW (see address for coords) and it corresponds to QGIS: 539388,5017988 Feb 17, 2013 at 18:59
  • So 'background' Layer is displaced from the others. What coordinates do you read for the same crossing in the displaced layer? How did you import the background layer?
    – AndreJ
    Feb 18, 2013 at 7:50
  • I read 539388,5017988, so they're the same. As of the borders, yes, they're stored as Istat codes. I tried both adding a PostGIS layer, and exporting tables as .shp from pgAdmin and then importing them in QGIS, but nothing changes: "background" remains displaced with respect to the other layers.. Feb 18, 2013 at 10:51
  • If you download the background data directly from istat.it/it/archivio/44523, you get shapefiles which identify as EPSG:23032, ED50-UTM32N. What happens if you rightclick on the missplaced "Background" layer in table of content, and "Set CRS for layer" to EPSG:23032?
    – AndreJ
    Feb 18, 2013 at 11:00
  • I'm going to try it right now, but the project's CRS must be set to which CRS? Feb 18, 2013 at 11:05

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.