Letzte Änderung am 6. Oktober 2019 by Christoph Jüngling
Den zweiten Vortrag am Samstag bestreitet Thomas Pfoch. Er beginnt mit einem ausführlichen Demo, in dem er zeigt, wie eine Open-StreetMap-Landkarte in Access angezeigt und bedient werden kann. Die “Tiles” (kleine Kartenausschnitte von 256×256 Pixeln) werden von einem Server geladen, lokal gespeichert und dann einfach in ein Image-Control gesetzt. Auf die gleiche Weise arbeitet auch OSM oder Google Maps, nur dass bei letzterem die Lizenz eine Rolle spielt. OSM wiederum ist frei und darf sogar kommerziell verwendet werden.
Im späteren Verlauf geht es dann in’s Eingemachte. Thomas erläutert detailliert, wie aus der Kugelerde am Computer eine Flacherde wird. Der Trick dabei heißt “Mercator-Projektion”. Nur um jedes Missverständnis auszuschließen: Natürlich macht er nicht die Erde selbst flach, sondern nur deren Darstellung! Das muss man heutzutage ja extra erwähnen.
Nach diesem Exkurs in die Geodäsie kommt die Umsetzung innerhalb von Access. Entscheidend dabei ist, wie man überhaupt an die Tiles heran kommt, wie man aus den gewünschten Koordinaten den Dateinamen ermittelt, und wie man es zeitlich so hin bekommt, dass man nicht minutenlang warten muss, bis die gesamte Karte geladen ist. Auch hier gibt es einen Trick, nämlich die Parallelverarbeitung. Die Tiles werden mit der XML-Bibliothek asynchron angefordert. Danach wird per Timer-Funktion eines Access-Formulars so oft nachgeschaut, bis der Status auf “ready” steht. Dann können die Tile-Daten gelesen und in eine Datei gespeichert werden.
Wenn ein Tile in einer bestimmten Vergrößerungsstufe einmal geladen ist, bietet sich eine weitere Optimierung an: Man speichert es lokal und greift bevorzugt auf diese Dateien zurück. Auf diese Weise erfolgt das Laden der Karte deutlich schneller als bei einem synchronen Onlinezugriff nacheinander.
Neueste Kommentare