4

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.

enter image description here

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.

References

Szabolcs
  • 234,956
  • 30
  • 623
  • 1,263

0 Answers0