Jakie są różnice między TMS, XYZ i WMTS?

24

Istnieją obecnie trzy różne sposoby udostępniania płytek:

Wiem, że XYZ jest obecnie najpopularniejszy i jest używany przez usługi takie jak Google, Mapbox, OSM i wiele innych.

Jaka jest różnica techniczna między tymi trzema?

Devdatta Tengshe
źródło
Myślę, że TMS to nazwa, a XYZ to konwencja, której zwykle używa, więc są mniej więcej równoważne.
BradHards
1
@BradHards: nie są takie same. Główną różnicą między nimi, którą mogłem zobaczyć, jest to, że w XYZ, Y zaczyna się na GÓRZE, podczas gdy w TMS, Y zaczyna się od dołu
Devdatta Tengshe
Tak, stąd „w przybliżeniu równoważne” :-) W specyfikacji GeoPackage znajduje się opis problemu z zamówieniem Y. Ponadto Kevin Smith (GeoWebCache) dodał ciekawe tło na gis.stackexchange.com/questions/53011/…
BradHards
1
TMS najlepiej opisać w specyfikacji wiki.osgeo.org/wiki/Tile_Map_Service_Specification . XYZ zwykle odnosi się do schematu kafelkowego Map Google. Ta strona może być pomocna maptiler.org/google-maps-coordinates-tile-bounds-projection
user30184
1
Być może przydatnym zasobem jest również ta prezentacja: 2010.foss4g.org/presentations/3653.pdf
Freeze

Odpowiedzi:

10

WMS to protokół zdefiniowany przez OGC do żądania renderowanych obrazów map dla dowolnych obszarów. Klienci mogą składać zapytania w formie kafelków, jeśli chcą.

WMS-C jest rozszerzeniem WMS utworzonym przez OSGeo, które dodaje metadane do dokumentu możliwości, informując klienta, gdzie należy składać żądania, aby zgadzały się z kafelkami usługi. Usługa WMS-C może odrzucać żądania, które nie są wyrównane do jej siatki kafelków.

TMS to protokół stworzony przez OSGeo, który pozwala na żądanie kafelków za pomocą indeksów całkowitych. Zapewnia również metadane do wykrywania i konfiguracji. Może być zaimplementowany jako zestaw obrazów kafelków i plików metadanych umieszczonych w statycznym systemie plików. Oś Y idzie w górę od dołu.

WMTS to protokół stworzony przez OGC, który pozwala na żądanie kafelków za pomocą indeksów całkowitych. Zapewnia również metadane do wykrywania i konfiguracji. Oś Y schodzi z góry.

„XYZ” to termin, którego używamy do różnych schematów ad hoc do obsługi kafelków, często ze statycznego systemu plików. Nie ma standardowego i żadnego mechanizmu dla metadanych. Nie ma ustalonego standardu dla kierunku osi Y, chociaż najczęściej od góry. Google zrobił coś dla swoich własnych celów, a inni ludzie to skopiowali. Określony klient i serwer XYZ może, ale nie musi, współpracować. Klienci XYZ mogą czasami zostać zmuszeni do pracy z usługami TMS lub WMTS.

Istnieje również kilka mniej używanych protokołów, takich jak protokół „quadkey” Binga lub protokół Google Mobile, który zmienia kolejność poziomu powiększenia.

Ogólnie polecam WMTS, ponieważ jest to jedyny protokół kafelka indeksu liczb całkowitych wspierany przez powszechnie uznany organ normalizacyjny.

smithkm
źródło
6

WMTS: http://www.opengeospatial.org/standards/wmts


TMS: http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification


XYZ: https://en.wikipedia.org/wiki/Tiled_web_map


Trzy powyższe linki szczegółowo wyjaśniają każdą usługę.


TMS: O ile rozumiem, TMS jest najbardziej podstawowy. Tiled Web Service zapewnia dostęp do zasobów, w szczególności do renderowanych płytek kartograficznych w stałej skali. Dostęp do tych zasobów zapewnia interfejs „REST”, zaczynając od zasobu głównego opisującego dostępne warstwy, następnie mapując zasoby za pomocą zestawu skal, a następnie skalując zestawy płytek.


WMTS: Wprowadza standardy ułatwiające pracę z wieloma usługami kafelkowymi jednocześnie. Ten profil ma dwa cele: ułatwienie łączenia warstw pochodzących z różnych usług WMTS i ułatwienie implementacji aplikacji klienckich poprzez nałożenie wspólnego TileMatrixSet.


XYZ: Dodaje następujące standardy do standardów WMTS - schemat numeracji X i Y; Obrazy PNG dla kafelków; Obrazy są udostępniane za pośrednictwem interfejsu API REST z adresem URL takim jak http: //.../Z/X/Y.png , gdzie Z oznacza poziom powiększenia, a X i Y identyfikują kafelek.

jbalk
źródło