Deux sorties dignes d’intérêt ces derniers jours : OpenJump 1.3 et MapServer 5.4.

Concernant le premier, on note l’arrivée de nouvelles méthodes de discrétisation (moyenne, seuils naturels et Jenks notamment) et d’informations statistiques sur les couches (min, max, moyenne…), ainsi que de nouvelles fonctions d’édition des géométries (auto-complétion des polygones sur tracé existant, simplification de polygones sans incohérence, double fenêtrage synchrone…) qui en font un outil de choix pour tout ce qui touche à la manipulation des données.

MapServer voit quant à lui intégrées les améliorations promises par le Toronto Code Sprint. J’ai fait quelques tests habituels sur des extraits de larges couches PostGIS et Shapefile, et les résultats sont assez troublants. Voici un comparatif avec la version 5.2 pour la génération d’une image de 600 x 600 pixels comprenant deux couches, communes et ROUTE250 sur une zone couvrant à peu près la Gironde :

image générée avec le driver AGG

5.2 5.4
Postgis GIF 0.142 0.159
PNG 0.388 0.386
AGG 0.920 0.707
Shapefile GIF 0.101 0.101
PNG 0.297 0.318
AGG 0.920 0.842
SHP + QIX GIF 0.058 0.060
PNG 0.315 0.284
AGG 0.834 0.606

Il y a à mon avis quelques informations utiles à tirer de ces résultats, qui n’ont pas vocation à présenter des index de performance pure, mais bien à comparer les deux versions dans des situations analogues. Considérons le format GIF comme celui de référence car impactant le moins de temps final de création de l’image.

Premièrement, on note une perte de performances légère (moins de 10 %) entre la version 5.2 et la nouvelle version 5.4 en GIF. Paul Ramsey m’a expliqué que c’est dû au passage à un curseur texte pour parcourir la base de données en lieu et place du précédent curseur binaire, plus performant certes, mais beaucoup plus difficile à maintenir et à utiliser dans le code car devant être manipulé au sein de transactions (et je veux bien le croire…).

Deuxièmement, on note toujours l’avantage significatif du shapefile, a fortiori quand il est indexé. Les modifications indiquées ci-dessus portent le ratio à 1.5 avec un Shapefile standard et à plus de 2 avec un fichier .qix. On peut en conclure que pour obtenir les meilleures performances, c’est cette association SHP + QIX + GIF qu’il faut choisir.

Cependant le rapport s’inverse avec les autres formats, comme si le nouvel handicap de l’accès à Postgis était compensé par une meilleure prise en charge du PNG et de l’AGG/PNG. C’est avec ce dernier choix, l’anticrénelage AGG, que l’amélioration est la plus significative, preuve s’il en fallait que Thomas Bonfort (créateur et mainteneur de l’intégration AGG dans MapServer) n’aura pas fait le déplacement à Toronto pour rien. Mais ce que je ne comprends pas, c’est qu’une image PNG ou AGG semble mieux bénéficier des données indexées (Postgis ou qix) que d’un simple shapefile. Thomas, si tu lis ces lignes…
In fine, 20 % de mieux pour le couple le plus sexy (PostGIS + AGG), c’est une vraie bonne nouvelle.

Fresh meat
Étiqueté avec :            

6 pesnées sur “Fresh meat

  • 27 avril 2009 à 8:50
    Permalien

    Au risque de te decevoir, je ne comprends pas bien d’où peuvent venir ces gains de performances. Les ameliorations ajoutées lors du Sprint de Toronto ont porté essentiellement sur la lecture de shapefiles, et indirectement sur la la gestion de la lecture des projections depuis leur code epsg (mais cette modif est dans proj, pas MapServer). Le hic c’est que la modif de shapefile n’est pas dans la version 5.4, et je doute que tu utilises une version de proj compilée depuis leur SVN. Mystère donc, il faut attendre la version 6.0 pour beneficier des ameliorations de perfs (et pas mal d’autres goodies 😉 )

    Répondre
  • 27 avril 2009 à 15:00
    Permalien

    Bon, je suis pas dans les mêmes dispositions que vous …car beaucoup de termes m’échappent un peu mais par contre une chose me titille sérieusement…
    Il s’agit de ce :
    c’est cette association SHP + QIX + GIF qu’il faut choisir

    Auriez-vous quelques infos sur cette association….et surtout ce QIX qui permettrait d’augementer la vitesse de chargement des SHP..Surtout comment les générer?

    Merci de votre retour
    Arno

    Répondre
  • 27 avril 2009 à 19:49
    Permalien

    Facile ! Un fichier qix est un index spatial en quadtree. Il optimise notamment l’acces à de petits extraits de larges fichiers. Il se construit tout simplement avec la programme shptree livré avec mapserver. Abusez-en !

    Répondre
  • 27 avril 2009 à 20:32
    Permalien

    qu’il faut choisir

    attention, le choix final depend de plusieurs facteurs. La vitesse de creation d’images en est un, mais il est toujours incompatible avec la qualité du rendu. Guillaume ne montre pas d’images du rendu GIF, mais ca n’est pas le meme que celui presenté.

    Répondre
  • 27 avril 2009 à 21:08
    Permalien

    Absolument ! Mais tout dépend du contexte d’utilisation et les excellentes performances du gif peuvent également avoir un réel intérêt.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.