Ausgangslage
Aus einem Digitalen Geländemodell (DGM) lassen sich relativ einfach Höhenlinien berechnen. In ArcGIS gibt es dazu das Tool Contour
, was als Input ein DGM und einige wenige Parameter benötigt. Für kleinere Datenmengen – also entweder ein DGM, das ein großes Gebiet abdeckt und dabei eine grobe Auflösung besitzt, oder aber ein DGM eines kleinen Gebietsausschnitts mit hoher Auflösung funktioniert das Werkzeug auch einwandfrei und die Ableitung zackig. Die Berechnung der Höhenlinien im Abstand von 25m mit dem DGM25 (50m Auflösung, ca. 200MB) für ganz Bayern benötigt ungefähr 40 Sekunden. Dabei ist die entstehende Shapedatei 300MB groß.
Mit einem DGM10 (10m Auflösung) über ganz Bayern hinweg siehts dann aber schon anders aus. ArcGIS 9.3.1 sp2 machte bei diesen Datenmengen (DGM: 2,0 GB als Rasterdataset in File Geodatabase) schlapp. Denn der temporäre Output des Werkzeugs Contour
ist ausschließlich im Shapefile-Format. Und dieses Format hat leider die etwas unangenehme Eigenschaft, höchstens 2,1 GB an Daten aufnehmen zu können (siehe hier). Wenn man mit dieser Auflösung des DGM10 über ganz Bayern hinweg Höhenlinien ableiten möchte, werden aber einiges mehr als 2,0 GB erzeugt. Was also tun?
Die Lösung heisst hier: Gekachelte Verarbeitung (Tiled Processing). Man teilt also das DGM in ein paar Kacheln auf (Create Fishnet
des DGM-Extents, Polygonisieren der Linien, Clippen des DGM mit dem Polygon-Raster) und leitet aus diesen die Höhenlinien ab. Gedacht getan – aber halt: zu kurz gedacht! Denn die Ableitung der Höhenlinien basiert auf einer Interpolation einer Linie zwischen den Höhenpunkten. Was passiert also an den Rändern der Kacheln? Genau: es entstehen Lücken. Und zwar genau in dem Ausmaß der Auflösung des DGMs. In unserem Fall entspricht dies also einem 10m-Streifen.
Tja nun – und jetzt? Keine Panik. Denn auch dafür gibts eine Lösung.
Lösung
Der Trick bei der gekachelten Ableitung der Höhenlinien besteht darin, gepufferte Kacheln des DGM zu prozessieren. Dabei muss der Puffer um die Kacheln mindestens das zweifache der Auflösung des DGMs betragen. Es werden also aus überlappenden Kacheln des DGM die Höhenlinien pro Kachel berechnet. Anschließend liegen die Höhenlinien aus den Überlappungsbereichen exakt übereinander.
An dieser Stelle räumt ein Clip auf den Höhenlinien mit den ursprünglichen Extents der Kacheln wieder auf. Diese tolle Idee stammt aus einem ESRI-Forum und ist hier nachzulesen.
Und tatsächlich, beim Test von drei Kacheln lagen die berechneten Höhenlinien aus den gepufferten Kacheln im Überlappungsbereich exakt übereinander. Jetzt muss nur noch ein Clip mit den Extents der ungepufferten Kacheln die beiden Höhenlinien-Shapes trennen und siehe da: die Höhenlinien passen an den Rändern der Kacheln wunderbar zueinander.