Weiteres Layer zu Open Seamap Layer zufügen

Ich möchte ein Layer mit den Grenzen der neuen Nordsee-Befahrensverordung zum Open SeaMap Layer zufügen. Für OSM gibt es bereits ein entsprechendes umap Layer: https://umap.openstreetmap.de/de/map/nordsbefv_43556?#11/53.6710/7.3033
Da in OSM jedoch die Seezeichen und Fahrrinnen fehlen, wäre es für die Planung sehr sinnvoll, dasselbe in Kombi mit SeaMap zu haben.
Soweit ich weiß, ist mit umap aber nur ein Layer möglich.
Gibt es eine andere Möglichkeit, diese beiden Layer über OSM zu legen?

Hallo,

herzlich willkommen im Forum.

OpenStreetMap ist ein vielfältiges Projekt mit tausenden verschiedenen Anwendungen, die dessen Daten und daraus abgeleitete Produkte nutzen. Aus deinem Beitrag geht leider nicht hervor, ob du

  • entweder Daten in der zentralen, öffentlichen OSM-Datenbank ergänzen möchtest und nur die falsche Terminologie verwendest (“Layer” hat bei uns nicht die GIS-übliche Bedeutung)
  • oder gar keine Daten in der zentralen, öffentlichen OSM-Datenbank ergänzen möchtest, sondern in einer Drittanbieteranwendung einen zusätzlichen Kartenlayer einblenden möchtest.

Im Falle der Drittanbieteranwendung fehlt auch die Angabe, um welche es sich handelt bzw. welche Softwarebibliothek eingesetzt wird.

Viele Grüße

Michael

1 Like

Moin Michael,
danke für die schnelle Antwort!
Ich bin zwar Programmierer, aber in Sachen OSM absoluter Anfänger. Bitte entschuldige die fehlerhafte Terminologie.
In Prinzip möchte ich dasselbe machen wie die verlinkte umap Seite, nur auf Basis Open SeaMap. Ich weiß dabei nicht einmal, ob die Koordinaten der Gebietsgrenzen, über die ich in Form von .gpx Dateien verfüge, dabei in die OSM-Datenbank ergänzt wurden oder nicht.
Wenn du die Zeit hast, hier etwas weiter auszuholen, wäre das wunderbar :slight_smile:
LG
Steffen

Kann mir jemand sagen, ob es überhaupt möglich ist, eine Open-SeaMap Karte mit Grenzen aus einer gpx Datei so zu ergänzen, dass die Änderung nicht in den Standard eingeht, sondern nur bei Aufruf einer URL angezeigt wird?

Wenn ja, welches Tool sollte ich mir dazu ansehen bzw. welches Stichwort googeln?

Ich bin dankbar für jeden Hinweis!
Steffen

Hmmm, sollte doch mit UMAP gehen?

Mit UMAP soll es angeblich nicht gehen:
https://help.openstreetmap.org/questions/86264/openseamap-als-hintergrundkarte-in-umap

Kann das jemand bestätigen?

Also mit Leaflet und dem Leaflet-Plugin omnivore zum Einlesen der GPX-Datei geht das recht unproblematisch. Ich habe mein Beispiel für das Einlesen der GPX-Datei, das Du unter OSM Karte in Webseite einbinden und GPX file automatisch auslesen - #3 by Vinzenz_Mai findest um den OpenSeaMap-Layer erweitert: Leaflet - OpenSeaMap-Layer und GPX-Track

Ist halt immer noch ums Saarland zentriert, aber Du kannst Dir die Markierungen in Saar und Mosel anschauen und anschließend zur Nordsee hochscrollen :smiley:

Relevanter Code:

	// Erzeuge ein Map-Objekt 
	var mymap = new L.map('mapid').setView([50.20, 6.80], 10);

	// und füge die nötigen Tile-Layer hinzu
	// Grundkarte
	var OpenStreetMap = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
		maxZoom: 19,
		attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
	});
	// OpenSeaMap
	var OpenSeaMap = L.tileLayer('https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', {
		attribution: 'Map data: &copy; <a href="http://www.openseamap.org">OpenSeaMap</a> contributors'
	});
	
	OpenStreetMap.addTo(mymap);
	OpenSeaMap.addTo(mymap);

	// GPX-Track hinzufügen
	omnivore.gpx('saarlandschwein3.gpx').addTo(mymap)	

Hallo Steffen, die von dir gesuchten Schutzgebiete sind in OpenSeaMap schon längst drin. Nautische Schutz- oder Sperrgebiete sind Magenta-farbene Linien, die aus vielen "T"s gebildet werden, aussen der Querbalken, innen der Strich. Mit dem Seezeichen-Layer kannst du alle Seezeichen ein-/ausblenden (Menü “Ansicht”). Melde dich doch mal auf der Mailadresse von OpenSeaMap… Gruss, Markus

Hallo Vinzenz,
super, die Darstellung mit OpenSeaMap klappt prima! :slight_smile:
Nur das Einfügen einer eigenen .gpx Datei bekomme ich noch nicht hin.
Auch wenn ich die Datei auf den Webserver hochlade und die URL angebe, wird sie nicht angezeigt:
omnivore.gpx(‘https://www.xxx.de/Wooge.gpx’).addTo(mymap)

Was fehlt?

Hallo Markus,
ja, die Gebiete sind schon drauf, allerdings ebenso unauffällig und farblich nicht voneinander abgehoben, wie in den Seekarten.
Zur besseren Übersicht möchte ich eine knallige Kennzeichnung der unterschiedlichen Schutzgebiete, so wie hier:
https://umap.openstreetmap.de/de/map/nordsbefv_43556?#11/53.6710/7.3033

Du solltest die GPX-Datei über den relativen Pfad laden, d.h. wenn die aufgerufene Datei ebenfalls im Wurzelverzeichnis liegt, dann einfach wie in meinem Beispiel

omnivore.gpx('Wooge.gpx').addTo(mymap)

oder wenn Du Dir den Quellcode meiner Beispielseite anschaust, den etwas aufwändigeren Weg über einen eigenen Layer:

	// GPX-Track hinzufügen und Map entsprechend zentriert anzeigen
	
	var customLayer = L.geoJson(null, {
		onEachFeature: function(feature, layer) {
			layer.bindPopup(feature.properties.Title);
		}
	});
		
	var grenzen = omnivore.gpx('Wooge.gpx', null, customLayer)
		.on('ready', function() {
			// Passe Anzeige an die Grenzen des GPX-Tracks an
			mymap.fitBounds(track.getBounds());
		})
		.addTo(mymap);

Hallo Vinzenz,
es lag daran, dass ich die Dateien lokal gestartet habe.
Jetzt, auf dem FTP Server, gehen auch die gpx Dateien.

Allerdings kann ich die Farbe der gpx Inhalte nicht steuern :roll_eyes:
Warum ist sie immer noch blau, obwohl ich im style ‘red’ angegeben habe?
https://www.swiftease.de/wattpaddler/NordseeBefVO_on_OpenSeaMap.html