Criar blocos de vetor para Polymaps

14

Ok, provavelmente o meu mau para não fazê-lo para WhereCamp5280 e pedindo os geeks FortiusOne diretamente, mas o que é o processo de criação do GeoJSON 'tiles' para uso em Polymaps?

O exemplo de População no polymaps.org observa que os dados da demonstração são executados no Google AppEngine e aludem a "rolar seus próprios" blocos vetoriais, mas não consigo encontrar mais informações ...

Alguém tem alguma ideia que pode compartilhar?

Obrigado!

Dave Bouwman
fonte

Respostas:

12

O TileStache definitivamente fará isso, especificamente o provedor PostGeoJSON na coleção de provedores extras . A principal diferença entre isso e o que fizemos nos exemplos do Polymaps é o recorte de polígonos - depois de ver o tamanho do Alasca com níveis de zoom mais altos, recortamos todos os recursos dos exemplos do Polymaps para reduzir o tempo de carregamento e assim por diante. Também os hospedamos no AppSpot para possibilitar a inclusão do cabeçalho Access-Control-Allow-Origin para permissões entre domínios.

O PostGeoJSON não sai da caixa, mas, como diz a documentação, eu ficaria feliz em desenvolver o código ainda mais, se houver interesse!

Atualização: Parece que, a partir do Tilestache 1.9.0, o Provedor de Vetores parece ser favorecido em relação ao Provedor PostGeoJSON .

Michal Migurski
fonte
2
Veja o comentário abaixo: Atualizei o provedor PostGeoJSON para ser mais compatível com Polymaps
Michal Migurski
4

Definitivamente, eu já me perguntei sobre isso, pois é algo que eu também quero usar no Tile5 (http://tile5.org/). Eu já vi Mike Bostock (que trabalhou com a Stamen para produzir Polymaps) responder via Twitter sobre o assunto antes e aqui está o link:

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

Definitivamente, gostaria de encontrar uma boa solução independente para o problema. Alguns produtos que parecem etapas na direção certa são:

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

Estará assistindo esta pergunta com interesse.

Felicidades,

Damon.

Damon Oehlman
fonte
Aparentemente, só posso comentar sobre minha própria resposta: /
Damon Oehlman 23/11/2010
@Michal - Com certeza adoraria ver o recorte adicionado ao TileStache - qualquer possibilidade de lidar com um parâmetro de retorno de chamada também? Eu sei JSONP não é para todos os gostos, mas eu acho que seria muito útil aqui ...
Damon Oehlman
Definitivamente, posso adicionar recorte ao TileStache - colocá-lo na lista! Menos certeza sobre um retorno de chamada, principalmente porque os resultados devem ser completamente armazenáveis ​​em cache e os retornos de chamada quebram isso. Talvez eu faça um especial, exceto para JSON porque é uma necessidade tão comum ...
Michal Migurski
Bom ponto de armazenamento em cache na frente do JSONP. O JSONP ainda deve ser bastante armazenável em cache, devido a retornos de chamada no mapa de URL diretamente para o wrapper de função na saída. Definitivamente causaria inchaço no cache, o que seria uma dor. Eu acho que poderia desembolsar no Github e ter um jogo (tempo o permitir) :)
Damon Oehlman
Certo, eu adicionei o recorte como uma opção no TileStache: tilestache.org/doc/…
Michal Migurski
2

Você pode usar ogr2ogr para criar um arquivo GeoJSON estático para veiculação , mas parece que, por enquanto, você precisa escrever seus próprios serviços da web se desejar ativar o recorte ou qualquer outra função dinâmica de URL (nível de zoom, etc.) , e não conheço nenhuma ferramenta de mosaico que crie um cache de mosaico de um conjunto de dados, mas novamente isso pode ser feito facilmente com um processo em lote e as várias -clip*opções do ogr2ogr . Embora para dados vetoriais isso não pareça fazer sentido, porque ele cortaria polígonos em pedaços por bloco quando eles se sobrepõem, você provavelmente seria melhor com uma pesquisa de caixa delimitadora.

Jason Scheirer
fonte
2

Dave - Parece haver uma lacuna a ser preenchida aqui. Um bom cortador de ladrilhos json independente seria ótimo (e bom para aqueles que não estão usando o tilestache). Confira o módulo python Bloch (via M. Migurski): https://github.com/migurski/Bloch (pense em mapshaper.org na linha de comando e python).

Como Jason apontou, o processo de agrupar dados é bastante simples e pode ser realizado rapidamente, usando algo como gdal2tiles como ponto de partida e transformando-o no mundo vetorial.

Chris


fonte