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.
fonte
Respostas:
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 .
fonte
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 :-)
fonte