Karten über WMS erzeugen?

  • Hallo weißer Hase ;)!


    Eine Möglichkeit, die wfl-Dateien von CacheWolf in kal-Dateien für Glopus umzuwandeln haben wir in diesem Thread leider noch nicht gefunden. Deshalb habe ich hier kleines Tool hochgeladen, mit dem man direkt Karten von einem WMS-Server herunterladen und kal-Dateien erzeugen kann. Also im Prinzip die WMS-Funktion von CacheWolf nur für Glopus. Hat aber leider den Nachteil, dass es keine grafische Benutzeroberfläche dafür gibt und man sich ein wenig mit der Kommandozeile und verschiedenen Koordinatensystemen auseinandersetzen muss. Dafür hat man dann eine sehr flexible Lösung mit der man recht zuverlässig auch größere Gebiete in Glopus-geeignete Karten umwandeln kann.
    Inzwischen hat Peter auch in den GMM eine Funktion für den WMS-Download eingebaut, der bei mir bisher aber leider nicht funktioniert hat (siehe dieser Thread).


    Viel Erfolg!
    René

  • Genau -- mein Problem ist momentan eher, wie ich die Ecken des Rechtecks herausfinden kann.
    Wie kann man sehen, welche Ecken man für das cmd-Script einzusetzen hat, um die heruntergeladenen Karten dann zu konvertieren?


    Wäre es allzuviel Änderungsarbeit im Script, wenn man einfach den Kasten in den "üblichen" Koodinaten und nicht in Gauß-Krüger-Koordinaten eingeben könnte?

  • Hallo,


    wie ich bereits in einem früheren Beitrag geschrieben habe, benutze ich, was Deutschland angeht, den Deutschlandviewer. Dort werden unter dem Kartenausschnitt die Koordinaten (Hoch bzw. Rechts) angezeigt. Man muss halt immer aufpassen, welchen GK-Streifen man verwenden muss (siehe auch mein Beitrag vom 07.01. bzw. die Frage von AndRo vom 06.01.). Für andere Länder gibt es in der Regel irgendwo auch einen ähnlichen Viewer mit dem das geht.
    Das Script anzupassen wäre möglich. Bisher ist es halt so, dass die Werte direkt für den WMS-Aufruf verwendet werden, ohne Umrechnung. Ich sehe aber ein, dass es um einiges einfacher wäre, wenn man hier ganz "normale" WGS-84-Koordinaten in Grad und Minuten eingeben könnte. Ich werde mal schaun, ob ich das so erweitern kann - allzuviel Aufwand sollte das nicht sein. Ich kann allerdings nicht versprechen, wann ich dazu komme.


    Viel Spaß,
    René

  • Code
    1. Das Script anzupassen wäre möglich. Bisher ist es halt so, dass die Werte direkt für den WMS-Aufruf verwendet werden, ohne Umrechnung. Ich sehe aber ein, dass es um einiges einfacher wäre, wenn man hier ganz "normale" WGS-84-Koordinaten in Grad und Minuten eingeben könnte. Ich werde mal schaun, ob ich das so erweitern kann - allzuviel Aufwand sollte das nicht sein. Ich kann allerdings nicht versprechen, wann ich dazu komme.


    Hi. Gibt es bereits Fortschritte irgendeiner Art in diese Richtung? Es wäre wirklich genial, wenn man den Cachewolf und das Script irgendwie vereinen könnte...

  • Hallo,


    ich bin mit meinem ersten Versuch leider gescheitert. WMS2Glopus scheint bei cs2cs hängen zu bleiben. Im Debug Modus sieht der Aufruf dann so aus:



    und dann hängt es. Hat jemand vielleicht einen Tipp, was ich da falsch gemacht haben könnte?


    Servus
    Wolfgang

  • Hallo,


    erstmal vielen Dank für das Tool WMS2Glopus. Ich habe es bisher unter Windows eingesetzt und auch wenn es ab und zu etwas gedauert hat, bin ich schlussendlich doch immer zu meinen gewünschten Karten gekommen.


    Nun wollte ich das Tool unter Linux einsetzen - Java sollte ja plattformunabhängig sein. Allerdings scheitert es da schon an den Verzeichnisnamen - unter Linux ist der Verzeichnistrenner ein Slash (/) und kein Backslash (\) wie unter Windows. Kann man hier was machen?


    Grüße,
    Martin

  • Hallo Martin,


    ja, leider habe ich den Verzeichnistrenner \ fest eincodiert. Da ich nur mit Windows getestet habe, ist mir das bisher nicht aufgefallen. Man könnte das verhältnismäßig leicht umbauen, ich werde mal schaun, ob ich das in den nächsten Tagen mal machen kann.


    Gruß,
    René

  • Hallo zusammen,


    nachdem nun wieder einige Tage ins Land gegangen sind hatte ich gestern nochmal etwas Zeit, WMS2Glopus nochmal ein wenig zu erweitern. Dabei habe ich auch den Verzeichnistrenner angepasst, so dass es jetzt auch (wenn man die entsprechenden Pfade in der .ini-Datei korrekt einträgt) auch unter anderen Betriebssystemen (z. B. Linux) laufen sollte (habe ich aber nicht getestet).
    Die große Änderung aber ist, dass man sich zukünftig das Zusammensuchen der Koordinaten sparen kann und sich (fast) keine Gedanken mehr über Koordinatensysteme machen muss. Dazu gibt es jetzt eine neue Syntax, mit der WMS2Glopus aufgerufen werden kann:

    Code
    1. java WMS2Glopus <wms-configuration> <google-maps-link> [<scale> <size>]


    Wie man sieht, gibt es nur noch zwei verpflichtende Parameter. Die WMS-Konfiguration muss natürlich wieder angegeben werden und dahinter kann man jetzt einfach einen Google-Maps-Link angeben, der das Gebiet definiert, das heruntergeladen werden soll (unter Linux setzt man das am besten wegen der diversen Sonderzeichen in Anführungszeichen). Diesen Link erhält man, indem man auf Google Maps den Kartenbereich durch Zoomen und Verschieben auf das Gebiet einstellt, das man herunterladen möchte. Dann klickt man oben rechts auf "Link" und kopiert den Text aus dem Feld "Link in E-Mail oder Instant Message einfügen" in die Zwischenablage (STRG-C). Diesen Link fügt man dann in den WMS2Glopus-Aufruf ein (auf der Windows-Kommandozeile z. B. einfach per Rechtsklick). WMS2Glopus lädt dann "ungefähr" das ausgewählte Gebiet herunter (es werden immer volle Kacheln á 1000x1000 Pixel geladen, das heißt, das geladene Gebiet ist in der Regel etwas größer als die Auswahl). Die (in dieses Syntax) optionalen Parameter scale und size werden, wenn sie nicht angegeben werden, wie folgt gefüllt:

    • scale: gemäß der "recommended scale" in der .wms-Datei
    • size: 1000 (Pixel)


    Damit sollte man in der Regel schon ganz gut zurecht kommen. Als Koordinatensystem wird jetzt (intern) immer der erste Eintrag aus der Liste in der .wms-Datei gewählt. Solange das ein kartesisches Koordinatensystem ist, braucht man sich darüber keine Gedanken zu machen, da WMS2Glopus alles intern umrechnet. Anderenfalls muss man evtl. die .wms-Datei bzgl. der Koordinatensysteme manipulieren.


    Die alte Variante, bei der man die Koordinaten und das Koordinatensystem explizit angibt, ist nach wie vor auch verwendbar.


    Die Installation erfolgt wie gehabt. Wer updaten möchte, kann auch nur die beiden .class-Datei über die vorhandene Installation drüberkopieren.


    Über Rückmeldungen, ob diese neue Version funktioniert und gut bedienbar ist, freue ich mich natürlich. Änderungswünsche sind auch willkommen, auch wenn ich (wie man sieht) eine zeitnahe Umsetzung nicht garantieren kann.


    Viel Erfolg,
    René

  • Hallo,


    ich habe jetzt eine Version 0.41 bereitgestellt (siehe Dateianhang). Es war noch eine überflüssige Debug-Ausgabe enthalten. Zudem gibt es noch ein neues Feature, das ich selbst immer wieder brauche. Einige WMS-Server liefern an den Rändern des jeweils abgedeckten Gebietes nur weiße Kacheln zurück. Bei der realisierten Flächenauswahl über ein Rechteck lässt sich das leider nicht vermeiden. Um den Effekt etwas zu mildern, werden in der neuen Version alle Kacheln mit weniger als 100 "nicht-weißen" Pixeln verworfen. Der Wert 100 ist dabei konfigurierbar in der WMS2Glopus.ini über den Parameter minNonWhitePixels. Man kann ihn auch auf 0 setzen, dann werden keine Kacheln verworfen.


    Viel Spaß,
    René


  • Hallo René,
    vielleicht kannst du mir bei der Suche nach einem aktuell gültigen Ticket für geonorge.no weiterhelfen.
    Die Tickets aus den beiden no_topo.wms Dateien hier im Forum sind wohl nicht mehr gültig:


    http://wms.geonorge.no/skwms1/wms.topo/TI_G96F670?REQUEST=GetCapabilities&VERSION=1.1.1&SERVICE=WMS


    http://wms.geonorge.no/skwms1/wms.topo/TI_1J9L3L8D?REQUEST=GetCapabilities&VERSION=1.1.1&SERVICE=WMS


    bringen jeweils die Fehlermeldung:


    *** 'TICKET' ER UGYLDIG ***


    Wenn ich die Seite
    http://www.geonorge.no/advancedTicket/go
    aufrufe bekomme ich im BrowserFenster


    var featuredLinks = new Array();


    und sonst nichts, da steht leider nichts "wms.topo" und aktuellem Ticket.


    Viele Grüsse
    Jürgen

  • Hallo Jürgen,


    leider kann ich auch kein aktuell gültiges Ticket mehr finden. Anscheinend muss man sich dort inzwischen anmelden, um ein Ticket bekommen zu können. Es bleibt also wohl nur noch der Weg über den öffentlichen Client. Dazu gibt es auch Tools, die das automatisieren können, habe ich aber selbst noch nicht getestet. Im Trekbuddy-Forum gibt es dazu einen Thread. TrekBuddy arbeitet mit OziExplorer-Karten, die kann man ganz gut nach Glopus konvertieren (z. B. mit map2kal aus den GeoTools von frank334). Viel Erfolg und berichte mal, ob es geklappt hat!


    Grüße,
    René