SwissGrid Plugin für Gpsylon
Die folgenden Plugins welche für die Java Applikation Gpsylon von Christof Dallermassl geschrieben wurden, erweitern die original Applikation um die schweizerische Kartenprojektion ("Swiss Grid") mit dem Bezugssystem CH1903 und ermöglichen somit die Integration der topographischen Karten, den Dufourkarten und dem digitalen Höhenmodell von Swiss Topo.
Dieses Projekt beinhaltet keine Kartendaten. Es beinhaltet jedoch Programme um diese von den originalen Swiss Topo Proukte CD's zu extrahieren. Diese Scripte basieren und erweitern das Projekt SwissToPix von Jonas Buchli.
Update: Gpsylon mit SwissGrid auf Openmoko!
Plugin SwissGrid:
Dieses Plugin ist die Basis für alle weiteren hier aufgeführten. Es implementiert die schweizerische Kartenprojektion und stellt die nötigen Tools zur verfügung um die Daten von den Swiss Topo CD's zu extrahieren.
Was macht das Plugin genau?
Beim Aufruf vom Gpsylon wird die Kartenprojektion auf Swissgrid CH-1903 umgestellt. Dies ist nötig, da alle Pixelkarten von Swiss Topo so dargestellt sind. Karten welche wie z.B. von Mapblast stammen, werden dann nicht mehr korrekt dargestellt. Diese wurden in einer anderen Projektion erstellt. Vektordaten und somit alle weiteren Funktionen von Gpsylon, wie GPX import, stehen jedoch weiterhin zu Verfügung. Vektordaten werden beim Anzeigen automatisch in die aktuelle Projektion umgerechnet.
Wie können die Swiss Topo Karten verwendet werden?
Die Perlscripte lesen pro Kartenmassstab ein Adress- und ein Datenfile ein. Im Datenfile sind jeweils ein bis mehrere Kartenblätter enthalten und in kleinen, ca. 256x256 Pixel grossen Bildern abgelegt. Die Adressfiles beschreiben danach die Reihenfolge der Anordnung der kleinen Kartenschnipsel. Am Schluss werden diese Schnipsel mit einer Bildkonvertierungs-Software (ImageMagick) wieder in die ursprünglichen Kartenblätter von 7000x4800 Pixel zusammengefügt. Diese Kartenblätter entsprechen der offiziellen Nummerierung. Z.b. für Bern 1:100000 also KOMB36.png.
Um nun diese grossen Bilder im SwissGrid Plugin zu verwenden, muss nur noch in einem Configfile angegeben werden, welche geographische Ecke der Schweiz nun durch dieses Blatt abgedeckt ist. Für Bern z.b. in maps.txt "pk100/KOMB36.png 46.788997 7.242189 100000 7000 4800". Die Koordinaten werden in WGS84 angegeben und beschreiben das Kartenzentrum. Die Scripte um das maps.txt zu generieren liegen unter "gpstool/plugins/swissgrid/makemaps/gen-maps-txt/"
Eine optimierung in der Ladezeit wird nun erzeugt in dem man die grossen 7000x4800 Pixel grossen Kartenblätter in z.b. 16 kleinere unterteilt. Die nötigen Scripte befinden sich am selben Ort.
Zusätzliche Funktionen:
- MouseMode mit Statusleiste (Anzeige von SwissGrid Koordinaten sowie der Karten-Blattnummer)
- SwissGrid Layer zur Darstellung des Swissgrids
- Scripte zur Extrahierung der Kartendaten (1:50000/1:100000/1:200000/1:500000/1:1Mio/1:2Mio)
- Scripte zur Extrahierung und Konvertierung der SwissName Datenbank (ca. 100000 Objekte)
- Main-Methode in org.dinopolis.gpstool.plugin.swissgrid.SwissProjection zur Umrechnung SwissGrid<->WGS84
Plugin Dufourmap:
Dieses Plugin implementiert einen zweiten Karten-Layer, welcher es ermöglicht, Karten der gleichen Projektion mit variablem Deckungsfaktor parallel darzustellen.
Die Dufourkarte, mit offiziellem Namen Topographische Karte der Schweiz, ist das älteste amtliche Kartenwerk der Schweiz. Sie basiert auf Vermessungen der Kantone und der Eidgenossenschaft und wurde in den Jahren 1845 bis 1865 vom Eidgenössischen Topographischen Bureau unter der Leitung von Henri Dufour herausgegeben.
Dufourkarte auf Wikipedia
- Anzeige mit Überblendung auf die "normalen" Karten
- Die Scripte zur Extrahierung der Kartendaten, sind im SwissGrid Plugin enthalten
DEM Plugin:
Dieses Plugin generiert ab einem Höhenmodell (CH: mlt Files) mittels der Software LandSerf von Jo Wood, im Hintergrund Bilder, welche dann einer Karte überlagert werden. Theoretisch können alle Funktionen von LandSerf wie z.b. Hangneigungskarten generiert werden.
Ein Digitales Geländemodell (DGM) bzw. Digitales Höhenmodell (DHM) ist ein digitales, numerisches Modell der Geländehöhen und -formen. Oft werden auch die englischen Begriffe Digital Terrain Model (DTM) und Digital Elevation Model (DEM) benutzt. Ein DGM bzw. DHM stellt im Gegensatz zum digitalen Oberflächenmodell (DOM) keine Objekte auf der Erdoberfläche dar (z.B. Bäume oder Häuser).
DHM auf Wikipedia- Anzeige der Hangneigung direkt ab DHM
- Hangexposition direkt ab DHM
- Anzeige der Hangneigung für Tourenski Fahrer (0-30°/30-35°/35-40°/40-45°/45-90°)
Installation:
- Gpsylon downloaden und auspacken
- Pugins generieren:
Da das SwissGrid Plugin die Projektion ändert und die Software so für z.b. mapblast Karten unbrauchbar macht, wird es nur als Sourcecode geliefert. Es kann wie folgt gebuildet und installiert werden: - cd plugins/swissgrid/ && ant install_plugin
- analog gilt auch -> cd plugins/dufourmap/ && ant install_plugin
- analog gilt auch -> cd plugins/dem/ && ant install_plugin
- Karten generieren:
Die Scripte generieren pro Kartenblatt ein grosses .png File. - z.b. 1:100000 -> cd plugins/swissgrid/makemaps/swissmap/100v3/ && ./Make-cn100.sh
- z.b. 1:200000 -> cd plugins/swissgrid/makemaps/swissmap/50v2/ && ./Make200.sh
- z.b. 1:100000 (dufour) -> cd plugins/swissgrid/makemaps/dufourmap/ && ./MakeDufour.sh
- usw.
- maps.txt generieren und Karten zerschneiden:
Um die Ladezeit einzelner Karten zu verbessern, können die Karten in kleinere zerhackt werden. - cd gpstool/plugins/swissgrid/makemaps/gen-maps-txt/ && ./gen-maps-txt.pl
- Karten zerkleinern: cd gpstool/plugins/swissgrid/makemaps/gen-maps-txt/ && ./gen-subimage.pl (Pfade müssen direkt im Script angepasst werden!!)
- Applikation mit ./gpsylon.sh starten
- Unter "File -> Preferences" die Pfade zu den Kartendaten und dem maps.txt anpassen (inkl. Dufourkarten und DHM) anpassen
- Markers Datenbank:
Nach dem öffnen wird eine leere Datenbank angelegt. Die Swissname Datenbank kann wie folg importiert werden:- cd plugins/swissgrid/makemaps/swissname/ && make
- java -cp derbytools.jar:derby.jar \
-Dij.protocol=jdbc:derby: -Dij.database=/home//.gpsylon/marker/location_marker_db_derby \
org.apache.derby.tools.ij
ij> run 'location.sql';
ij> select count(*) from gpsylon.markers;
ij> exit;
Download:
http://sourceforge.net/project/showfiles.php?group_id=64816To Do List:
- 1:25000 SwissTopo Karten ab neuen DVD's extrahieren
- DHM ab neuen SwissTopo DVD's verwenden
- Softwaredesign DEM-Plugins veressern
- Integration von freien SRTM-Daten in DEM-Plugin