I am trying to interpret the coordinates in the shapefile downloadable from here (Dataset 1).
We can extract coordinates like so:
coord = Import["STATISTIK_AUSTRIA_GEM_MP_20230101.shp", "Data"] // First //
Query["Geometry"]
How can I transform to something that can be plotted accurately with GeoGraphics?
This is what I have so far:
GeoGraphics[
{Red, PointSize[Medium],
coord /.
Point[pt_] :>
Point@GeoPosition@GeoGridPosition[
pt,
{"LambertConicConformal",
{"ReferenceModel" -> "Bessel1841",
"GridOrigin" -> {400000, 400000},
"Centering" -> {47.5, 13.333333333333334`},
"CentralScaleFactor" -> 1}}]},
GeoRange -> Entity["Country", "Austria"]
]
This is not entirely accurate. There are visible deviations around the borders.
I filled out the projection parameters based on the following, and guidance from similar questions on this site, but there are several pieces of data in the coordinate system information that I couldn't figure out how to use:
In[]:= Import["STATISTIK_AUSTRIA_GEM_MP_20230101.shp", "CoordinateSystemInformation"]
Out[]= "PROJCS" -> {"MGI / Austria Lambert",
"GEOGCS" -> {"MGI",
"DATUM" -> {"Militar-Geographische Institut",
"SPHEROID" -> {"Bessel 1841", 6.3774*10^6, 299.153,
"AUTHORITY" -> {"EPSG", 7004}},
"TOWGS84" -> {601.705, 84.263, 485.227,
4.7354, -1.3145, -5.393, -2.3887},
"AUTHORITY" -> {"EPSG", 6312}},
"PRIMEM" -> {"Greenwich", 0., "AUTHORITY" -> {"EPSG", 8901}},
"UNIT" -> {"degree", 0.0174533},
"AXIS" -> {"Geodetic longitude", "EAST"},
"AXIS" -> {"Geodetic latitude", "NORTH"},
"AUTHORITY" -> {"EPSG", 4312}},
"PROJECTION" -> {"Lambert_Conformal_Conic_2SP",
"AUTHORITY" -> {"EPSG", 9802}},
"PARAMETER" -> {"central_meridian", 13.3333},
"PARAMETER" -> {"latitude_of_origin", 47.5},
"PARAMETER" -> {"standard_parallel_1", 49.},
"PARAMETER" -> {"false_easting", 400000.},
"PARAMETER" -> {"false_northing", 400000.},
"PARAMETER" -> {"scale_factor", 1.},
"PARAMETER" -> {"standard_parallel_2", 46.}, "UNIT" -> {"m", 1.},
"AXIS" -> {"Easting", "EAST"}, "AXIS" -> {"Northing", "NORTH"},
"AUTHORITY" -> {"EPSG", 31287}}
In particular, it is unclear to me how to make use of the DATUM field.

Bessel 1841– Bob Hanlon Feb 29 '24 at 01:12