It is not possible to adjust for this because these are two completely different datasets. There is no projection or anything that will convert one into the other. OpenStreetMap data is (mostly) acquired by volunteers with GPS devices (sometime very precise) or people tracing aerial imagery (sometime very imprecise). Both types of data acquisition can have few meters error at least.
By the way: I wouldn't trust Google data to be of much better accuracy either.
If you look at the various data sources , you will see that OSM matches very well with Google's Satellite View.
You can check it with this excellent tool from GeoFabrik. Just mouse over various locations, and you will also see the mouse location on the other map.
http://tools.geofabrik.de/mc/#15/39.9076/116.3929&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=google-satellite
But when you check Google Maps, and the Google Satellite View, you will see that they do not match.
http://tools.geofabrik.de/mc/#15/39.9076/116.3929&num=4&mt0=google-hybrid&mt1=google-map&mt2=bing-map&mt3=google-satellite
The best way to observe this, is to open up Google Maps in Hybrid view, where you will see a clear shift between The satellite view and the Roads Layer.
So it is Google Maps, that on purpose are showing incorrect maps.
As to why this is happening, only Google can give you the authentic answer, but my experience says that this must be to meet the statutory requirements of Chinese laws.
A brief reading of The Google forums shows that this issue is well known. For example see these posts:
More reading indicates that this is done because of the laws of China. See these Blog Posts.
Update
I have seen that this offset has been attributed to the fact that China uses some other projection. This is utter nonsense.
There are many countries that have their data in other projections as well as datums other than WGS84. Web maps in these regions appear correct, and show no mismatch.
It is hard for me to believe that organisations such Google, Microsoft(Bing maps), Apple & Nokia (Here maps) are stopped in their tracks by a simple datum transformation or projection transformation, when the code for that is easily available in Repositories such as
Further more, when Chinese services such as Baidu can show a correct map, and Foreign services cannot, it indicates that the issues are not just techincal
![enter image description here](https://i.stack.imgur.com/fqovH.jpg)
Best Answer
Solution 1
To solve the problem, right click your basemap layer and set CRS back to
EPSG:3857
- the initial one and the only one valid. Do not change layer CRS: See here for details: https://gis.stackexchange.com/a/392388/88814 and https://gis.stackexchange.com/a/383437/88814.Solution 2
You can also get lat/lon (
EPSG:4326
) coordinates even if you have another project CRS (e.g.EPSG:3857
to show an undistorted OSM basemap) by right-clicking on the map canvas and selectingWGS84
: see second screenshot below.Explanation
The coordinates that you get are in
EPSG:3857
(WebMercator - used for the OpenStreetMap basemap). To get lat/lon coordinates (the one you want), project CRS should be in WGS84 (EPSG:4326
).That is the case in your screenshot. However, with
EPSG:4326
, the OSM map should look heavily distorted - as on my first screenshot below, but with the correct lat/lon values for coordinates.Your basemap seems to be undistorted, what is not possible if it is "warped" from it's initial
EPSG:3857
(WebMercator, used for most online maps) to the project'sEPSG:4326
. You (unintentionally) "un-distorted" the basemap by assigning layer CRSEPSG:4326
- it looks undistorted, but like this, places on the OSM basemap are misplaced. You "streched" the OSM map to a very huge extent that goes much beyond the min/max extent forEPSG:4326
, so you get wrong coordinate values. See the link above for details.By the way, be aware: most online maps (like Google, Bing, OSM etc.) use
EPSG:3857
for map display, but coordinates are shown inEPSG:4326
to comply with common practice of using lat/lon values (e.g. GPS). This can be quite confusing.Screenshot 1: with project CRS
EPSG:4326
, the OSM basemap looks like this - warped (cf next image), but the coordinates show the correct lat/lon values:*Screenshot 2: project CRS in![enter image description here](https://i.stack.imgur.com/5JbXX.jpg)
EPSG:3857
, but showing coordinates inEPSG:4326
(WGS84, lat/lon) by right-clicking on the map canvas. In the coordinates field at the bottom, it still shows the coordinates in project's CRS, hereEPSG:3857
: *