AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenStreetMaps Karten rendern

Ein Thema von robinWie · begonnen am 18. Dez 2009 · letzter Beitrag vom 20. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#1

OpenStreetMaps Karten rendern

  Alt 18. Dez 2009, 15:26
Hi,
ich wollte bei einem Programm eine Karte hinzufügen. Erst hab ich einfach Bilder von Karten genommen und dann darauf die Koordianten interpoliert, aber das ist sehr aufwändig zu verwalten und man muss ständig, teilweise große Bilder laden.
Da hab ich gesehen, dass man sich bei OpenStreetMaps die rohdaten von Karten runterladen kann. Das sind osm Dateien die genauso wie XML aufgebaut sind, also hab ich nach nem XML parser gesucht und himXML gefunden, aber das läuft bei mir nich weil ich noch D2005 habm kennt ihr noch einen anderen der unter D2005 läuft und schnell ist?

Mein weiteres Problem ist, ich hab noch nicht wirklich erfahrung mit dem rendern von Graphiken (außer Anloge zeiger) und würde das jetzt mit nen TImage und Canvas angehen ist das vernünftig und gibt es da bessere Methoden? Nich das ich mich schon am anfang total verenne^^

Ich bräuchte da mal nen paar Denkanstöße... ich weiss nämlich nicht wirklich wie ich das angehen soll...

mfg
Robin

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: OpenSteetMaps Karten rendern

  Alt 18. Dez 2009, 15:39
http://www.delphipraxis.net/internal...t.php?t=156014
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: OpenSteetMaps Karten rendern

  Alt 18. Dez 2009, 15:40
http://www.delphipraxis.net/internal...t.php?t=154963
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

Re: OpenSteetMaps Karten rendern

  Alt 19. Dez 2009, 09:43
Huch, soviele meiner Themen.

Die einfachste Möglichkeit wäre es, sich die Karten vom OSM-Server herunterzuladen. Dafür musst du die Geokoordinaten in Slippy Map Tilenames umwandeln, um dann die Kacheln für eine Slippy Map herunterladen zu können. Die solltest du aber local cachen. Außerdem solltest du nur die herunterladen, die du auch wirklich brauchst.

Es ist nicht ohne, das Ganze. Ich habe mich auch an einem eigenen Renderer versucht, bin aber (vorerst) dran gescheitert. Das Problem ist, dass du auf dem Recher keine unendlichen Resourcen hast. D.h., auch auf dem Rechner solltest du Kacheln erstellen. Nur musst du dann drauf achten, dass du auch alle Weg usw. bis zu den Kachelngrenzen bekommst. D.h., die erstellte Kachel muss aus einer Kachel resultieren, die um ein vielfaches Größer ist. Anschließend müssen die Kacheln ja auch noch einzeln auf dem Zielrechner erstellt werden.

Wenn du also nicht die Resourcen hast, einen eigenen MapServer aufzusetzen, würde ich den Onlinezugriff mit Cachefunktionalität einbauen. Der Cache sollte dabei eine Verweildauer von 7 Tagen haben. Solltest du doch einen eigenen Render schreiben, freue ich mich auf Ergebnisse.

//Nachtrag: Hinzu kommt außerdem noch, dass du dich auch noch für eine winkelgetreue Projektion entscheiden solltest. Mercator ist hier die gängigste. Auch das musst du dann in der Erstellung deiner Karten beachten.

//2. Nachtrag: Ich habe an dieser Stelle mal eine kleine Importklasse für OSM zum Testen veröffentlicht. Arbeitet mit RegEx. Du kannst ja mal einen Blick drauf werfen, wenn du magst.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#5

Re: OpenSteetMaps Karten rendern

  Alt 20. Dez 2009, 13:21
Zitat von Daniel G:
//2. Nachtrag: Ich habe an dieser Stelle mal eine kleine Importklasse für OSM zum Testen veröffentlicht. Arbeitet mit RegEx. Du kannst ja mal einen Blick drauf werfen, wenn du magst.
Thx ich schau mir das mal an. Dran gedacht mir die fertigen Karten vom Server zu laden hab ich auch schon, aber ich will nicht so vom Internetabhängig sein wenn man das mal unterwegs braucht
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#6

Re: OpenSteetMaps Karten rendern

  Alt 20. Dez 2009, 15:15
Zitat von Daniel G:
Arbeitet mit RegEx
XML + Regex ist aber eine recht gefährliche Mischung. Ein Parser ist eigentlich immer die bessere Wahl, wenn man einen hat.
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#7

Re: OpenSteetMaps Karten rendern

  Alt 20. Dez 2009, 15:35
Zitat von NamenLozer:
Zitat von Daniel G:
Arbeitet mit RegEx
XML + Regex ist aber eine recht gefährliche Mischung. Ein Parser ist eigentlich immer die bessere Wahl, wenn man einen hat.
Das ist ja gerade das Problem ich hab kein Parser^^ und ich glaub selber einen zu entwickeln steht von der Arbeit her nicht umbedingt in einem Verhältnis zum Resultat, das würde ja bald genauso viel Zeit kosten wie das eigentliche Projekt.
Kennst du evtl einen?
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

Re: OpenSteetMaps Karten rendern

  Alt 20. Dez 2009, 15:42
Zitat von robinWie:
Kennst du evtl einen?
Gibt es TXMLDocument unter Delphi2005? Ansonsten könntest du es noch mit der xmllib von Muetze1 probieren, falls du die noch irgendwo findest.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#9

Re: OpenSteetMaps Karten rendern

  Alt 20. Dez 2009, 15:51
Zitat von robinWie:
und ich glaub selber einen zu entwickeln steht von der Arbeit her nicht umbedingt in einem Verhältnis zum Resultat, das würde ja bald genauso viel Zeit kosten wie das eigentliche Projekt.
Och, soooooo schwer ist das garnicht

[add]
TXMLDocument gab es schon in D7 und da es zu Microsoft gehört, gibt es das in jedem Delphi.

Mützes Lib gibt's auf seiner Webseite.
Und es gibt auch noch einige andere Libs ... diese liegen sogar teilweise meinem himXML bei ... im Unterordner "other".
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#10

Re: OpenStreetMaps Karten rendern

  Alt 20. Dez 2009, 20:38
Das Thema hatten wir damals schon sooooooo sehr durchgekaut. Das Problem war einfach, dass es keinen vernünftigen SAX-Parser gibt/gab. Denn man kann nicht eine 4 Gigabyte große Datei im RAM vorhalten. Deshalb scheidet Mütze's Lib auch aus.

Dass RegEx gefährlich ist, ist mir bewusst, allerdings ist das in diesem Falle nicht tragisch, denn das Format ist bekannt.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:01 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