The City of Amsterdam supports an Open Data policy. Much information can be retrieved at the level of boroughs (stadsdelen). Unfortunately, GeoGraphics
does not provide outlines of these smaller areas. A bundle of Shape files (.SHP) of Administrative Areas can be downloaded.
I want to overlay these areas with the city map, but the .SHP data are in a coordinate system which is not recognized. (Related to 42533.)
Overall, the images of the administrative areas look good (no reverse coordinates)
but the coordinates are not in geographic {Latitude,Longitude}, since Amsterdam is at
CityData[Entity["City",{"Amsterdam","NoordHolland","Netherlands"}],"Coordinates"]
gives {52.37, 4.89}.
The coordinate system
Import[amsterdamDir, "CoordinateSystemInformation"]
gives
"PROJCS" -> {"RD_New",
"GEOGCS" -> {"GCS_Amersfoort",
"DATUM" -> {"Amersfoort",
"SPHEROID" -> {"Bessel_1841", 6.3774*10^6, 299.153}},
"PRIMEM" -> {"Greenwich", 0},
"UNIT" -> {"Degree", 0.0174532925199432955}},
"PROJECTION" -> {"Double_Stereographic"},
"PARAMETER" -> {"False_Easting", 155000},
"PARAMETER" -> {"False_Northing", 463000},
"PARAMETER" -> {"Central_Meridian", 5.38764},
"PARAMETER" -> {"Scale_Factor", 0.999908},
"PARAMETER" -> {"Latitude_Of_Origin", 52.1562},
"UNIT" -> {"Meter", 1}}
However, its Datum (GCSAmersfoort) is unknown. (Amersfoort is another city in The Netherlands.)
How can I transform these coordinates to GeoPosition coordinates?
For testing, a tiny polygon from the Shape file is
Polygon[{{115050., 485415.}, {115614., 485596.}, {115601.,
485634.}, {115887., 485725.}, {116049., 485777.}, {116052.,
485768.}, {116124., 485793.}, {116136., 485798.}, {116154.,
485809.}, {116162., 485816.}, {116171., 485825.}, {116262.,
485750.}, {116263., 485687.}, {116263., 485666.}, {116236.,
485665.}, {116206., 485662.}, {116148., 485649.}, {116122.,
485642.}, {115834., 485549.}, {115846., 485509.}, {115684.,
485456.}, {115676., 485481.}, {115578., 485449.}, {115633.,
485279.}, {115564., 485257.}, {115494., 485229.}, {115211.,
485138.}, {115146., 485116.}, {115061., 485378.}, {115050.,
485415.}}]
Thanks in advance.
EDIT 1
Following @jose's solution I obtain this map, with the above polygon overlaid
This shows a small area (Calandlaan/Lelylaan buurt) in Amsterdam-West. A screenshot from maps of the City of Amsterdam show this outline
The correspondence is close, but there is a small displacement to be resolved.
EDIT 2
The shift between the two solutions of @gwr is about 21 cm.
Just by taking the GeoDistance[ ]
between the two projections of the same coordinate.
pos1=rdPosition[{115061, 485378 },OffsetGrid->{+25.14, +116.91}, OffsetWGS84->{0, 0}]
pos2=rdPosition[{115061, 485378 },OffsetGrid->{+0, +0}, OffsetWGS84 ->{-0.001053524113977744`, -0.000352533797287613`}]
GeoDistance[{pos1,pos2}]
OUT:
GeoPosition[{52.3548, 4.80096}, "WGS84"]
GeoPosition[{52.3548, 4.80097}, "WGS84"]
Quantity[0.206247, "Meters"]
Indeed, too small to discern at the scale of the maps.