Hier mal als Beispiel mit wget, grep, sed und ogr2ogr (von GDAL/OGR) in der Bash. Diese Anleitung geht davon aus, dass die Titel der Layer keine Sonderzeichen enthalten, also einfach in der Shell und als Dateinamen verwendet werden können. Generell nicht elegant, aber funktioniert meistens.
WFS finden, zum Beispiel über http://hmdk.de/freitextsuche?action=doSearch&q=wfs. Hier nehme ich einfach mal http://gateway.hamburg.de/OGCFassade/DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.aspx?REQUEST=GetCapabilities&SERVICE=WFS&VERSION=1.1.0 als Beispiel.
Capabilities abfragen:
wget -O DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.GetCapabilities.xml http://gateway.hamburg.de/OGCFassade/DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.aspx?REQUEST=GetCapabilities&SERVICE=WFS&VERSION=1.1.0
Verfügbare Layertitel extrahieren:
grep “<wfs:Title>” DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.GetCapabilities.xml | grep -Eo ‘>.*<‘ | sed ‘s/[<>]//g’ > DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.wfsTitle
Das sind dann zum Beispiel:
Hafengebietsgrenzen
Stadtteile
Bezirk
Ortsteile
Layer runterladen:
while read title; do wget -O DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten-${title}.gml "http://gateway.hamburg.de/OGCFassade/DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.aspx?REQUEST=GetFeature&SERVICE=WFS&VERSION=1.1.0&typeName="${title}; done < DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.wfsTitle
GML in Shapefile umwandeln:
while read title; do ogr2ogr -a_srs "EPSG:25832" -f "ESRI Shapefile" -fieldTypeToString IntegerList,StringList DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten-${title}.shp DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten-${title}.gml; done < DE_HH_WFS_INSPIRE_A1_4_Verwaltungseinheiten.wfsTitle
Für “GRUNDWASSERSTÄNDE” ist es nicht wfs:Title, sondern Name.
Für http://geodienste-hamburg.de/HH_WFS_Bodenrichtwerte?SERVICE=wfs ist es
And if the GML has mixed Point and Polygon, QGIS will only be able to load one of them, silently ignore the other. Convert with something like: ogr2ogr -a_srs “EPSG:25832” -f “ESRI Shapefile” -fieldTypeToString IntegerList,StringList -nlt Point -where “OGR_GEOMETRY=’Point'” test.shp app\:lgv_brw_lagetypisch_alle.gml
http://geodienste-hamburg.de/DE_HH_WFS_INSPIRE_A3_1_Statistische_Einheiten
curl –header “Content-Type:application/xml” -L -X POST -d ” http://geodienste-hamburg.de/DE_HH_WFS_INSPIRE_A3_1_Statistische_Einheiten
curl –header “Content-Type:application/xml” -L -X POST -d ‘INSPIRE:StadtteilHafenCity’ http://geodienste-hamburg.de/DE_HH_WFS_INSPIRE_A3_1_Statistische_Einheiten