Je sais que cette question est plutôt vague, mais veuillez porter avec moi. J'essaie de me faire une idée du type de performance du produit - en particulier du timing - que les gens ont vu pour diverses méthodologies qu'ils ont utilisées pour créer des tuiles de carte google / bing. Il existe une multitude de méthodes pour le faire (par exemple gdal2tiles, FME, maptiler, etc.). Une première tentative de prendre simplement un grand PNG et de créer des tuiles en utilisant imagemagick, sur un serveur Linux assez décent, a produit des temps de traitement assez longs et j'ai donc voulu voir ce que les autres utilisent en production. De nouvelles tuiles devraient être générées au moins quotidiennement et donc le temps de réponse est assez critique.
La seule vraie exigence est qu'il puisse fonctionner sur un serveur Linux. Évidemment, la gratuité c'est mieux mais je ne veux pas me limiter à ça. L'entrée peut être des données maillées / raster brutes ou une grande image. La sortie doit être des tuiles d'image pouvant être utilisées telles quelles dans google ou bing maps.
Juste à des fins de comparaison, je dirai que les horaires doivent être pour le niveau de zoom 7 de google map.
J'apprécie l'aide de tout le monde et je tiens à nouveau à m'excuser de la façon dont cette question semble probablement vague.
MISE À JOUR: En ce qui concerne les entrées, j'ai actuellement plusieurs sources de données (brutes) dans différents formats: netCDF, GRIB, GRIB2. En plus des données brutes elles-mêmes, j'ai également la possibilité de générer de très grandes images de ces données qui pourraient ensuite être découpées / tuilées.
Idéalement, je couperais simplement l'image mais je suis prêt à essayer tout ce qui me permettra d'obtenir les résultats les plus rapides.
la source
Réponses:
Voici certains de mes résultats pour le fichier raster suivant:
$ time gdal2tiles [...]
$ time [pngnq && pngcrush pour chaque tuile, 4500 au total]
Oui, c'est en quelques minutes - j'ai optimisé la taille de sortie, pas la vitesse. La machine est un Intel Xeon virtuel 2x3GHz, 4G de mémoire. (Et clairement, gdal2tiles pourrait utiliser une certaine parallélisation.)
la source
Je rencontrais des problèmes pour
gdal2tiles
prendre un certain temps à traiter un tiff assez grand (380 Mo, 39K x 10K pixels) en tuiles Google pour les plages de zoom 0-12. Sur Ubuntu 12.04 64 bits sans multitraitement, il a fallu à peu près toute la journée (8 heures) pour traiter le tiff en 1,99 million de tuiles @ 3,3 Go. Comme @Stephan Talpalaru le mentionne ci-dessus, faire lagdal2tiles
course en parallèle est la clé. Faites une sauvegarde de votre originalgdal2tiles.py
, puis installez le correctif à partir du répertoire qui abritegdal2tiles.py
(le mien était/usr/local/bin
):Maintenant, courez
gdal2tiles
comme vous le faites normalement. J'ai obtenu une augmentation incroyable des performances, avec tous mes 4 cœurs (Intel Core i7 3,4 GHz) indexés:Donc de ~ 8 heures à 39 MINUTES . Changeur de jeu.
la source
Essayez la version parallèle de gdal2tiles.py: http://trac.osgeo.org/gdal/ticket/4379
la source
Vous avez mentionné FME et il y a quelques chiffres sur la création de tuiles de carte sur FMEpedia
C'est un long article, j'ai donc retiré les parties pertinentes:
Il s'agit d'un processus multi-machine avec FME Server. Vous pouvez également consulter cet article de Paul Bissett sur le blog WeoGeo: http://www.weogeo.com/blog/Scaling_FME_Engines_on_WeoGeo.html
Il contient un excellent film montrant comment traiter des données comme celle-ci dans le cloud - essentiellement en allumant un tas de machines virtuelles Amazon pour répartir la charge de traitement et le faire très rapidement.
la source