Eu sei que essa pergunta é bastante vaga, mas por favor, tenha paciência comigo. Estou tentando ter uma idéia de que tipo de desempenho do produto - especificamente o tempo - as pessoas viram por várias metodologias usadas para criar blocos de mapas do Google / Bing. Existem vários métodos para fazer isso (por exemplo, gdal2tiles, FME, maptiler, etc.). Uma tentativa inicial de simplesmente pegar um PNG grande e criar blocos usando o imagemagick, em um servidor Linux bastante decente, rendeu alguns tempos de processamento bastante longos e, portanto, eu queria ver o que outras pessoas estão usando na produção. Novos ladrilhos precisariam ser gerados pelo menos diariamente e, portanto, o tempo de resposta é bastante crítico.
O único requisito real é que ele possa ser executado em um servidor Linux. Obviamente, livre é melhor, mas não quero me restringir a isso. A entrada pode ser dados em grade / rasterizados ou uma imagem grande. A saída precisa ser de blocos de imagem capazes de serem usados como estão nos mapas do Google ou Bing.
Apenas para fins de comparação, direi que os horários devem ser para o nível de zoom 7 do google map.
Agradeço a ajuda de todos e, novamente, quero me desculpar por quão vaga essa pergunta provavelmente parece.
ATUALIZAÇÃO: Quanto às entradas, atualmente tenho várias fontes de dados (brutas) em vários formatos: netCDF, GRIB, GRIB2. Além dos dados brutos em si, também tenho a capacidade de gerar imagens realmente grandes desses dados que podem ser fatiados / lado a lado.
Idealmente, eu estaria apenas cortando a imagem, mas estou disposto a tentar o que me proporcionará os resultados mais rápidos.
fonte
Respostas:
Aqui estão alguns dos meus resultados para o seguinte arquivo raster:
$ tempo gdal2tiles [...]
$ time [pngnq && pngcrush para cada bloco, 4500 no total]
Sim, isso é em minutos - eu otimizei o tamanho da saída, não a velocidade. A máquina é um Intel Xeon virtual 2x3GHz, 4G de memória. (E claramente, os gdal2tiles podem fazer uso de alguma paralelização.)
fonte
Eu estava tendo problemas para
gdal2tiles
demorar um pouco para processar uma tiff bastante grande (380 MB, 39 K x 10 K pixels) nos blocos do Google para intervalos de zoom de 0 a 12. No Ubuntu 12.04 64bit sem multiprocessamento, demorou quase o dia todo (8 horas) para processar o tiff em 1,99 milhão de peças com 3,3GB. Como o @Stephan Talpalaru menciona acima,gdal2tiles
correr em paralelo é a chave. Faça um backup do seu originalgdal2tiles.py
e instale o patch a partir do diretório que abrigagdal2tiles.py
(o meu era/usr/local/bin
):Agora corra
gdal2tiles
como você normalmente faz. Eu obtive um aumento incrível no desempenho, com todos os quatro núcleos (Intel Core i7 3.4GHz) vinculados:Então, de ~ 8 horas a 39 MINUTOS . Jogador desafiante.
fonte
Experimente a versão paralela do gdal2tiles.py: http://trac.osgeo.org/gdal/ticket/4379
fonte
Você mencionou o FME e existem alguns números na criação de blocos de mapas no FMEpedia
Como é um artigo longo, selecionei as partes relevantes:
Isso está usando um processo de várias máquinas com o FME Server. Você também pode conferir esta postagem de Paul Bissett no blog da WeoGeo: http://www.weogeo.com/blog/Scaling_FME_Engines_on_WeoGeo.html
Ele tem um ótimo filme que mostra como processar dados como esse na nuvem - basicamente iniciando várias máquinas virtuais da Amazon para espalhar a carga de processamento e fazê-lo rapidamente.
fonte