Je travaille sur une application qui convertit GeoJSON en carte OpenLayers.
L'idée est de ne pas avoir d'images PNG téléchargées à partir de services externes (OSM ou Bing) mais d'avoir des géo-informations dans un fichier GeoJSON et de les rendre en temps réel. D'après mes recherches, cette technologie semble s'appeler 'vector tile'
. J'ai jeté un coup d'œil à certains des sites Web des gars tels que
http://openstreetmap.us/~migurski/vector-datasource/
et
http://mike.teczno.com/notes/postgreslessness-mapnik-vectiles.html (idem gars).
Son travail semble être ce que je veux réaliser mais je ne comprends pas vraiment comment cela fonctionne.
D'après ma compréhension, depuis que j'utilise OpenLayers, un client récupère les données cartographiques au format GeoJSON et les transfère dans des vecteurs à l'aide de l'analyseur GeoJSON d'OpenLayers. Mais ce ne sont que les termes utilisés dans cette technologie que je ne comprends pas.
Dans son blog, il a décrit qu'il y aura un serveur qui fournira des données appelées 'MapNik Vector Tile'
format. Quelle est la différence entre une tuile vectorielle et GeoJSON? signifie-t-il simplement GeoJSON en mosaïque qui correspond à la boîte englobante? Ou s'agit-il d'un nouveau type d'image?
Si vous regardez son exemple, vous pouvez observer que les étiquettes sur les routes sont alignées avec les traits des routes. J'ai essayé de faire la même chose sur OpenLayers en changeant le code de rendu dans OpenLayers mais je ne peux que faire pivoter les étiquettes mais pas les faire plier le long des routes (par exemple, lorsque les routes ont des coins, la carte affiche les étiquettes en forme de `` L ''. * * + très bien rendu!
Il semble que Mike (l'auteur du blog) utilise une carte différente en plus d'OpenLayers mais je ne peux pas comprendre comment il l'a fait. Il y a tellement de questions à poser mais j'aimerais d'abord comprendre ce qui précède.
la source
Réponses:
L'idée de transférer des données vectorielles au lieu d'images et de les rendre côté client n'est pas nouvelle. Il y a déjà beaucoup d'outils / projets qui font ça. Voir par exemple ce plugin de dépliant , polymap , et aussi le projet cartagen . Le développeur OpenLayer essaie de l'introduire dans la version 3.0 (tant attendue) . Chacune de ces initiatives utilise son propre format de tuile vectorielle (y compris celui de mapnik) - une norme devrait certainement émerger à l'avenir.
Si vous êtes intéressé par les principes sous-jacents et quelques publications pertinentes, vous devriez jeter un œil à cet excellent article (oui, je fais de l'auto-promotion :-):
Gaffuri, J., 2012. Vers une cartographie Web avec des données vectorielles. Dans: Xiao, N., Kwan, M.-P., Goodchild, MF, Shekhar, S. (Eds.), Geographic Information Science. Vol. 7478 des notes de cours en informatique. Springer Berlin Heidelberg, Berlin, Heidelberg, Ch. 7, pp. 87-101.
Une version gratuite de l'article est disponible ici . Pour le résumer: cartographie Web vectorielle efficace = format intelligent pour les données et les styles + généralisation dépendante du zoom + (pavage OU indexation spatiale). Un cas d'utilisation est visible ici .
la source
Si je comprends bien, le format de tuiles vectorielles est utilisé pour alimenter un rendu de tuiles comme Mapnik ou TileMill, au lieu d'utiliser une base de données, comme postgresql.
Les géométries ne sont pas rendues en temps réel par une application cliente Web comme OpenLayers, pas encore, mais c'est un domaine de recherche intéressant :-)
la source