Créer des tuiles vectorielles pour les Polymaps

14

Ok, probablement mon mal de ne pas être arrivé à WhereCamp5280 et de demander directement aux geeks de FortiusOne, mais quel est le processus pour créer des "tuiles" GeoJSON à utiliser dans Polymaps?

L'exemple de Population sur polymaps.org note que les données de la démo s'exécutent sur Google AppEngine, et fait allusion à "rouler vos propres" tuiles vectorielles, mais je n'arrive pas à trouver plus d'informations ...

Quelqu'un a-t-il une idée à partager?

Merci!

Dave Bouwman
la source

Réponses:

12

TileStache le fera certainement, en particulier le fournisseur PostGeoJSON dans la collection de fournisseurs supplémentaires . La principale différence entre cela et ce que nous avons fait pour les exemples Polymaps est l'écrêtage de polygone - après avoir vu la taille de l'Alaska à des niveaux de zoom plus élevés, nous avons coupé toutes les fonctionnalités des exemples Polymaps pour réduire les temps de chargement, etc. Nous les avons également hébergés sur AppSpot pour permettre d'ajouter l'en -tête Access-Control-Allow-Origin pour les autorisations inter-domaines.

PostGeoJSON ne se détache pas de la boîte, mais comme il est dit dans les documents, je serais heureux de développer davantage le code s'il y a un intérêt!

Mise à jour: Il semble qu'à partir de Tilestache 1.9.0, le fournisseur de vecteur semble être préféré au fournisseur de PostGeoJSON .

Michal Migurski
la source
2
Voir le commentaire ci-dessous: J'ai mis à jour le fournisseur PostGeoJSON pour qu'il soit plus convivial pour Polymaps
Michal Migurski
4

Je me suis certainement posé des questions à ce sujet moi-même car c'est quelque chose que je veux utiliser dans Tile5 (http://tile5.org/) également. J'ai déjà vu Mike Bostock (qui a travaillé avec Stamen pour produire des Polymaps) répondre sur Twitter sur le sujet avant et voici le lien:

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

J'aimerais certainement trouver une bonne solution autonome au problème. Voici quelques produits qui ressemblent à des pas dans la bonne direction:

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

Regardera cette question avec intérêt.

À votre santé,

Damon.

Damon Oehlman
la source
Apparemment, je ne peux que commenter ma propre réponse: /
Damon Oehlman
@Michal - Aimeriez-vous vraiment voir l'écrêtage ajouté à TileStache - une possibilité de le faire gérer également un paramètre de rappel? Je sais que JSONP n'est pas du goût de tout le monde, mais je pense que ce serait assez utile ici ...
Damon Oehlman
Je peux certainement ajouter une coupure à TileStache - le mettra sur la liste! Moins sûr d'un rappel, principalement parce que les résultats sont censés être complètement mis en cache et les rappels rompent cela. Peut-être que je fais un spécial sauf pour JSON parce que c'est un besoin si commun ...
Michal Migurski
Bon point de mise en cache sur le front JSONP. Le JSONP doit toujours être tout à fait en mémoire cache, étant donné les rappels dans le mappage d'URL directement à l'encapsuleur de fonction dans la sortie. Cela causerait certainement un gonflement du cache, ce qui serait une douleur. Je pense que je pourrais bifurquer sur Github et jouer (si le temps le permet) :)
Damon Oehlman
D'accord, j'ai ajouté l'écrêtage en option dans TileStache: tilestache.org/doc/…
Michal Migurski
2

Vous pouvez utiliser ogr2ogr pour créer un fichier GeoJSON statique pour le service , mais il semble que pour le moment, vous devez écrire vos propres services Web si vous souhaitez activer l'écrêtage ou l'une des autres fonctions d'URL dynamiques (niveau de zoom, etc.) , et je ne connais aucun outil de tuilage qui créerait un cache de tuiles d'un ensemble de données, mais encore une fois, cela pourrait être assez facilement fait avec un processus par lots et les diverses -clip*options d' ogr2ogr . Bien que pour les données vectorielles, cela ne semble pas avoir de sens car cela couperait les polygones en morceaux par tuile lorsqu'ils se chevauchent, vous feriez probablement mieux avec une recherche de zone de délimitation.

Jason Scheirer
la source
2

Dave - Il semble qu'il y ait un vide à combler ici. Un joli coupe-carreaux json autonome serait formidable (et bon pour ceux qui n'utilisent pas de tilestache). Découvrez le module python Bloch (via M. Migurski): https://github.com/migurski/Bloch (pensez mapshaper.org sur la ligne de commande & python).

Comme Jason l'a souligné, le processus de tuilage des données est assez simple et pourrait être accompli assez rapidement en utilisant quelque chose comme gdal2tiles comme point de départ et en le transformant en monde vectoriel.

Chris


la source