Estoy trabajando en una aplicación que representa GeoJSON en el mapa OpenLayers.
La idea es no tener imágenes PNG descargadas de servicios externos (OSM o Bing) sino tener información geográfica en el archivo GeoJSON y renderizarlas en tiempo real. Desde mi investigación, esta tecnología parece llamarse 'vector tile'
. Eché un vistazo a algunos de los sitios web de los chicos, como
http://openstreetmap.us/~migurski/vector-datasource/
y
http://mike.teczno.com/notes/postgreslessness-mapnik-vectiles.html (mismo chico).
Su trabajo parece ser lo que quiero lograr, pero realmente no entiendo cómo funciona.
Según tengo entendido, desde que uso OpenLayers, un cliente recupera datos de mapas en formato GeoJSON y los transfiere a vectores usando el analizador GeoJSON de OpenLayers. Pero son solo los términos utilizados en esta tecnología los que no entiendo.
En su blog, describió que habrá un servidor que proporcione datos que se llama 'MapNik Vector Tile'
formato. ¿Cuál es la diferencia entre el mosaico de vectores y GeoJSON? ¿significa simplemente GeoJSON en mosaico que corresponde al cuadro delimitador? ¿O es un nuevo tipo de imagen?
Si observa su ejemplo, puede observar que las etiquetas de las carreteras están alineadas con los trazos de las carreteras. Intenté hacer lo mismo en OpenLayers cambiando el código de Renderer en OpenLayers, pero solo puedo rotar las etiquetas pero no hacer que las doblen a lo largo de las carreteras (por ejemplo, cuando las carreteras tienen esquinas, el mapa muestra las etiquetas en forma de 'L'. * * + muy bien prestado!
Parece que Mike (el autor del blog) usa un mapa diferente además de OpenLayers, pero no puedo entender cómo lo hizo. Hay tantas preguntas que hacer, pero me gustaría entender lo anterior primero.
fuente
Respuestas:
La idea de transferir datos vectoriales en lugar de imágenes y representarlos en el lado del cliente no es nueva. Ya hay muchas herramientas / proyectos haciendo eso. Consulte, por ejemplo, este complemento de folleto , polymap y también el proyecto cartagen . El desarrollador de OpenLayer está intentando introducirlo en la versión 3.0 (tan esperada) . Cada una de estas iniciativas usa su propio formato de mosaico de vectores (incluido el de mapnik); un estándar ciertamente debería surgir en el futuro.
Si está interesado en los principios subyacentes y en alguna literatura relevante, debería echar un vistazo a este excelente artículo (sí, hago autopromoción :-)
Gaffuri, J., 2012. Hacia el mapeo web con datos vectoriales. En: Xiao, N., Kwan, M.-P., Goodchild, MF, Shekhar, S. (Eds.), Geographic Information Science. Vol. 7478 de Lecture Notes in Computer Science. Springer Berlin Heidelberg, Berlín, Heidelberg, Cap. 7, págs. 87-101.
Una versión gratuita del documento está disponible aquí . Para resumirlo: Eficiente mapeo web vectorial = formato inteligente para datos y estilos + generalización dependiente del zoom + (mosaico O indexación espacial). Un caso de uso es visible aquí .
fuente
Según tengo entendido, el formato de mosaico vectorial se utiliza para alimentar a un renderizador de mosaicos como Mapnik o TileMill, en lugar de utilizar una base de datos, como postgresql.
Las geometrías no se representan en tiempo real por una aplicación de cliente web como OpenLayers, todavía no, pero es un área de investigación interesante :-)
fuente