DE:Node-tileserver

From OpenStreetMap Wiki
Jump to: navigation, search
Verfügbare Sprachen — Node-tileserver
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Baso Minangkabau · bosanski · brezhoneg · català · čeština · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · português do Brasil · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 吴语 · 粵語 · 中文(繁體)‎ · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

node-tileserver ist ein schlanker Tileserver, der in Javascript und NodeJS geschrieben ist.

Projektbeschreibung

Dank weniger Abhängigkeiten und einer perfekten Abstimmung auf eine osm2pgsql-Datenbank lässt sich damit schnell ein eigener Kachelserver zum Erzeugen von OpenStreetMap-Karten aufsetzen.

Das Ausliefern der Kacheln profitiert vom non-blocking-I/O von NodeJS, sodass das Abarbeiten der Clientanfragen auch bei hoher Last und vielen gleichzeitigen Anfragen schnell und zuverlässig funktioniert.

Doch node-tileserver zeichnet sich nicht nur durch sein schlankes Design und seine hohe Geschwindigkeit aus, sondern auch durch die Art des Renderings: node-tileserver kann nämlich sowohl Vektorkacheln für das Rendering im Browser als auch die herkömmlichen Bitmapkacheln erzeugen und ausliefern. Zur Reduzierung der Serverlast und zur Beschleunigung der Abfragen werden die Kacheln nach dem erstmaligen Rendern auf der Festplatte zwischengespeichert und mit einem einfachen, aber zuverlässigen Expiring-Mechanismus aktualisiert. Außerdem ist der Server darauf ausgelegt, die Bitmapkacheln in mehreren verfügbaren Kartenstilen auszuliefern.

Die Besonderheit liegt aber beim Renderingvorgang selbst: Sowohl auf der Clientseite als auch auf der Serverseite wird nämlich beim eigentlichen Rendering auf KothicJS zurückgegriffen. Wird eine Vektorkarte genutzt, dann erzeugt der Kachelserver Vektorkacheln im GeoJSON-Format und liefert diese an den Client aus, wo sie dann mit KothicJS im Browser gerendert werden. Soll eine Karte dagegen herkömmlichen Bitmapkacheln verwenden, dann werden die Vektordaten bereits auf dem Server - ebenfalls mit KothicJS - gerendert und dann als fertige PNG-Grafiken an den Client gesendet.

Das Projekt entstand ab Dezember 2013 bei der Suche nach einem schlanken Renderer bzw. Kachelserver während der Entwicklung der OpenRailwayMap und wird seitdem erfolgreich für das Rendering der OpenRailwayMap eingesetzt.

Features

  • Erzeugen von Bitmapkacheln zur Nutzung in Leaflet oder OpenLayers
  • Erzeugen von Vektorkacheln für das clientseitige Rendering im Browser mit KothicJS
  • Nutzung von KothicJS sowohl als Bitmap-Renderer auf dem Server als auch als Canvas-Renderer im Browser
  • Cachingmechanismus zur Beschleunigung von Kachelanfragen
  • Kartendesign mit MapCSS
  • Unterstützung von mehreren Kartenstilen
  • Entworfen für die Nutzung mit einer hstore osm2pgsql Datenbank mit OpenStreetMap-Daten
  • Manuelles Neurendern einzelner Kacheln per GET-Request
  • Automatisches Neurendern veralteter Kacheln
  • Hohe Geschwindigkeit beim Beantworten von Clientanfragen dank des non-blocking I/O Designs von NodeJS
  • Einfache Installation auf vielen Umgebungen dank weniger Abhängigkeiten

Links