EPS Dateiformat

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

Moderator: Roland Ziegler

Nachricht
Autor
Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

EPS Dateiformat

#1 Beitrag von Steffen81 »

Ich habe eine Karte im EPS-Format vorliegen. Auf dieser sind verschieden eingefärbte Flächen (Landkreise) zu sehen. Ich möchte nun zu Punkten, zu denen ich Längen- und Breitengrad habe, ermitteln welche Farbe der Landkreis (das Polygon in der EPS-Grafik) hat, in dem sich mein Punkt befindet. Leider bin ich mit der Syntax des EPS-Format nicht vertraut und habe bisher auch nichts konkretes im Netz gefunden, abgesehen von dem, was ich schon weiß. Ein Blick in die EPS-Datei zeigt, dass die Polygone in etwa so wie im Folgenden gespeichert werden:

Code: Alles auswählen

204.84 105.84 mo
205.32 106.08 li
205.32 106.44 li
205.08 106.44 li
204.96 106.56 li
204.48 106.56 li
204.6 106.56 li
204.6 106.44 li
204.72 106.08 li
204.84 106.08 li
204.84 105.84 li
.49804 .18431 .00392199 .00392199 cmyk
ef
Ich muss vermutlich zwei Referenzpunkte definieren und müsste dann irgendwie aus Längen- und Breitengrad auf den entsprechenden Vektor schließen können. Damit ließe sich dann ermitteln, in welchem Polygon sich dieser Punkt auf der Karte befindet (womit ich die Farbe dieses Polygons ermitteln kann). Ich weiß aber auch noch nicht genau, wie man das zuverlässig bei konkaven Flächen ermittelt.

Hat da irgendjemand Erfahrung, Knoff-Hoff oder weiß wo's steht?

Benutzeravatar
Christian Gründler
Beiträge: 2209
Registriert: 04.10.2003 13:27:48
Wohnort: Brühl (Baden)

Re: EPS Dateiformat

#2 Beitrag von Christian Gründler »

Steffen81 hat geschrieben:Hat da irgendjemand Erfahrung, Knoff-Hoff oder weiß wo's steht?
Hallo Steffen,

meinst Du evtl. dieses ? Falls ja, dürfte das kaum georeferenziert sein.

M.f.G. Christian

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#3 Beitrag von Steffen81 »

Ja, das meine ich. In der englischsprachigen Wiki steht noch etwas mehr, aber immernoch nicht das, was ich wissen möchte.

Natürlich ist das nicht georeferenziert. Es stellt nur einen Haufen verschiedenfarbiger Polygone dar, die man als (?merkatorprojezierte?) Karte interpretieren darf.
Eine Verbindung zu Georeferenzen möchte ich selbst herstellen.

Wenn ich zu zwei Georeferenzen (z.B. Freiburg (Brsg.) und Bergen (Usedom)) den entsprechenden Vektor in der EPS-Grafik vorgebe, müssten sich auch zu anderen Georeferenzen entsprechende Vektoren berechnen lassen, und daraus wiederum das Polygon, in dem sie liegen. Dazu muss ich zunächst einmal wissen, wie genau die Polygone im EPS-Format abgebildet werden.

EDIT: ...was ich nun hier gefunden habe.
Dann bleibt noch zu wissen, wie man ermittelt, ob ein Vektor innerhalb eines konkaven Polygons liegt.
Zuletzt geändert von Steffen81 am 02.09.2008 12:56:46, insgesamt 1-mal geändert.

Christopher Spies
Beiträge: 775
Registriert: 26.01.2005 16:10:18
Wohnort: Darmstadt

Re: EPS Dateiformat

#4 Beitrag von Christopher Spies »

Hallo Steffen,
Steffen81 hat geschrieben:Dann bleibt noch zu wissen, wie man ermittelt, ob ein Vektor innerhalb eines konkaven Polygons liegt.
ich würde testen, ob ein Polygon konkav ist, und wenn das der Fall ist, würde ich es in konvexe Polygone aufspalten.

Gruß,
- Christopher

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

Re: EPS Dateiformat

#5 Beitrag von Roland Ziegler »

Punkt in Polygon (konvex/konkav) ist klassisch. Findet man in jedem besseren Buch über Algorithmen (z.B. Sedgewick) oder auch sicher x-fach im Netz.

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#6 Beitrag von Steffen81 »

Stimmt, bin auch fündig geworden - verblüffend einfach eigentlich. Der Vollständigkeit halber und falls nochmal jemand auf das Problem stößt, so kann mans lösen: Kreuzungszahl.

Aber, leider ist es nicht so einfach, die Polygone aus einer EPS-Datei herauszulesen. Die oben verlinkte Spezifikation ist sehr allgemein gehalten und wenn ich das richtig verstanden habe, wird die Syntax zur Polygonabbildung erst im EPS-File selbst definiert. Ich habe ein wenig damit rumgespielt und einfach mal ein paar (alle bis auf Eines) Polygone entfernt. Die Form und Größe des Polygons stimmt auch noch, aber die Position nicht mehr.

Kennt jemand ein Tool oder Verfahren, mit dem man die Polygone / Linien etc. aus einer EPS-Datei handlich exportieren kann?

Benutzeravatar
Hans-Peter Schramm
Beiträge: 1181
Registriert: 11.11.2001 14:15:59
Aktuelle Projekte: Bottwartalbahn Marbach-Heilbronn (DB-Schmalspur)
Wohnort: Elmshorn

Re: EPS Dateiformat

#7 Beitrag von Hans-Peter Schramm »

Hallo Steffen,

ich möchte Dich nicht entmutigen, aber ich glaube dieses Vorhaben ist zum Scheitern verurteilt.
Die Sprache Postscript und das Format EPS ist eher eine Programmiersprache, als ein reines Dateiformat.
Man kann dort praktisch unbegrenzt Routinen (Makros), wie immer man das nenen will integrieren, wild gemischt mit den eigentlichen Daten (Auch Pixelgrafik ist möglich). Ich hatte auch mal gedacht, so etwas zu versuchen, um Grafik zu lesen. Es geht nicht. Man muss dann schon einen kompletten Interpreter programmieren. Wenn das einfach wäre, gäbe es so etwas sicher im OpenSource-Bereich.

Gruß Hans-Peter

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#8 Beitrag von Steffen81 »

Ja, das kommt mir auch so vor. Die Stützpunkte der Polygone sind zwar im Klartext lesbar aber sie lassen sich trotzdem nicht interpretieren.
Im EMF-Format (Windows Enhanced Metafile) z.B. kann ich die Polygone nicht lesen, da die Datei binärkodiert ist. Ein entsprechender Parser gibt mir zwar noch die Records der Vektorgrafik. Aber hexadezimal kann ich damit auch nicht viel anfangen.

Vorübergehend habe ich das jetzt anders zu lösen vor:
- Vektorgrafik in große Pixelgrafik konvertieren (PNG, 300dpi)
- WGS84-Koordinaten umrechnen und einem Pixel in der Grafik zuordnen
- den Farbwert dieses Pixels auslesen, fertig.

Mein Problem ist nur, dass nach dem Umrechnern der WGS84-Koordinaten in Pixel der Grafik, dieser falsch berechnet wird - und zwar immer ein wenig zu südlich.

Zunächst habe ich die Mercator-Koordinaten aus den WGS84-Koordinaten errechnen lassen.

Code: Alles auswählen

x_merc = Long * Erdradius * pi / 180
y_merc = ln( tan( Lat * pi / 360 + pi / 4 ) ) * Erdradius
Quelle: http://hdy3.free.fr/Wissen/Koordinatenumrechnung.xls

Anschließend habe ich die dann in die Pixelwerte relativ zum Kartenrand des Bildes umgerechnet, nachdem ich die Mercator-Koodinaten für den Bildrand der Karte bestimmt hatte:

Code: Alles auswählen

x = Kartenbreite_Pixel * (x_merc - Kartenrand_West_Merc) / Kartenbreite_Merc
y = Kartenhöhe_Pixel * (Kartenrand_Nord_Merc - y_merc) / Kartenhöhe_Nerc
Kann mir jemand sagen wo mein Fehler liegt?
Zuletzt geändert von Steffen81 am 04.09.2008 21:30:48, insgesamt 1-mal geändert.

Benutzeravatar
Christian Gründler
Beiträge: 2209
Registriert: 04.10.2003 13:27:48
Wohnort: Brühl (Baden)

Re: EPS Dateiformat

#9 Beitrag von Christian Gründler »

Steffen81 hat geschrieben:Kann mir jemand sagen wo mein Fehler liegt?
Hallo Steffen,

die von Dir zitierten Formeln zur Ermittlung der Mercator-Koordinaten unterstellen eine kugelförmige Erde, wie man z.B. auf Wikipedia nachlesen kann. Das ist übrigens auch rein formal erkennbar: WGS84 beschreibt ein Ellipsoid; würden die Formeln sich darauf beziehen, müssten die Halbachsen des Ellipsoids (oder seine Abplattung) darin vorkommen.

M.f.G. Christian
Zuletzt geändert von Christian Gründler am 04.09.2008 23:10:36, insgesamt 2-mal geändert.

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#10 Beitrag von Steffen81 »

Deshalb habe ich die Formeln nicht aus Wikipedia entnommen, sondern aus oben genannter Quelle. Diese behauptet, dass die Umrechnung ausgehend von WGS84-Koordinaten erfolgt. Das bedeutet allerdings nicht zwangsläufig, dass dem so ist.

Darf ich deinem Beitrag entnehmen, dass ich für die Berechnung der X-Koordinate den Erdradius zum Äquator und für die Berechnung der Y-Koordinate den Erdradius zum Pol heranziehen sollte?

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

Re: EPS Dateiformat

#11 Beitrag von Roland Ziegler »

Mercator auf Ellipsoid dürfte bei der Rückprojektion Iteration beinhalten. Verlässliche Formeln sollten sich wieder im mehrfach erwähnten Erdöl-Dokument (meist auch mit Beispielen) finden lassen.

Man findet durchaus die Projektion "WGS84" mit Kugel, z.B. sind die Kachelkartendienste so aufgebaut. Allerdings bezeichnet "WGS84" dabei keine Halbachsen, sondern ist ein reiner Bezugswert, eine Art Einheit.

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#12 Beitrag von Steffen81 »

Ich benötige die Projektion WGS84 (ellipsoid) auf Mercator nur in einer Richtung. Ich nutze die Karte nur als Datenquelle: Ich lese die Farbe des Punktes auf der Karte entsprechend der zugehörigen Georeferenz aus.

Danke für den Hinweis. Ich dachte WGS84-Koordinaten beziehen sich immer auf das entsprechende Ellipsoid-Modell.

Das Ergebnis ist nun etwas besser, aber auch unter Berücksichtigung der Halbachsen landet der Punkt zu weit südlich. Es muss also noch ein anderer Fehler vorliegen. Sind die Gleichungen so prinzipiell korrekt?
(Ich finde leider keine Quelle, bei der ich mir auch sicher bin, dass sie auch das berechnet, was ich benötige.)

Code: Alles auswählen

x_merc = Long * Äquatorradius * pi / 180
y_merc = ln( tan( Lat * pi / 360 + pi / 4 ) ) * Polradius
Eine andere denkbare Fehlerquelle wäre die Projektionsart der Karte. Ist diese Karte überhaupt eine Mercator-Projektion?

Bild

Benutzeravatar
Christian Gründler
Beiträge: 2209
Registriert: 04.10.2003 13:27:48
Wohnort: Brühl (Baden)

Re: EPS Dateiformat

#13 Beitrag von Christian Gründler »

Steffen81 hat geschrieben:Eine andere denkbare Fehlerquelle wäre die Projektionsart der Karte. Ist diese Karte überhaupt eine Mercator-Projektion?
Hallo Steffen,

vermutlich nicht. Anhand des dargestellten Gebiets tippe ich auf Gauß-Krüger oder UTM.

M.f.G. Christian

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

Re: EPS Dateiformat

#14 Beitrag von Roland Ziegler »

Kartenprojektionen mit Ellipsoiden sind schon ein wenig komplizierter als bei einer Kugel, so vom Aufwand etwa Faktor 3 bis 8. 8o

Schau Dir Deutschland zum Vergleich in Google Maps, MS Virtual Earth oder Open Street Map an. Das sind Kugel-Mercatorprojektionen.
Zuletzt geändert von Roland Ziegler am 05.09.2008 12:13:02, insgesamt 1-mal geändert.

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#15 Beitrag von Steffen81 »

Ok, jetzt bin ich erstmal wieder bei Null. :sick

Welches Formelwerk muss ich nun heranziehen? Ich gehe zunächst einmal davon aus, dass ich die Längen- und Breitengrad in Gauss-Krüger-Koordinaten umwandeln muss.

Aus dem Thema Umrechnung zwischen WGS84 und Gauß-Krüger habe ich den Hinweis zum Guidance Note Number 7, part 2 gefunden. Jedoch weiß ich die Gleichungen auf Seite 35 nicht recht anzuwenden. Die Parameter sind mir nicht alle klar und scheinbar wird auch ein anderer Ellipsoid verwendet (?Airy 1830?).
Bin ich bei dieser Quelle auf dem Holzweg? Benötige Orientierung. :angst

Benutzeravatar
Christian Gründler
Beiträge: 2209
Registriert: 04.10.2003 13:27:48
Wohnort: Brühl (Baden)

Re: EPS Dateiformat

#16 Beitrag von Christian Gründler »

Hallo Steffen,

für mein Gefühl packst Du die Sache irgendwie falsch an. Was ist denn die "eigentliche" Aufgabe? Das Umrechnen von Länge und Breite in Pixel einer Grafik ist ja nicht die Aufgabe, sondern schon ein (un?)möglicher Lösungsweg.

M.f.G. Christian

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#17 Beitrag von Steffen81 »

Ich möchte zu einer beliebigen Georeferenz (in Deutschland) den Farbwert auf dieser Karte nach vorheriger entsprechender Projektion. Daraus kann ich Informationen gewinnen. Aus Tabellen/Listen lassen sich diese Informationen nicht besser gewinnen, da mir dort
  • die Vollständigkeit,
  • die Gleichheit der Struktur und
  • ein eindeutiges Matching-Kriterium
fehlen.

Ich habe hier ein Dokument gefunden, in dem das ganze (ähnlich wie bei den Ölfirmen) erklärt wird.
Die entsprechenden Berechnungen (S. 14ff, S. 19, S.20ff) habe ich versucht umzusetzen. Entweder stimmt das Ergebnis nicht, oder ich interpretiere es falsch.

Z.B. erhalte ich für die nördliche Spitze Sylts die folgenden Gauss-Krüger-Koordinaten:

Code: Alles auswählen

long:          8.424221°
lat:          55.050039°
x:    -629086817.524m
y:     121826809.731m
Meinen entsprechenden Quelltext für die Funktion steck ich mal lieber nicht hier hinein. Falls jemand reinschauen will, ich habe keinen Fehler entdeckt: Quelltext

Benutzeravatar
Christian Gründler
Beiträge: 2209
Registriert: 04.10.2003 13:27:48
Wohnort: Brühl (Baden)

Re: EPS Dateiformat

#18 Beitrag von Christian Gründler »

Hallo Steffen!
Ich möchte zu einer beliebigen Georeferenz (in Deutschland)
Wo kommt die her? Bzw. warum muß das Länge und Breite sein statt UTM oder Gauß-Krüger?
den Farbwert auf dieser Karte
Warum muß das grade diese Karte sein? Wenn ich es recht sehe, willst Du Infos über den Landkreis. Gibt es wirklich keine andere Quelle, der man diese Infos entnehmen könnte?
nach vorheriger entsprechender Projektion.
Wenn Du die Projektion der Karte nicht wirklich kennst, ist das bestenfalls Blindflug.
Daraus kann ich Informationen gewinnen.
Welche ganz genau?
Z.B. erhalte ich für die nördliche Spitze Sylts die folgenden Gauss-Krüger-Koordinaten:
Steffen, denke eine Moment nach, wie groß die Werte in Gauß-Krüger-Koordinaten (oder auch UTM) werden können! Man sieht auf den ersten Blick, daß die Zahlen viel zu groß sind; außerdem muß x (zumindest auf der Nordhalbkugel) positiv sein.

M.f.G. Christian
Zuletzt geändert von Christian Gründler am 06.09.2008 08:35:21, insgesamt 3-mal geändert.

Steffen81
Beiträge: 672
Registriert: 21.12.2004 14:37:25
Wohnort: Jena

Re: EPS Dateiformat

#19 Beitrag von Steffen81 »

Christian Gründler hat geschrieben:
Ich möchte zu einer beliebigen Georeferenz (in Deutschland)
Wo kommt die her? Bzw. warum muß das Länge und Breite sein statt UTM oder Gauß-Krüger?
Google Maps
Christian Gründler hat geschrieben:
den Farbwert auf dieser Karte
Warum muß das grade diese Karte sein? Wenn ich es recht sehe, willst Du Infos über den Landkreis. Gibt es wirklich keine andere Quelle, der man diese Infos entnehmen könnte?
Weil es die einzige Karte ist, die ich gefunden, die die Information enthält. Darum.
Christian Gründler hat geschrieben:
nach vorheriger entsprechender Projektion.
Wenn Du die Projektion der Karte nicht wirklich kennst, ist das bestenfalls Blindflug.
Ich hoffte, durch probieren die richtige Projektionsart rauszubekommen, oder dass das hier jemand einfach so sieht.
Christian Gründler hat geschrieben:
Daraus kann ich Informationen gewinnen.
Welche ganz genau?
Arbeitslosenquote
Christian Gründler hat geschrieben:
Z.B. erhalte ich für die nördliche Spitze Sylts die folgenden Gauss-Krüger-Koordinaten:
Steffen, denke eine Moment nach, wie groß die Werte in Gauß-Krüger-Koordinaten (oder auch UTM) werden können! Man sieht auf den ersten Blick, daß die Zahlen viel zu groß sind; außerdem muß x (zumindest auf der Nordhalbkugel) positiv sein.
Ja, genau. Ich habe doch geschrieben, dass diese Werte nicht stimmen können!

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

Re: EPS Dateiformat

#20 Beitrag von Roland Ziegler »

Für derartige kleinen Maßstäbe benutzt man eher nicht UTM bzw. Gauß/Krüger, wegen der Zonenteilung. Da würde eher eine Lambertsche Schnittkegelprojektion verwendet werden oder oder oder. Es gibt viele Möglichkeiten. Kugel oder Ellipsoid ist bei diesem Maßstab eigentlich auch schnuppe.

Antworten