Nog steeds is de projectie informatie die wordt meegeleverd met veel Open Source GIS tools niet de juiste. Althans het is wel de juiste volgens de epsg-database op basis waarvan de proj-definities worden gemaakt, maar in de praktijk werkt een andere definitie beter.
Gebruik van de standaard proj-definities heeft bijvoorbeeld tot gevolg dat er een verschuiving optreedt bij het laden van een shape-bestand welke je over GoogleMaps wilt draperen. Dit komt door het ‘herprojecteren’ van je data van epsg:28992 naar epsg:900913 (of epsg:3857 zoals die nu officieel heet).
Martijn van Exel schreef er al een blog over
Snelle oplossing: als je nog steeds een van de volgende proj definities ziet in qgis bij ‘Amersfoort / RD new’ (je mist dus het stukje ‘+towgs84’) :
+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defsa
of
+proj=sterea +lat_0=52.156161 +lon_0=5.387639 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs
Maak dan een ‘custom’ projectie definitie aan met een van de definitie:
+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812 +no_defs no_defs
Voorbeeld van een qgis project, met daarin GoogleMaps en een OpenStreetMap met daarin NIET de juiste definitie:
En nu een met daarin de juiste proj definitie gebruikt:
Opmerking: als je dit nog nooit gezien hebt, en toch de ‘verkeerde’ definitie gebruikt, dan komt dit waarschijnlijk omdat je nog nooit gebruik hebt gemaakt van de ‘on the fly projection’ van Qgis in combinatie met een andere projectie.
Leave a comment
op http://www.nationaalgeoregister.nl/ zijn ook veel datasets te vinden.
Weten jullie of je ook hard de EPSG-definitie kunt aanpassen in qgis? Het aanpassen van /usr/share/proj/epsg werkt niet (zoals gesuggereerd op http://blog.openstreetmap.nl/index.php/2012/01/21/rd/ ).
Hi Tammo Jan,
er zijn volgens mij twee dingen die je kunt doen:
1) een ‘custom crs’ aanmaken die je je eigen code geeft. En die dan voor je data gebruiken
2) of ‘harder’ is het aanpassen van de parameters in de sqlite database die QGIS gebruikt voor alle crs definities. Die zitten in een bestandje ‘qgis.db’ welke je met bijvoorbeeld de firefox extensie ‘sqlitemanager’ kunt openen en bewerken. Bij mij staat die in .qgis directory, op windows waarschijnlijk in je Settings directory in application data oid.
Ik meen me zelfs te herinneren dat QGIS er zelf een heeft, en dat je een persoonlijke kopie hebt. Bij mij zie ik er bijvoorbeeld ook mijn eigen ‘ruimtelijke bookmarks’ in staan.
Ik had dit probleem ook in R met een bestand (gem2014) van het CBS. Gelukkig zag ik hier op de site het antwoord van Richard.
Heb het met de onderstaande code opgelost: (moest nog wel een + zetten voor laatste no_defs)
proj4string(gem2014) <- "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812 +no_defs +no_defs"
Dag allemaal,
Omdat ik veel problemen ervaar met het feit dat Google Satellite en OSM zo’n 9 meter naar het westen en drie meter naar het noorden is verschoven ten opzichte van veel kaarten uit Pdok heb ik het bovenstaande geprobeerd. Na het aanmaken van een eigen CRS en deze toe te wijzen als project CRS is de afwijking nog maar zo’n halve meter. Daar was ik dus heel blij mee.
Helaas loop ik nu tegen een ander probleem aan. De schaalbalk in mijn lay-out geeft nu verkeerde waarden weer. De lengte van 20 meter komt overeen met meer dan 300 km op de schaalbalk. Zodra ik de project CRS weer terug zet naar EPSG: 28992 (CRS Amersfoort / RD new) dan is de schaalindeling weer goed.
Het viel me op dat code in CRS Amersfoort / RD new onder ‘Proj4’ identiek is aan de code die ik in mijn eigen CRS heb toegevoegd. Blijkbaar wordt het verschil veroorzaakt door de code onder WKT. Daar zitten wel grote verschillen in. Nu voer ik een trucje uit zonder enige kennis van CRS dus ik heb geen idee waar ik het probleem moet zoeken. Is er iemand die mij kan helpen om dit probleem op te lossen?