Meine kleine Leaflet-Komposition

siehe https://osm.wno-dv-service.de/leaflet1/test5.jsp

SQL:


select "addr:housenumber" hn,
       way
  from planet_osm_point
 where "addr:housenumber" is not null
union
select "addr:housenumber" hn,
       pointonsurface way
  from planet_osm_polygon
 where "addr:housenumber" is not null

Style:


<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0" 
                       xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" 
                       xmlns="http://www.opengis.net/sld" 
                       xmlns:ogc="http://www.opengis.net/ogc" 
                       xmlns:xlink="http://www.w3.org/1999/xlink" 
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <!-- a Named Layer is the basic building block of an SLD document -->
  <NamedLayer>
    <Name>Adressen</Name>
    <UserStyle>
      <Title>Adressen</Title>
      <FeatureTypeStyle>
        <Rule>
          <Name>rule1</Name>
          <Title>Adresse</Title>
          <Abstract>...</Abstract>

          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>hn</ogc:PropertyName>
            </Label> 
          </TextSymbolizer>

        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Bilder sagen mehr als 1000 Worte:


Zoom 17 ohne Hausnummern + Hydranten-Overlay

Zoom 17 ohne Hausnummern + Hydranten-Overlay + HN-Overlay

Zoom 18 mit Hausnummern + Hydranten-Overlay

Aufwand: < 30 Minuten.

Gruss
walter

Er hat doch ganz klar geschrieben worauf es ihm ankommt und wo sein Problem liegt.

  • Tileserver ist in die Jahre gekommen und Hardware steht im Gerätehaus.
  • Hardware müsste ersetzt werden
  • Onlineanbindung insbesondere Upload aus dem Gerätehaus ist nicht prikelnd DSL 6000
  • zukünftig besser zugriff über mobilgeräte als Ausdruck auf Papier

Daher suchte er eine schlichte Lösung auf (kostenlosem) Webspace eine Mapnikgrundkarte mit Hydranten.
Damit hätte er die Hardwareproblem vom Hals der Zugriff über Mobil geht quasi immer und der Grund warum die Hardware bisher im Gerätehaus lief war die Angst vor dem Internetausfall, welcher aber bisher nie eingetreten ist.

Und genau deswegen wäre die Zusammenarbeit (ggf. zusammen mit anderen Feuerwehren) mit OpenTopoMap in Verbindung mit einer Leaflet-Seite mit Hydrantendaten auf einem kleinen Webhoster eine gute Möglichkeit. :wink:

Klaro, seh ich auch so - nur warum bringt er immer wieder den “neuen Tileserver” ins Spiel?

das ist es ja, was ich nicht verstehe.

Gruss
walter

Weil er die Höhenlinien der Opentopomap schön findet! Dort aber die Hausnummern und zwei Zoomstufen mehr braucht. Damit muss er wieder selber rendern.

NÖ: https://osm.wno-edv-service.de/leaflet1/test5.jsp

click mal auf Contours
oder auch auf Hillshading
oder auch auf beides.

Gruss
walter

ps: die Ränder für die Tiles brauch ich gerade zum Testen.

Die Höhenlinien der OpenTopo sind schon schöner, weil sie das restliche Kartenbild nicht erschlagen, aber es stimmt: man muß nicht notwendigerweise selbst rendern. Die übliche braune Farbe der Topo Höhenlinien kollidiert bei der Standard-Mapnik-Karte leider mit den tracks.

Baßtölpel

Das ist eine Testseite - Styling ist auf der zur Zeit nicht das Thema. Ein wenig am Style rumfeilen und dann geht das schon. Mit zoom-abhängiger Darstellung hab ich mich hier noch nicht beschäftigt. derzeit reicht mir zu wissen, dass das möglich ist.

hab mal von schwarz auf grau umgestellt. dünner geht nicht, da 1 Pixel das Minimum ist. Jetzt müsste man nur noch die Abstufungen variabel machen.

Gruss
walter

Wenn das nur eine Testseite sein soll, kollidiert das mit der Empfehlung, er brauche nicht selbst zu rendern. Eine Testseite kann ja auch ohne Vorwarnung mal verschwinden.

Vielleicht sollten wir ein lifecycle Konzept auch auf OSM basierte Websites anwenden:
-experimentell
-ich werde versuchen, diesen service mindestens die nächsten 12 Monate anzubieten
-keine Zeit, den den service weiterzuentwickeln, wird aber weiterlaufen
-brauche HW/SW Unterstützung
-muß den service demnächst einstellen, wer übernimmt.

Baßtölpel

???

Was hat das mit “selber rendern” zu tun?

Wie kommst du nur auf die Idee, dass das ein Service sein soll? Ich teste hier und zeig euch ab und zu mal was “nettes”. Genauso wie der Thread-Ersteller es gewollt hat.

Mehr nicht - nix anderes - nada.

Du hast es selbst erst vor zwei Stunden geschrieben:

Ist das nun ein Angebot, daß ein Rettungsdienst - mit einer gewissen Anforderung an Verfügbarkeit - dieses Angebot nutzen kann oder nicht?

Macht nur…

Für OL2 finde ich hier jede Menge Spielmaterial zum klauen und weiterverwerten mit eigenen Programmen auf eigenem Rechner. Für weiterführende hilfreiche Tipps wüsste ich auch, an wen ich mich wenden könnte.

Mit Support und Ersatzteilen für Leaflet und OL3 sieht es noch eher schlecht aus. Dabei wäre es sehr wünschenswert, wenn die Leute erst mal über diese beiden stolpern würden für eigenes Zeug. Jedenfalls wenn sie ganz neu anfangen sollten sie eher in diese Richtung gschubst werden.

Grüße, Max

Vielleicht war das nur der Hinweis darauf, dass man das auch anders machen kann. Vielleicht hat er die Höhenlinien als Shapefile bzw. muss man sie auch nicht ständig erzeugen, da die Berge in Mitteleuropa selten schnell wachsen.

Ich möchte mich hier auch mal kurz zu Wort melden und berichten, wie der aktuelle Stand der OpenTopoMap ist:

Seit mehreren Monaten befindet sich unser Server im Notbetrieb, was heißt, dass die Datenbank nicht mehr automatisch aktualisiert wird und nur noch die Zoomstufen 1-15 ausgeliefert werden. Prinzipiell ist natürlich geplant, den Normalbetrieb wieder aufzunehmen. Grund für den Notbetrieb war eine Hardwareaufrüstung (neue 1,1TB große SSD), auf der die Datenbank liegen soll, und weil ich einfach zu wenig Freizeit hatte. In diesem Zuge soll das Rendersystem verbessert werden (niedrige Zoomstufen aus vorher generalisierten Daten, Bathymetrie, Umstellung auf Mapnik 3.0, weltweite Abdeckung, Zoomstufen 16, 17 und ggf. 18).

Seit Kurzem geht es in der Entwicklung wieder voran. Da es sich um grundlegende Änderungen handelt, werden wir mit diesen gleichzeitig online gehen. Bis dahin soll der Notbetrieb weiterlaufen, weil dieser zuverlässig funktioniert.

An dieser Stelle auch nochmal der Hinweis: Die OpenTopoMap hat 30.000 Benutzer im Monat, über 1 TB Traffic im Monat, eine feste Domain und wirkt damit mehr oder weniger professionell. Dennoch können wir niemals den Betrieb garantieren!! Außer einem zweiten Notserver, der manuell aktiviert werden muss, haben wir keinerlei Mechanismen zur Gewährleistung des Betriebs. Die OTM ist also nur bedingt BOS-tauglich.

Ein “Angebot” von mir ist das natürlich nicht.

Die Schummerung kommt von einem externen freien Anbieter und kann so natürlich einfach in jede zu erstellende OL- oder Leaflet-Anwendung übernommen werden.
Die Höhenlinien sind lokal in eine DB importierte SRTM-Daten, die Europa abdecken. Das müsst ihr natürlich selber vor Ort machen. Es gibt aber auch Shape-Files, die man nehmen könnte.

Von Mapbox gibt es inzwischen auch freie Höhen-Daten, aus denen man online Schummerung und Höhenlinien berechnen kann - wenn man es kann. Ich kenne mich damit aber (noch) nicht aus. Ist irgendwas mit Vector-Tiles.

Gruss
walter

Ich habe ein Darstellungsproblem bei den Hausnummern gelöst und konnte daher die Tile-Borders wieder abstellen. Aber gut zu wissen, wie man die anstellt. :slight_smile:

.leaflet-tile { border: solid blue 1px; }

Jetzt kommt auch ein Popup bei den Hausnummern, aber nur wenn man ganz genau die Mitte trifft. Da muß ich wohl mal am Fangradius für punktförmige Objekte drehen. Ist aber eine Schraube im GeoServer-Style.

Somit hab ich jetzt für den Kollegen eine Muster-Karte mit externem Hintergrund, Schummerung, Höhenlinien, Hydranten und markanten Hausnummern. Die beiden letzten auch mit (unhübschen) Popups.

Gruss
walter

Könntest du mal ausführen welche Objekte wie gerendert werden? Was ich so erkennen konnte: Hydranten (verschiedene Symbole, Durchmesser, Druck, Durchfluß), Rettungspunkte (Ref), Feuerwehrhäuser (Ref). Krankenhäuser? Hubschrauberlandepunkte? …

Gruß Klaus

Hi,

ich habe mich mal wieder ein wenig auf meine “Leaflet-Kompositionen” gestürzt :wink: und hänge da fest.

Kennt jemand eine Möglichkeit, Overlay-Layer per Javascript zu aktivieren?

Ich möchte wie in meinen alten OL-Anwendungen die aktiven Einstellungen wie Baselayer oder aktive Overlays abspeichern und beim nächsten Aufruf der Anwendung genau so wieder aktivieren. Alles kein Problem, wenn ich den letzten Schritt für die Overlays auch hinkriege.

Hab mich auch schon an die Leaflet-Kollegen gewendet, harre aber noch der Antwort. https://groups.google.com/forum/#!forum/leaflet-js

Gruss
walter

Meinst du sowas: http://jsfiddle.net/Lkx64azg/1/ ?



<script type='text/javascript'>//<![CDATA[
$(function(){
// uses http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css
// uses http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js


var map = L.map("map").setView([51.52, 10], 14);

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);

// code für lonvia-Overlay geklaut von OpenTopoMap

		var lonviaHikingUrl = 'http://tile.lonvia.de/hiking/{z}/{x}/{y}.png',
			lonviaHikingAttribution = 'Wanderwege &copy; Lonvia',
			lonviaHiking = new L.TileLayer(lonviaHikingUrl, {maxZoom: 16, detectRetina:true, attribution: lonviaHikingAttribution, opacity: 0.7});
	


$("#anmachen").click(function() {
    lonviaHiking.addTo(map);
    
});
});//]]> 

</script>

</head>
<body>
  <div id="map"></div>
<input type="button" id="anmachen" value="Mach die Wanderrouten an"></input>
<div id="t"></div>

Dann wäre es grob:

  1. Layer im JS-Code erzeugen, aber nicht .addTo(map) aufrufen
  2. im entsprechenden Code dann layer.addTo(map) aufrufen.

Danke,

eigentlich mach ich das eh so aber eventuell ist da etwas falsch. Ich werde das Beispiel mal auseinanderpflücken.

Gruss
walter

Nachtrag: Auch vom Leaflet-Forum kam eine ähnliche Antwort. Nun bin ich aber gespannt.

Danke: Wenn man .addTo(map) anstelle von .addTo(Map) schreibt, funzt es natürlich :frowning: arrggggg.