Crear mosaicos vectoriales para Polymaps

14

Ok, probablemente sea malo por no llegar a WhereCamp5280 y preguntarle a los geeks de FortiusOne directamente, pero ¿cuál es el proceso para crear 'mosaicos' GeoJSON para usar en Polymaps?

El ejemplo de Población en polymaps.org señala que los datos de la demostración se ejecutan en Google AppEngine, y alude a "rodar sus propios" mosaicos vectoriales, pero parece que no puedo encontrar más información ...

¿Alguien tiene alguna idea que puedan compartir?

¡Gracias!

Dave Bouwman
fuente

Respuestas:

12

TileStache definitivamente lo hará, específicamente el proveedor PostGeoJSON en la colección de proveedores adicionales . La principal diferencia entre esto y lo que hicimos para los ejemplos de Polymaps es el recorte de polígonos: después de ver cuán grande puede llegar Alaska a niveles de zoom más altos, recortamos todas las características en los ejemplos de Polymaps para reducir los tiempos de carga, etc. También los alojamos fuera de AppSpot para que sea posible agregar el encabezado Access-Control-Allow-Origin para permisos entre dominios.

PostGeoJSON no se corta de la caja, pero como dice en los documentos, ¡me encantaría desarrollar el código aún más si hay interés!

Actualización: Parece que a partir de Tilestache 1.9.0, el proveedor de vectores parece estar favorecido sobre el proveedor de PostGeoJSON .

Michal Migurski
fuente
2
Vea el comentario a continuación: He actualizado el proveedor de PostGeoJSON para que sea más compatible con Polymaps
Michal Migurski el
4

Definitivamente me he preguntado acerca de esto, ya que es algo que quiero utilizar en Tile5 (http://tile5.org/) también. He visto a Mike Bostock (que trabajó con Stamen para producir Polymaps) responder a través de Twitter sobre el tema antes y aquí está el enlace:

http://twitter.com/#!/mbostock/status/27659816563

Definitivamente me gustaría encontrar una buena solución independiente al problema. Algunos productos que parecen pasos en la dirección correcta son:

  • Tilestache (http://tilestache.org/)
  • Geocouch (https://github.com/vmx/couchdb)

Estaré mirando esta pregunta con interés.

Salud,

Damon

Damon Oehlman
fuente
Aparentemente solo puedo comentar mi propia respuesta: /
Damon Oehlman
@Michal: definitivamente me encantaría ver el recorte agregado a TileStache, ¿alguna posibilidad de que también maneje un parámetro de devolución de llamada? Sé que JSONP no es del gusto de todos, pero creo que sería muy útil aquí ...
Damon Oehlman
Definitivamente puedo agregar recorte a TileStache, ¡lo pondré en la lista! Menos seguro acerca de una devolución de llamada, principalmente porque se supone que los resultados son completamente almacenables en caché y las devoluciones de llamada lo rompen. Tal vez haga un especial, excepto JSON porque es una necesidad muy común ...
Michal Migurski
Buen punto para volver a almacenar en caché en el frente JSONP. El JSONP aún debería ser bastante almacenable en caché dadas las devoluciones de llamada en el mapa de URL directamente al contenedor de funciones en la salida. Definitivamente causaría hinchazón de caché, lo que sería un dolor. Creo que podría bifurcar en Github y jugar (si el tiempo lo permite) :)
Damon Oehlman
Bien, agregué el recorte como una opción en TileStache: tilestache.org/doc/…
Michal Migurski
2

Puede usar ogr2ogr para crear un archivo GeoJSON estático para servir , pero parece que por el momento tiene que escribir sus propios servicios web si desea habilitar el recorte o cualquiera de las otras funciones de URL dinámico (nivel de zoom, etc.) , y no conozco ninguna herramienta de mosaico que cree una caché de mosaicos de un conjunto de datos, pero de nuevo eso podría hacerse con bastante facilidad con un proceso por lotes y las diversas -clip*opciones de ogr2ogr . Aunque para los datos vectoriales esto no parece tener sentido porque cortaría los polígonos en pedazos por mosaico cuando se superponen, probablemente sería mejor con una búsqueda de cuadro delimitador.

Jason Scheirer
fuente
2

Dave: Parece que hay un vacío que llenar aquí. Sería genial tener un buen cortador de baldosas json independiente (y bueno para aquellos que no están usando azulejos). Consulte el módulo de Python Bloch (a través de M. Migurski): https://github.com/migurski/Bloch (piense en mapshaper.org en la línea de comando y python).

Como Jason señaló, el proceso de ordenamiento en mosaico de datos es bastante sencillo y podría lograrse bastante rápido usando algo como gdal2tiles como punto de partida y transformándolo en el mundo vectorial.

Chris


fuente