Quais são as diferenças entre TMS, XYZ e WMTS?

24

Atualmente, existem três maneiras diferentes de distribuir blocos:

Sei que o XYZ agora é o mais popular e é usado por serviços como Google, Mapbox, OSM e muitos outros.

Qual é a diferença técnica entre os três?

Devdatta Tengshe
fonte
Eu acho que TMS é o nome e XYZ é a convenção que ele costuma usar, então eles são aproximadamente equivalentes.
precisa saber é o seguinte
1
@ BradHards: eles não são os mesmos. A principal diferença entre eles que eu podia ver é que em XYZ, Y começa no topo, enquanto no TMS, Y começa a partir do fundo
Devdatta Tengshe
Sim, portanto, "aproximadamente equivalente" :-) Há alguma descrição do problema da ordem Y na especificação do GeoPackage. Além disso, Kevin Smith (GeoWebCache) adicionou algumas informações interessantes em gis.stackexchange.com/questions/53011/…
BradHards
1
O TMS é melhor descrito na especificação wiki.osgeo.org/wiki/Tile_Map_Service_Specification . XYZ geralmente se refere ao esquema de mosaico do Google Maps. Este site pode ser útil maptiler.org/google-maps-coordinates-tile-bounds-projection
user30184
1
Talvez um recurso útil também seja esta apresentação: 2010.foss4g.org/presentations/3653.pdf
Freeze

Respostas:

10

O WMS é um protocolo definido pelo OGC para solicitar imagens de mapa renderizadas para áreas arbitrárias. Os clientes podem fazer solicitações em um padrão lado a lado, se desejarem.

O WMS-C é uma extensão do WMS criada pela OSGeo que adiciona metadados ao documento de recursos, permitindo que o cliente saiba onde fazer solicitações para que ele se alinhe aos blocos do serviço. Um serviço WMS-C pode rejeitar solicitações que não estão alinhadas à sua grade de blocos.

O TMS é um protocolo criado pela OSGeo que permite solicitar blocos usando índices inteiros. Ele também fornece metadados para descoberta e configuração. Ele pode ser implementado como um conjunto de imagens em mosaico e arquivos de metadados em um sistema de arquivos estático. O eixo Y sobe a partir do fundo.

O WMTS é um protocolo criado pelo OGC que permite que os blocos sejam solicitados usando índices inteiros. Ele também fornece metadados para descoberta e configuração. O eixo Y desce do topo.

"XYZ" é o termo que usamos para vários esquemas ad hoc para servir blocos, geralmente de um sistema de arquivos estático. Não há padrão nem mecanismo para metadados. Não há um padrão fixo para a direção do eixo Y, embora a parte superior seja a mais comum. O Google fez algo para seus próprios propósitos, e outras pessoas meio que o copiaram. Um cliente e servidor XYZ específico pode ou não conseguir trabalhar juntos. Às vezes, os clientes XYZ também podem funcionar com serviços TMS ou WMTS.

Existem também alguns protocolos menos usados, como o protocolo "quadkey" do Bing ou o protocolo Google Mobile, que inverte a ordem do nível de zoom.

Geralmente recomendo o WMTS, pois é o único protocolo de bloco de índice inteiro apoiado por um corpo de padrões amplamente reconhecido.

smithkm
fonte
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


Os três links acima explicam cada serviço em detalhes.


TMS: Até onde eu entendi, o TMS é o mais básico. O Serviço da Web em mosaico fornece acesso a recursos, em particular, a mosaicos cartográficos renderizados em escalas fixas. O acesso a esses recursos é fornecido por meio de uma interface "REST", iniciando com um recurso raiz que descreve as camadas disponíveis, depois mapeie os recursos com um conjunto de escalas e, em seguida, dimensione a retenção de conjuntos de blocos.


WMTS: introduz padrões para facilitar o trabalho com vários serviços de bloco simultaneamente. Esse perfil tem dois objetivos: facilitar a combinação de camadas provenientes de diferentes serviços WMTS e facilitar a implementação de aplicativos cliente em bloco, impondo um TileMatrixSet comum.


XYZ: Adiciona os seguintes padrões aos padrões WMTS - Um esquema de numeração X e Y; Imagens PNG para blocos; As imagens são veiculadas por meio de uma API REST, com um URL como http: //.../Z/X/Y.png , em que Z é o nível de zoom e X e Y identificam o bloco.

jbalk
fonte