User:Bomm

From OpenStreetMap Wiki
Jump to: navigation, search
Userboxes
de Dieser Benutzer spricht Deutsch als Muttersprache.
en-3 This user is able to contribute with an advanced level of English.
ru-1 Этот пользователь владеет русским языком на начальном уровне.
OSM Logo This user submits data to OpenStreetMap under the name bomm.
JOSM Bomm submits data to OpenStreetMap using JOSM.
Gears2.svg Bomm commits code to OpenStreetMap under the name bomm
Deutsche Flagge.jpg This user hails from Germany
Firefox This user prefers Mozilla Firefox.
Go Do Some Mapping.png Bomm uses a Garmin GPSmap76CSx and is willing to answer questions on it from OSM users.


Allgemeines / General

Ich beteilige mich beim Mappen des Gebiets um meinen Wohnort zwischen Schongau und Füssen.

Im Urlaub zeichne ich die Wege auf der Insel Giglio (Italien, Toskanischer Archipel) auf, um eine brauchbare Wanderkarte zu erstellen. (Die bisher verfügbaren Karten sind entweder veraltet oder ungenau.)

Ich benutze ein Garmin GPSMAP76CSx. Ich bin Programmierer.


I participate in mapping the area around my home location between Schongau and Füssen (Germany, Bavaria).

During holidays I record hiking paths on Giglio island (Italy, Tuscan Archipelago) to create a usable hiking map. (The available maps are either outdated or not very pecise.)

I use a Garmin GPSMAP76CSx. I'm a programmer.


OSM-User: bomm

JOSM-WMS-Plugin - Tiled WMS

Deutsch

Ich hatte im Sommer 2008 Erweiterungen am alten WMS-Plugin implementiert, um Probleme beim Zugriff auf den Landsat-Server zu umgehen. Diese Probleme waren nicht mehr vorhanden, als ich meine Änderungen fertiggestellt hatte. Aktuell (1. Aug. 2010) ist der normale WMS-Zugriff wieder nicht möglich. Der Zugriff mittels TiledWMS scheint jedoch zu funktionieren.

Die damaligen Erweiterungen sind jetzt obsolet, da das WMS-Plugin grundsätzlich geändert wurde. Möglicherweise kann man meinen Code als Referenz verwenden, um bei Bedarf entsprechende Erweiterungen am aktuellen WMS-Plugin vorzunehmen.

Der NASA-Server ist manchmal überlastet. Deshalb bietet der Server sogenanntes "tiled WMS" in einer speziellen Variante an, siehe http://onearth.jpl.nasa.gov/index.html und http://onearth.jpl.nasa.gov/tiled.html.

Meine geänderte Version des alten WMS-Plugins ist noch als Patch für den damaligen Stand verfügbar. (Die fertig compilierte Version des modifizierten Plugins steht nicht mehr zur Verfügung.)

Bei den WMS-Einstellungen habe ich zu Name und URL ein Feld "tiled" hinzugefügt, mit dem die Verwendung des Tiled-WMS erlaubt/verboten werden kann. Standard ist "ein", d.h. wenn der Server "tiled WMS" unterstützt, wird es verwendet.

Für jeden konfigurierten Server wird beim ersten Aufruf eine GetCapabilities-Abfrage durchgeführt. Wenn in der Antwort die Abfrage GetTileService vorgesehen ist, wird diese Abfrage ebenfalls ausgeführt und die Antwort analysiert.

Da der NPE-Maps-Server GetCapabilities nicht unterstützt, habe ich ein weiteres Konfigurationsfeld eingebaut, mit dem die GetCapabilities-Abfrage unterdrückt werden kann.

Wenn der Server "tiled WMS" unterstützt und die Verwendung in der Konfiguration erlaubt, werden anstelle einer normalen WMS-Abrage entsprechend dem aktuell gewählten Ausschnitt ein oder mehrere Kacheln (Tiles) nach vorgegebenen Zugriffsmustern angefordert. Dazu wird zuerst das Muster mit der am besten geeigneten Auflösung (pixel per degree) gesucht. Es wird die nächstgrößere verfügbare Auflösung gewählt, sofern eine solche vorhanden ist, andernfalls die größtmögliche Auflösung. Entsprechend dem gewählten Zugriffsmuster werden Abfragen für einzelne Kacheln im vorgegebenen Raster erzeugt, um den gewünschten Bereich komplett zu überdecken. Diese Kacheln werden als Einzel-Bilder der aktuellen Ebene (Layer) hinzugefügt. Die Auflösung der Bilder muß durch JOSM an die aktuelle Vergrößerung angepaßt werden, so wie dies bisher schon erforderlich ist, wenn der Darstellungs-Maßstab bei bereits geladenen WMS-Bildern verändert wird.

English

In summer 2008 I implemented an extension to the old WMS plugin to fix problems when accessing the Landsat server. These problems were gone when I finished my changes. Currently (Aug 1, 2010) the normal WMS access is not possible. The Tiled WMS access seems to work.

The extensions to the WMS plugin are obsolete now because of major changes to internal functions of the plugin. Maybe my code can server as a reference or example in case it should be necessary to implement this for the new WMS plugin.

Sometimes the NASA server is overloaded. That's why the server provides "tiled WMS" in a special variant, see http://onearth.jpl.nasa.gov/index.html and http://onearth.jpl.nasa.gov/tiled.html.

My changed version of the old WMS plugin is still available as a patch for the sourcecode at this time. (The compiled version of the modified plugin is no longer available.)

I added a field "tiled" to name and URL in the WMS preferences, to allow/disallow using tiled WMS. Default is "on", that means if the server supports tiled WMS this will be used.

For every configured service the plugin will do a GetCapabilities request on the first access. If the response lists the GetTileService request, it will send this request and analyze the response.

Since the NPE Maps server doesn't support GetCapabilities, I added another preferences field that allows to suppress the GetCapabilities request.

If the server supports "tiled WMS" and it is enabled in the configuration, the plugin will replace the normal WMS request for the currently viewed area with requests for one or more tiles with pre-defined access patterns. First it searches for the pattern with the best suited resolution (pixel per degree). The plugin will select the next available resolution higher than or equal to the requested resolution, if available, otherwise the highest available resolution. According to the selected access pattern a set of requests for tiles of defined size and grid will be created to cover the currently viewed area. The tiles will be added to the WMS layer as individual images. JOSM has to adapt the resolution as it currently does this already when changing the scale with a WMS image already loaded.