Pl:Slippy Map

From OpenStreetMap Wiki
Jump to navigation Jump to search

Slippy Map - jest ogólnie terminem odnoszącym się do nowoczesnych map internetowych, które umożliwiają powiększanie i przesuwanie (mapa przesuwa się po przeciągnięciu myszą).

Kraków - {{Slippymap|lat = 50.0593 |lon = 19.9386 |zoom = 14 |width = 300 |height = 300 |marker = no }}

W tym miejscu często mówimy o slippy map, która oznacza wyświetlanie mapy na głównej stronie openstreetmap.org. Jest to interfejs WWW do przeglądania renderowanych danych OpenStreetMap.

Domyślnie slippy map pokazuje kafelki renderowane w naszym standardowym stylu OpenStreetMap, ale oferuje kilka innych polecanych kafelków jako warstwy do wyboru i do linkowania.

  • Browsing - podstawowe informacje dotyczące pomocy na temat korzystania z slippy map i linku do niej.
  • Tworzenie własnej Slippy Mapy - różne sposoby tworzenia takiej mapy na własnej stronie internetowej.
  • Leaflet - oprogramowanie którego używamy do slippy map (i jak korzystać z niej na własnej stronie internetowej).
  • Slippy Map MediaWiki Extension - szczegóły innych pomysłów/ulepszeń, które moglibyśmy rozwinąć.

Szczegóły techniczne

Slippy map to komponent Ajax. JavaScript działa w przeglądarce, która dynamicznie żąda map z serwera w tle (bez przeładowywania całej strony HTML), aby zapewnić płynne i szybkie przeglądanie map. Implementację tego zapewnia biblioteki javascript, OpenLayers lub Leaflet. Obraz mapy składa się z wielu małych prostokątnych obrazów zwanych "kafelkami". Są one renderowane i ładowane z "tile server".

Renderowanie kafelków

Proces renderowania, przechodzenia z danych wektorowych do danych map rastrowych, wyborów stylu przenoszenia na obrazy bitmapowe, jest procesem wymagającym dużej ilości zasobów.
Można to osiągnąć za pomocą wielu różnych opcji renderowania oprogramowania. Serwer kafelkowy zwykle nie renderuje kafelków w czasie rzeczywistym dla każdego użytkownika przeglądającego mapę. Płytki są renderowane z wyprzedzeniem i przechowywane na dysku.
Mimo to stosunkowo niewiele programów renderujących ma udokumentowane osiągnięcia w zakresie obsługi dużego ruchu, regularnie aktualizując mapy na całym świecie.

OpenStreetMap "Standard" serwer kaflowy

Mapnik jest programem renderującym, używanym do generowania "standardowego" stylu OpenStreetMap. Mapnik obsługuje również wiele renderingów stron trzecich, w tym style Cycle routes i Transport Map, które są zestawem różnych stylów map na stronie OpenStreetMap.

Standardowe kafelki są generowane na tile.openstreetmap.org. Standardowa baza danych serwera kafelkowego OpenStreetMap jest aktualizowana z niewielkimi różnicami minutowymi, tak że większość zmian danych powinna zostać wykonana w ciągu kilku minut.
W przeszłości ten serwer był aktualizowany wyłącznie w oparciu o cotygodniowy zrzut Planet.osm, który jest wykonywany w środę rano według (GMT/BST). Wyobraźmy sobie, że musimy czekać tak długo, aby zobaczyć zmiany wprowadzone na mapie? To były dni! Pełny zrzut Planety.osm jest wciąż importowany od czasu do czasu, aby poprawić wszelkie dziwactwa w stosowaniu różnic.

Renderowanie Mapnika dla OpenStreetMap odbywa się za pośrednictwem modułu Apache o nazwie mod tile, opracowanego specjalnie dla potrzeb wysokiej wydajności OSM. To również zarządza buforowaniem i kolejkowaniem dla żądań ponownego renderowania. Każdy kafel ma sygnaturę czasową, gdy był renderowany, a brudna flaga (dirty) oznacza, że jest gotowy do ponownego wyświetlenia.
Renderowanie działa zgodnie z tymi zasadami:

  • Jeśli mamy zmienioną bazę danych OSM, system próbuje oznaczyć odpowiedni kafelek jako "dirty".
  • Kiedy patrzymy na kafelek, on sprawdził się, czy jest starszy niż trzy dni. W takim przypadku jest oznaczony jako "dirty".
  • Proces renderowania w tle renderuje wszystkie stare kafelki.

Tak więc, jeśli nikt nie przeglądał danego obszaru, nie został on ostatnio renderowany. Kafelki są renderowane na zasadzie (rodzaju) zainteresowania/pierwszej-uwagi. Oznaczenie "dirty" kafelka nie oznacza, że wszystkie napisy są przestarzałe.

Jeśli na kafelku pojawi się More OpenStreetMap coming soon..., oznacza to, że nie ma danych dla tego kafelka, a serwer nie był w stanie renderować go na żądanie. Teraz czeka w kolejce do renderowania. Możesz znaleźć status kafelka przez URL* kafelka:

Po prostu dodajemy /status na końcu linii URL ...

Jeśli naprawdę chcemy wymusić renderowanie kafelka, oznaczamy go wtedy jako "dirty", dodając /dirty do adresu URL:

*) W menu kontekstowym przeglądarki Firefox wybieramy "Wyświetl informacje o stronie" i kopiujemy adres URL tego pola na karcie "Media".
Internet Explorer udostępnia tylko "Analizuj element" (lub coś w tym rodzaju). Wybieramy i klikamy prawym przyciskiem myszy podświetloną sekcję kodu w DOM-Explorer. Skopiuj/wklej go na pasku adresu i usuwamy wszystko poza tym czego oczekujemy od adresu URL PNG.

Tiles@Home

W przeszłości oferowaliśmy inną warstwę o nazwie "Osmarender", która korzystała z systemu renderującego Osmarender działającego na rozproszonym układzie renderowania o nazwie Tiles@home.
Ten projekt został przerwany, a warstwa "Osmarender" nie jest już dostępna, chociaż możemy wykonywać jednorazowe renderingi, używając Osmarender.

Zobacz też

Tworzenie własnej slippy map

Tworzenie mapy na własnej witrynie za pomocą różnych API slippy map i innych podejść.

Zdjęcia map statycznych

Osadzenie StaticMaps za pomocą tagu <img />.

Kafelki

Definicja kafelków i różnych powiązanych linków.

Slippy map tilenames

Obliczanie nazwy kafelka (URL .png pliku) ze znanych współrzędnych (zoom, x, y).
Szablon URL dla Mapnik, Osmarender Tiles@Home, OpenCycleMap, CloudMade i MapQuest.

Browsing

Podstawowy podręcznik użytkownika dla slippy map na stronie głównej openstreetmap.org.

Parametry dla layer

Działanie warstwy na stronie głównej.

Standard tile layer

Szczegółowy opis warstwy standardowej na stronie https://www.openstreetmap.org/ ze szczególnym naciskiem na tag.

Zobacz też