AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Weltkarte als frei skalierbare Vektorgrafik
Thema durchsuchen
Ansicht
Themen-Optionen

Weltkarte als frei skalierbare Vektorgrafik

Ein Thema von Vitus · begonnen am 20. Feb 2007 · letzter Beitrag vom 20. Feb 2007
Antwort Antwort
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#1

Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 09:48
Hallo mal wieder,

ich habe seit langer Zeit mal wieder Delphi rausgekramt (ist und bleibt einfach die besteste Sprache!) und wollte folgendes Problem lösen:

Ich möchte eine Weltkarte in Form einer Vektorgrafik in mein Programm einbauen. Die Komponente, die ich dazu schreiben möchte sollte folgendes ermöglichen:

1. Laden einer Vektorgrafik, unter Umständen in einem custom format
2. Bereitstellen von skalier- und pan- Funktionen
3. Bereitstellen von Funktionen zum Einfügen von Linien, Bezeichnungen und Symbolen
4. Letztere am besten als bitmap Grafik => also eine Vermischung aus Vektor und Bitmap
5. Funktionen für die Umrechnung von Polarkoordinaten zu Planarkoordinaten der Karte

Die Karte selbst braucht nicht sehr detailiert zu sein. Im Grunde reichen mir die groben Küstenlinien und eventuell eventuell ein paar Flüsse.



Da ich in solchen Grafikroutinen wirklich unerfahren bin wollte ich mich erstmal nach Euren Erfahrungen auf diesem Gebiet erkundigen. Gibts Referenzprojekte mit Quellcode? Wo finde ich die Vektorgrafiken für meine Erde? Welche Probleme ergeben sich aus der Erdkrümmung und wie kompensiert man diese?

Besten Dank für die Aufmerksamkeit!

Gruß vom
Vitus
Gott segne diese Heiden! [Homer J. Simpson]
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 10:14
Wenn du größere Entfernungen berechnest, musst du die Erdkrümmung mit einbeziehen.

Stichwort Bogenmaß bzw. Kreisbogen.

Du kannst den Kreisbogen durch:

b = pi * r * a/180

berechnen wobei r der Radius der Erde(ich glaube irgendwie 6.371 km) ist und a der Winkel zwischen Start und Endpunkt der Messung am Erdmittelpunkt, also einfach den Winkel zwischen 2 Gerade ausrechnen: von Startpunkt durch den Mittelpunkt und von Endpunkt zum Mittelpunkt.

Edit1:
Hmm obwohl die Erde ist ja (näherungsweise) ne Kugel und kein Kreis... aber soviel anders sollte die Berechnung nicht sein. Wenn man den Abstand bestimmt, kann man sich ja das auch als Kreisvorstellen mit beiden Orten auf der Kreisbahn... Korrigieren falls ich falsch liege.
Jan
  Mit Zitat antworten Zitat
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 10:31
Hallo Hörnchen,

danke für die Antwort! Allerdings ist die Mathematik mein kleinstes Problem. Meine Frage war eher Allgemeiner Natur:

Wenn ich die kugel- (ellypsoide-, birnen- oder wasauchimmer-) förmige Erdoberfläche zweidimensional darstelle, ergeben sich ja zwangsläufig Fehler. Je nach dem, welche Projektionsart man nun zugrunde legt, variiert die Fehlerart.
Meine Karte soll so geschaffen sein, dass ich sowohl kleine Entfernungen von ein paar Meilen, bis zu einem Gesamtbild der gesamten Oberfläche darstellen kann. Die Frage ist also eher: welche Projektionsart ist zu wählen und welche Fehler entstehen dadurch.

Gruß vom
Vittl
Gott segne diese Heiden! [Homer J. Simpson]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 10:36
Google doch einfach mal nach Bei Google suchenkarte projektion.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 10:39
achso, ich dachte das soll 3Dimensional werden....
Jan
  Mit Zitat antworten Zitat
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 10:45
Zitat von Eichhoernchen:
achso, ich dachte das soll 3Dimensional werden....
Nope. Eine stinknormale, zweidimensionale Weltkarte.

Ich würde eigentlich ganz gerne Schritt für Schritt vorgehen und deshalb nochmal zu meinen ersten Fragen zurückkommen:

Zitat:
Gibts Referenzprojekte mit Quellcode? Wo finde ich die Vektorgrafiken für meine Erde?
Gott segne diese Heiden! [Homer J. Simpson]
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 12:01
Hallo,

bezüglich Referenz-Quellcode kann ich Dich an meine SVG-Bibliothek verweisen. Das Einfügen von zusätzlichen Objekten (Bitmaps und Vektoren) ist damit relativ einfach möglich. Nur die Koordinatenumrechnung musst Du manuell machen.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 12:16
Moin xaromz,

das sieht schon mal sehr interessant aus! Vielen Dank für den Link.
Du schreibst auf der Seite
Zitat:
Benötigt GDI+ (Bestandteil von Windows XP)
Bedeutet das im Umkehrschluss dass man die Programme ausschließlich auf XP/Vista Rechnern laufen lassen kann? Falls ja: kann man das umgehen? Gilt das nur für die Entwicklung?

Grüße vom
Vittl
Gott segne diese Heiden! [Homer J. Simpson]
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Weltkarte als frei skalierbare Vektorgrafik

  Alt 20. Feb 2007, 13:26
Hallo,
Zitat von Vitus:
Du schreibst auf der Seite
Zitat:
Benötigt GDI+ (Bestandteil von Windows XP)
Bedeutet das im Umkehrschluss dass man die Programme ausschließlich auf XP/Vista Rechnern laufen lassen kann? Falls ja: kann man das umgehen? Gilt das nur für die Entwicklung?
Das gilt nicht nur für die Entwicklung. GDI+ ist eine Erweiterung der Graphikschnittstelle von Windows (dem GDI). Diese Erweiterung ist erst seit XP Bestandteil von Windows. Unter älteren Systemen kann man einfach die Bibliothek (GDIPLUS.DLL) in's Programmverzeichnis werfen.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz