Frage zu DEM-Grundlagen

Alles um das Arbeiten mit digitalen topografischen Karten, den Ziegler-Tools, Microdem usw.

Moderator: Roland Ziegler

Antworten
Nachricht
Autor
Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Frage zu DEM-Grundlagen

#1 Beitrag von Peter-Pascal »

Hallo Roland,

aus der Delphi Dev Community habe ich den Tipp über dieses Forum bekommen. Dort habe ich nach Möglichkeiten gefragt, wie ich reale Landschaften mit DirectX programmieren kann. D.h. woher ich die Höhendaten bekomme .

Seit gestern habe ich schon viel gelernt über DEM und ähnliches. Nur so richtige weiß ich noch nicht, woher ich jetzt beispielsweise diese neuen Daten bekomme (Astra) und ich die in meinem Programm umsetzen kann. Hier habe ich auch schon viel gelesen, ich hoffe jetzt nicht, dass ich einen Beitrag übersehen habe, der mir genau diese Antwort gibt. Dann bitte ich das zu entschuldigen.

Zur Erläuterung: Ich habe ein quadratisches Feld in x - z Ausrichtung mit sehr vielen (beliebigen) Vertices und brauche nur die y-Werte.

Zur Frage: Woher bekomme ich die Werte? Die Bilder, die Du veröffentlich hast sind genau das was ich suche. Brauche nur noch die Scala. Und inwelcher Form sind die Werte? Sind das genau diese Bilder? Oder ein zweidimensionales Array?

Sorry, wenns banal klingt, aber ich arbeite mich da erst rein und seit gestern wußte ich nicht mal das es DEM gibt.

Gruß Peter
Zuletzt geändert von Peter-Pascal am 04.11.2011 09:22:12, insgesamt 1-mal geändert.

Alwin Meschede
Beiträge: 8920
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#2 Beitrag von Alwin Meschede »

Du müsstest Dich wahrscheinlich mal ins GeoTIFF-Dateiformat einfuchsen. Gängige Höhenmodelle wie ASTER GDEM werden so ausgeliefert. Die Formatspezifikation ist http://www.remotesensing.org/geotiff/sp ... fhome.html. Das Material der Shuttle Radar Topography Mission SRTM hat soweit ich weiß noch immer ein anderes Dateiformat. Hinweise dazu in aller Kürze z.B. unter http://stackoverflow.com/questions/3574 ... nary-files. Wie allerdings mit Spezialitäten wie der Projektion umzugehen ist, dazu müsste vielleicht Roland was sagen.

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#3 Beitrag von Roland Ziegler »

Hallo Peter,

DEMs intern sind tatsächlich als zweidimensionales Feld von Höhenpunkten abgelegt, allerdings auf viele verschiedene Arten kodiert. Es dürfte weit über ein Dutzend Dateiformate geben, binär oder auch als Text. Eines der komplexesten Binärformate ist GeoTIFF. Im Kontrast dazu steht das sehr simple aber ebenfalls binäre Format der SRTM-Daten.

Dazu kommt, dass es sich um Geodaten handelt, und hier immer die Projektion eine Rolle spielt, die vom üblicherweise als Rotationsellipsoiden modellierten Globus hin zu einer planaren aber nicht notwendigerweise kartesischen Darstellung führt. Für eine solche Projektion gibt es wiederum mehrere Optionen.

Das horizontale Raster im DEM hat üblicherweise Stützpunkte in konstantem Abstand, entweder in Längen/Breiten-Teilung oder kartesisch, metrisch oder - selten - imperial, also in Füßen. Zu jedem Stützpunkt gibt es einen Höhenwert, in Metern und manchmal auch in Füßen.

ASTER und SRTM-Dateien verwenden die Plate Carrée-Pseudoprojektion, zu deutsch Plattkarte, mit Achsen in Bogensekunden. Das ist für die praktische Nutzung zur Landschaftsgestaltung ungeeignet. Hier ist eine echte Projektion erforderlich. Allgemein hat sich UTM eingebürgert, aber es ist nicht die einzige Möglichkeit.

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#4 Beitrag von Peter-Pascal »

Danke Roland,

kling interessant, verstanden habe ich nicht alles, arbeite aber daran.

Gut, ich habe kein Problem damit, mich in die GeoTiff einzuarbeiten, ich glaube das Format habe ich gefunden, bzw. den Link hat mir Alwin genannt.

Jetzt suche ich bei Astra die Werte, finde aber nichts. Ich habe auch viel im Internet gesucht. Da ich aber nicht genau weiß was ich brauche, ist es schon schwer.

Oder hast Du einen besseren Vorschlag.

Ich brauch die Daten nicht genau. Für meine Zwecke ist eine grobe Aufteilung ausreichend. D.h. ich muss nicht jeden Zacken von der Zugspitze sehen, sondern es reicht, das die Berge im Süden sind. Wenn ich da mal einen Anfang gefunden habe, kann ich immer noch weitersehen.

Im Prinzip reicht mir eine farbige Karte mit einer Scala, zB.: grün 0..100 braun 1000..2000 usw.

Vielen Dank noch mal

Gruß Peter
Zuletzt geändert von Peter-Pascal am 04.11.2011 13:05:23, insgesamt 1-mal geändert.

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#5 Beitrag von Roland Ziegler »

ASTER, nicht Astra. :)
Letzteres sind die Fernsehsatelliten.

Der Zugang zu den ASTER-GDEM-Daten ist etwas kompliziert, siehe den Verweis zu ECHO-Reverb im oben angepinnten ASTER V2-Beitrag in diesem Unterforum. SRTM-Daten hingegen kann man einfach herunterladen, auch dazu ein angepinntes Thema hier.

Da es sich aber in beiden Fällen um eine Pseudoprojektion handelt, ist eine Koordinatentransformation in ein kartesisches System erforderlich.

Hierzu gibt es fertige Software. Dann muss man sich weder in TIFF und GeoTIFF einarbeiten, oder in das SRTM-Height-Format, noch in die strapaziösen Formelwerke der Kartenprojektionen.

Ich möchte Dir empfehlen, Dir MicroDEM näher anzusehen, von Prof. Peter Guth. Das ist recht mächtig und kostet nichts. Die Benutzeroberfläche ist vielleicht nicht ganz intuitiv, aber MicroDEM ermöglicht Dir:
  • das Einlesen verschieden DEM-Datei-Formate,
  • die Umformung in UTM (um kartesische Koordinaten zu erhalten),
  • die Ausgabe in einem Simpel-Textformat, genannt .xyz
MicroDEM haben wir in den Anfangsjahren von Zusi hier selbst benutzt, bevor ich mich zur Entwicklung von TransDEM entschloss.

Das angesprochene XYZ-Format schreibt pro Punkt einfach ein Koordinatentripel als Zeile in eine Textdatei. Wie man die Datei interpretiert, ist Anwendersache. Wenn ich mich recht erinnere, produziert MicroDEM die Daten wie im DEM-Original mit konstanter Gitterweite, was die direkte Übertragung in ein zweidimensionales Feld von Höhendaten ermöglicht. XYZ wird üblicherweise als Rechtssystem definiert, mit den Achsen Easting, Northing und Höhe. (Deutsche Koordinatensysteme sind durchaus auch Linkssysteme, mit Hochwert (Nord), Rechtswert (Ost) und Höhe. Könnte von den geographischen Koordinaten abgeleitet sein, bei der international die erste Hauptachse meist die Breite ist.)

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#6 Beitrag von Peter-Pascal »

Hatte wirklich geglaubt es sei der Fernsesatellit, bin halt ganz neu in dem Thema, finde es aber spannend.

Das Program von Prof. Peter Gut habe ich bereits. Und bislang nicht gewußt, was ich damit mach soll. Jetzt weiß ich es.

Dann mache ich mich mal auf die Suche nach dem SRTM-Thema und schau wo ich die Daten bekommen.

Klingt bislang einfach, die xyz-Datei nur umwandeln. Schaun wir mal...

Danke Roland

Gruß Peter

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33375
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#7 Beitrag von Carsten Hölscher »

Zum Einlesen der DEM-Dateien bietet der Microdem-Erstellen auch fertige Delphi-Routinen an, wenn ich es richtig im Kopf habe.

Carsten

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#8 Beitrag von Peter-Pascal »

Fertige Delphi Routinen wäre ja richtig klasse.
SRTM-Daten hingegen kann man einfach herunterladen, auch dazu ein angepinntes Thema hier
Carsten kannst Du mir bitte sagen, wo ich das SRTM-Thema hier finde?

Danke
Zuletzt geändert von Peter-Pascal am 04.11.2011 14:19:56, insgesamt 1-mal geändert.

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33375
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#9 Beitrag von Carsten Hölscher »

Ich tippe mal auf die oben festgetackerten Threads in diesem Unterforum.

Carsten

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#10 Beitrag von Roland Ziegler »

Peter-Pascal hat geschrieben:wo ich das SRTM-Thema hier finde?
Zweiobertestes Thema hier: viewtopic.php?f=18&t=6243

.dem ist das MicroDEM-eigene Format. Könnte man das in Deiner Anwendung direkt einlesen, sparst Du Dir den Umweg über xyz, also den Punkt 3 auf meiner Liste. Du würdest die UTM-konvertierten Daten stattdessen als MicroDEM .dem speichern.
Zuletzt geändert von Roland Ziegler am 04.11.2011 14:26:53, insgesamt 1-mal geändert.

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#11 Beitrag von Peter-Pascal »

Sorry, ich hatte die Seite mit den spärlichen Angaben nicht für voll genommen und gleich weitergeklickt.
Ist offensichtlich alles da, was ich brauche.

Nur mit dem Interpretieren der Daten habe ich noch Probleme. Es ist egal in welchem Format die Daten vorliegen, auch ASCIIxyz ist OK. Rechnen muss ich ohnehin. Ich muss einem Vertex eine Höhe zuordnen. Das Bild fängt unten links an und ich werde anscheinend einige Punkte zusammenfassen müssen.

Ich habe noch nicht richtig begriffen, wie die Punkte abgelegt sind in dem zwei dimensionalen Array. Wenn ich dann Höhe und Breite habe, kann ich mit zwei geschachtelten for-schleifen alle Punkte einlesen und die Höhe interpretieren wie ich will.

Vielen Dank bisher für die Hilfe.

Gruß Peter

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#12 Beitrag von Roland Ziegler »

Die für Europa verfügbaren SRTM-Daten haben eine Gitterweite von 3 Bogensekunden (SRTM3 = 3 arc sec). Das ist die nominelle, die technische Auflösung. Bei den ASTER-GDEM-Daten ist die Gitterweite 1 Bogensekunde.

Bei beiden Quellen deckt jede DEM-Datei jeweils die Fläche 1 Längengrad x 1 Breitengrad ab.

Nutzbar sind die Daten in dieser Form selten, aufgrund der Verzerrung durch die zu simple Plate Carrée-Pseudoprojektion. Denn 1 Bogensekunde entspricht in der Breite konstant etwa 30 m, in der Länge jedoch variiert dieser Wert abhängig von der Breite. In Deutschland entspricht die Bogensekunde in der Länge etwa 20 m. Das ist also grob eine Verzerrung von 3:2. Mathematisch ist das natürlich wesentlich komplexer. Da greift dann z.B. MicroDEM mit der Umformung in kartesische Koordinaten. Deren Gitterweite kann man festlegen, z.B. 50m. Bei der Umformung wird für die gesamte Datei Punkt für Punkt jede Länge und Breite in UTM-Koordinaten umgerechnet.

Beispiel: Einer der Gitterpunkte im DEM habe die Länge 7° 08' 36" Ost und die Breite 51° 10' 03" Nord. Der Höhenwert dieses Punktes sei 221 m. Dieselbe Position in UTM ist 370192 Ost und 5670090 Nord, in der Zone 32U. Diese Angaben sind Meter, für Ost gerechnet vom Mittelmeridian der Zone + 500000, für Nord gerechnet vom Äquator. Dadurch, dass es nun kartesische Koordinaten sind, und noch dazu in Metern, kann man sich den Ausschnitt, den man sucht, durch einfache Verschiebung (Offset) in einen Wertebereich ziehen, der einem behagt.

Nun ist ein festes 50m-UTM-Raster natürlich nicht deckungsgleich mit dem 3 Bogensekunden-Raster des Original-DEMs. Im Beispiel mit der Transformation des einen Punktes wurde deutlich, dass krumme Zahlen für UTM herauskommen. Ein Programm wie MicroDEM verbindet diese Koordinatenumformung daher mit einer Neu-Abtastung des DEM in der gewählten Gitterweite und interpoliert die Höhendaten mit einen geeigneten Algorithmus, z.B. bilinear. Im 50m-Raster würde der UTM-Punkt also 370200, 5670100 und dessen Höhe wird zu 224m interpoliert.

In xyz sieht das dann so aus, erstellt mit TransDEM (Ostwert - Nordwert - Höhe):

Code: Alles auswählen

367950 5668050 181.000000
367950 5668100 178.000000
367950 5668150 178.000000
367950 5668200 177.000000
367950 5668250 178.000000
367950 5668300 177.000000
367950 5668350 184.000000
367950 5668400 195.000000
367950 5668450 187.000000
367950 5668500 182.000000
367950 5668550 188.000000
367950 5668600 191.000000
367950 5668650 189.000000
367950 5668700 185.000000
367950 5668750 189.000000
367950 5668800 195.000000
367950 5668850 200.000000
367950 5668900 206.000000
367950 5668950 215.000000
367950 5669000 221.000000

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#13 Beitrag von Peter-Pascal »

Danke Roand,

das war bislang sehr hilfreich. Und da ich bis Vorgestern kaum etwas von diesem Thema wußte, habe ich bereits viel gelernt.

Es hat etwas gedauert, zB. die Dateinamen zu verstehen. Das es sich dabei um Breiten- und Längenangaben handelt. Jetzt verstehe ich auch so grob was UTM ist.

Nun denn. Aus Wikipedia weiß ich, dass die Datei 1201 * 1201 groß ist. Unten links ist das Pixel mit dem Dateinamen (Breite/Länge). Ist das richtig? Da brauche ich ja nur den Ort auf Landkarte suchen.

In Ascii habe ich mir wechselweise eine Datei ausgeben lassen und die Einstellmöglichkeiten ausprobiert. Gibt für jeden Punkt/Pixel auch die Angabe Breite Länge und Höhe aus, nicht nur glücklicherweis in UTM. Mit Thin kann ich vermutlich eine Verdichtung oder ähnliches angeben, oder?

Nun muss ich mir nur noch eine Möglichkeit zur Übertragung in ein Heightmap in DirectX überlegen. Denn 1201 * 1201 Vertices belastet das System bestimmt sehr. Und ist nur ein kleiner Ausschnitt. zuwenig wenn ich von Oben auf die Alpen schauen möchte.

Leider habe ich die Delphi-Routinen noch nicht gefunden. Wo könnten die ungefähr sein? Oder wie heißen die? Wenn ich Delphi eingebe kommt ja immer erst das Orakel. Vielleicht hat Carsten da noch einen Tipp.

Vielen Dank bisher.

Gruß Peter

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33375
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#14 Beitrag von Carsten Hölscher »

Ich tippe mal, das ist in der Hilfe?

Carsten

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#15 Beitrag von Roland Ziegler »

Vergiss die direkte Verarbeitung der .hgt-Datei. Die nützt Dir nichts. Überlass das MicroDEM oder TransDEM. Du brauchst UTM (oder eine andere kartesische Projektion). Das willst Du nicht selbst implementieren, glaub es mir.

Was Du benötigst, ist im einfachsten Fall dieses xyz, oder, wenn Du mehr Arbeit hineinstecken willst, evtl. die Einlese-Bibl von MicroDEM, die Carsten erwähnt hat.

Wenn Du verstanden hast, wie das xyz aufgebaut hat und was die Zahlen bedeuten, dann setze darauf auf.

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#16 Beitrag von Peter-Pascal »

Hallo,

gibt es eine Möglichkeit sich den Download der vielen Daten zu vereinfachen? Ich habe es mit WinHTTrack versucht aber bislang gescheitert.

Wenn ich die Daten auf meinem PC habe, kann man irgendwie die Daten in einem Rutsch mit mircodem in xyz umwandeln?

Oder muss ich alles von Hand mache? Download und umrechen? Puh.

Vielen dank.

Gruß Peter

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#17 Beitrag von Roland Ziegler »

Wie groß soll denn Deine Welt werden? 1 Längengrad x 1 Breitengrad sind in unserer Gegend ungefähr 70 x 110 km. So viel enthält eine SRTM-Datei. Von einem anderen Server gibt es die Daten auch gepackt als 5 x 5 Grad, dann in einem GeoTIFF-Format. Dort sind allerdings die Meere nicht mit Höhe 0 gekennzeichnet. Irgendwann droht man dann in der Datenflut unterzugehen.

Wenn tatsächlich die Erdoberfläche komplett abgebildet werden soll, ist allerdings UTM als Projektion ungeeignet, aber auch SRTM als Quelle.

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#18 Beitrag von Peter-Pascal »

Es sind immer nur einzelne Teile, die ich darstellen möchte, nicht die ganze Welt auf einmal. Z.B. Stonehenge. Die Landschaft, dann die geordneten Steine. Das gleiche in Gorseck.

Es wird eine grobe Karte angezeigt und dann an die Stelle gezoomt, aber ich baue dann eine andere Scene auf. Das soll nicht so sein, wie bei Google, wo man vom Satelliten direkt auf einen Balkon zoomen kann. Dann ist es auch erstmal nicht vorgesehen von der Detail-Ansicht weiter zu gehen.

Benutzeravatar
Roland Ziegler
Beiträge: 5508
Registriert: 04.11.2001 22:09:26
Wohnort: 32U 0294406 5629020
Kontaktdaten:

Re: Frage zu DEM-Grundlagen

#19 Beitrag von Roland Ziegler »

Dann brauchst Du doch nur rechte wenige DEMs und von denen wiederum nur kleine Ausschnitte. Warum willst Du dann den gesamten Bestand laden? Die laufen doch nicht weg, wechseln höchstens alle paar Jahre den Server.

Peter-Pascal
Beiträge: 9
Registriert: 04.11.2011 09:10:02

Re: Frage zu DEM-Grundlagen

#20 Beitrag von Peter-Pascal »

Hallo Roland,

da hast Du völlig recht. Ich bin da absoluter Anfänger in diesem Bereich und merke immer wieder das meine Vorstellungen allein schon an der reinen Datenflut scheitern. Bis vor einer Woche wußte ich nicht mal, dass es diesen Satelliten gab. Klar habe ich davon gehört, dass die Erde vermessen wird, aber dass man die Daten bekommen kann, war mir bis mich Carsten darauf stupste nicht bekannt. Dieses eröffnet viel mehr Möglichkeiten und ich ändere gerade meine Pläne hinsichtlich Heightmap.

Bislang mußte ich befürchten die Höheninformation rein zufällig entstehen zu lassen. Jetzt habe ich ja genaue Werte. Natürlich war der erste Gedanke das Komplett zu laden, aber das ist wohl illusorisch. Nun denn Ausschnitte von 70 * 110 km schon sehr viel ist und erstmal ausreichend.

Vielen Dank für Deine Hilfe und ich hoffe Du hast noch etwas Geduld mit einem reinen Anfänger und entsprechend dummen Fragen.

Gruß Peter

Antworten