![]() |
OpenStreetMaps Karten rendern
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 ![]() 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] |
Re: OpenSteetMaps Karten rendern
|
Re: OpenSteetMaps Karten rendern
|
Re: OpenSteetMaps Karten rendern
Huch, soviele meiner Themen. :mrgreen:
Die einfachste Möglichkeit wäre es, sich die Karten vom OSM-Server herunterzuladen. Dafür musst du die Geokoordinaten in ![]() ![]() 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. :stupid: //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 ![]() |
Re: OpenSteetMaps Karten rendern
Zitat:
|
Re: OpenSteetMaps Karten rendern
Zitat:
|
Re: OpenSteetMaps Karten rendern
Zitat:
Kennst du evtl einen? |
Re: OpenSteetMaps Karten rendern
Zitat:
|
Re: OpenSteetMaps Karten rendern
Zitat:
[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". |
Re: OpenStreetMaps Karten rendern
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. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz