Это файл GML, поэтому его можно прочитать с помощью драйверов OGR, встроенных в пакеты rgdal
и sf
.Следовательно:
> sf::st_layers("./DB-Netz_INSPIRE_20171116.xml")
Driver: GML
Available layers:
layer_name geometry_type features fields
1 Network NA 1 12
2 ConditionOfFacility NA 7072 15
3 MarkerPost Point 34325 11
4 TrafficFlowDirection NA 7072 15
5 VerticalPosition NA 1313 15
[etc]
Имеющиеся там пространственные данные (то есть слои с геометрическим типом, отличным от NA) могут быть прочитаны с помощью sf::st_read
:
> nodes = sf::st_read("./DB-Netz_INSPIRE_20171116.xml","RailwayNode")
Reading layer `RailwayNode' from data source `/home/rowlings/Downloads/SO/train/DB-Netz_INSPIRE_20171116.xml' using driver `GML'
Simple feature collection with 21457 features and 20 fields
geometry type: POINT
dimension: XY
bbox: xmin: 6.021325 ymin: 47.39779 xmax: 15.03196 ymax: 54.90462
epsg (SRID): 4258
proj4string: +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
> plot(nodes$geom)
>
, что дает наборточки, которые я могу видеть, обрисовывают в общих чертах Германию.
Непространственные данные также могут быть прочитаны с помощью st_read
и возвращает фрейм данных, когда это возможно:
> ds = sf::st_read("./DB-Netz_INSPIRE_20171116.xml","DesignSpeed")
Reading layer `DesignSpeed' from data source `/home/rowlings/Downloads/SO/train/DB-Netz_INSPIRE_20171116.xml' using driver `GML'
Warning message:
no simple feature geometries present: returning a data.frame or tbl_df
>
Я думаю, этоограничения скорости для различных участков рельса - вам придется искать метаданные, чтобы увидеть, как идентификаторы совпадают между таблицами, подобными этой, и географическими данными:
> head(ds)
gml_id identifier applicableDirection fromPosition
1 Spd-2046676 urn:x-dbnetze:oid:Spd-2046676 <NA> 0
2 Spd-2046677 urn:x-dbnetze:oid:Spd-2046677 <NA> 0
3 Spd-2046678 urn:x-dbnetze:oid:Spd-2046678 <NA> 0
4 Spd-2046679 urn:x-dbnetze:oid:Spd-2046679 <NA> 0
5 Spd-2046680 urn:x-dbnetze:oid:Spd-2046680 <NA> 0
6 Spd-2046681 urn:x-dbnetze:oid:Spd-2046681 <NA> 0
[etc etc etc etc]