O que significa mapa em mosaico vetorial?

11

Estou trabalhando em um aplicativo que renderiza o GeoJSON no mapa do OpenLayers.

A idéia é não ter imagens PNG baixadas de serviços externos (OSM ou Bing), mas ter informações geográficas no arquivo GeoJSON e renderizá-las em tempo real. Da minha pesquisa, essa tecnologia parece ser chamada 'vector tile'. Eu dei uma olhada em alguns sites dos caras, como http://openstreetmap.us/~migurski/vector-datasource/ e http://mike.teczno.com/notes/postgreslessness-mapnik-vectiles.html (o mesmo cara).

Seu trabalho parece ser o que eu quero alcançar, mas realmente não entendo como ele funciona.

Pelo que entendi, como uso o OpenLayers, um cliente recupera dados do mapa no formato GeoJSON e os transfere para vetores usando o analisador GeoJSON do OpenLayers. Mas são apenas os termos usados ​​nesta tecnologia que eu não entendo.

Em seu blog, ele descreveu que haverá um servidor que fornece dados chamados 'MapNik Vector Tile'formato. Qual é a diferença entre o bloco de vetor e o GeoJSON? significa simplesmente GeoJSON lado a lado que corresponde à caixa delimitadora? Ou é um novo tipo de imagem?

Se você der uma olhada no exemplo dele, poderá observar que os rótulos nas estradas estão alinhados com os traçados das estradas. Tentei fazer o mesmo no OpenLayers alterando o código do renderizador no OpenLayers, mas só posso rotular etiquetas, mas não fazê-las dobrá-las pelas estradas (por exemplo, quando as estradas têm cantos, o mapa exibe etiquetas em forma de "L". * * + muito bem renderizado!

Parece que Mike (o autor do blog) usa algum mapa diferente além do OpenLayers, mas não consigo descobrir como ele fez isso. Há muitas perguntas a serem feitas, mas eu gostaria de entender o que foi dito primeiro.

Eugene Yu
fonte
Estou com problemas para entender o objetivo da sua pergunta. Deseja saber o que são blocos de vetor em sentido geral? Ou você deseja saber sobre os vários tipos de blocos vetoriais, por que usá-los e qual formato seria melhor para você?
Devdatta Tengshe
@DevdattaTengshe Por fim, gostaria de saber como implementar o mapa lado a lado do vetor no OpenLayers. Mas, pelas minhas pesquisas, parece que essa tecnologia é experimental. Mas eu me pergunto o que há de diferente entre o geoJSON em mosaico e o MVT ou outros tipos de mosaicos vetoriais. o que é vector tiles? existe um formato para vetores? ou é apenas um termo? me ajude, estou muito confuso :(
Eugene Yu

Respostas:

5

A idéia de transferir dados vetoriais em vez de imagens e renderizá-los no lado do cliente não é nova. Já existem muitas ferramentas / projetos fazendo isso. Veja, por exemplo, este plug-in de folheto , polymap e também o projeto cartagen . O desenvolvedor do OpenLayer está tentando introduzi-lo na (tão esperada) versão 3.0 . Cada uma dessas iniciativas usa seu próprio formato de bloco de vetor (incluindo o mapnik) - um padrão certamente deve surgir no futuro.

Se você está interessado nos princípios subjacentes e em alguma literatura relevante, deve dar uma olhada neste excelente artigo (sim, eu faço a autopromoção :-):

Gaffuri, J., 2012. Em direção ao mapeamento da web com dados vetoriais. Em: Xiao, N., Kwan, M. - P., Goodchild, MF, Shekhar, S. (Eds.), Ciência da Informação Geográfica. Vol. 7478 de Notas de aula em Ciência da computação. Springer Berlin Heidelberg, Berlim, Heidelberg, cap. 7, pp. 87-101.

Uma versão gratuita do artigo está disponível aqui . Para resumir: Mapeamento da web de vetor eficiente = formato inteligente para dados e estilos + generalização dependente do zoom + (indexação espacial lado a lado ou indexação). Um caso de uso é visível aqui .

julien
fonte
1

Pelo que entendi, o formato de bloco de vetor é usado para alimentar um renderizador de bloco como Mapnik ou TileMill, em vez de usar um banco de dados, como postgresql.

As geometrias não são renderizadas em tempo real por um aplicativo cliente da Web como o OpenLayers, ainda não, mas é uma área interessante de pesquisa :-)

Laurent Jégou
fonte
UTFGrid é um formato de mosaico vetorial que suporta os OpenLayers no Navegador. Veja este exemplo: openlayers.org/dev/examples/utfgrid.html
Devdatta Tengshe
1
Não há relação com o UTFGrid aqui.
Laurent Jégou 24/10/2013
2
Depende da sua definição de blocos de vetor. Veja isto: gis.stackexchange.com/questions/15240/… E wiki.openstreetmap.org/wiki/Vector_tiles
Devdatta Tengshe
1
Ah eu vejo. Mas existe uma tecnologia chamada vetorização lado a lado, que permite ao cliente renderizar esses vetores passando apenas geoJSON não os PNGs reais. este parece ser muito experimental no momento, mas eu acredito que isso vai se tornar popular em breve ..
Eugene Yu