MapServer: Quoi de Neuf pour la 7.0 ?



MapServer: Quoi de Neuf pour la 7.0 ?

0 0


foss4g-fr-mapserver-70


On Github tbonfort / foss4g-fr-mapserver-70

MapServer: Quoi de Neuf pour la 7.0 ?

tbonfort@terriscope.fr

@tbonfort

Notes go here

20 ans d'existence: récapitulatif

  • 1994: naissance à l'UMN, financements NASA/FORNET
  • 2001: OGC, postgis
  • 2007: Naissance OSGEO
  • 2009: Premier Code-Sprint (Toronto)
  • 2014: v7.0 !

Quelques Chiffres

  • ~150k LOC
  • ~30 committers
  • mailing lists: ~1800 pour -users, ~400 pour -dev
  • PSC international
    • 14 membres
    • USA/Canada: 9
    • EU: 5 (FR: 2, IT: 1, AT: 1, HU: 1)
  • Un code sprint par an depuis 2009 (Toronto, New-York, Montréal, Seattle, Boston, Vienne)

Releases

  • Une version majeure toutes les années
  • Versions de maintenance intermédiaires, en fonction du besoin

MapServer 7.0

  • Nouveautés Majeures
    • UTFGrids
    • WFS 2.0
    • Heatmaps/Density Maps
    • Javascript/V8 StyleItem/Geomtransform
    • Unification du filtrage attributaire/geometrique
  • Autres
    • Refactoring du rendu texte
    • Suppression du support GD
    • Suppression des labels BITMAP
    • Support des encodages multiples
    • Extensions WCS 2.0

Support UTFGrids

  • Spec MapBox permettant de tuiler des données vectorielles
  • Implémenté dans le cadre du "Google Summer of Code"
  • Interactivité importante (rollover, evenements JS)
  • Support dans OpenLayers
  • Pas encore de support tuilé dans MapCache

WFS 2.0

  • Download Services INSPIRE
  • Présentation demain 14h

HeatMaps

  • Filtres permettant de representer sous format raster de la donnée vectorielle
  • Parametres d'interpolation/rendu:
    • Échelle automatique
    • Interpolation dans espaces de couleur RGB/HSL
    • Pondération par attribut/expression
  • Support en mode tuilé

HeatMaps (1)

interpolation en espace de couleur HSL

HeatMaps (2)

interpolation en espace de couleur RGB

HeatMaps (3)

interpolation en espace de couleur HSL

HeatMaps (4)

Densité pure

HeatMaps (5)

mise a l'échelle fixée

Javascript (V8) StyleItem/GeomTransfom

  • Integration de la librairie V8
  • Manipulation des geometries/features en fonction d'attributs
  • Manipulation des styles et symboles en fonction d'attributs
  • "Mode experimental": compatibilité arrière non garantie

Unification du filtrage attributaire/spatial

  • Actuellement filtrage spatial fait dans MapServer
  • Postgis, Oracle, OGR supportent un filtrage spatial natif (e.g. "where st_intersects(the_geom, st_geomfromtext('wkt...'))")
  • Gain de performances à attendre pour certaines requetes WFS
  • Actuellement l'élement bloquant pour release de 7.0

Refactoring Rendu Texte

  • Implémentations naïves dupliquées pour chaque backend de rendu
  • Intégration de la librairie Harfbuzz
  • Peu visible pour l'utilisateur final, mais:
    • Alignement/centrage de textes exacts
    • Possibilité d'utiliser une police de caractères par langue
    • Support à terme de tous les scripts supportés par Unicode

Refactoring Rendu Texte (1)

Amélioration de perfs

Refactoring Rendu Texte (2)

Exemple Malayalam

Refactoring Rendu Texte (3)

Exemple Tibéto-Birman

Suppression du support GD

  • Ajouté en 1995, une page tournée!
  • Supprimé car coût de maintenance trop important, malgré son utilité dans certains cas niches
  • fallback automatique sur AGG + 8bits

Suppression des labels BITMAP

  • Police truetype par défaut incluse
  • Support de nombreux glyphes sans dépendance externe
  • Quelques use-cases non supportés

Support des Encodages Multiples

  • Gestion de l'encodage problématique
  • Obligation d'avoir mapfile encodé à l'identique que la source de donnée
  • 7.0: full UTF-8
  • Sources de données converties en entrée en UTF-8
  • Le mapfile doit maintenant être encodé en UTF-8
  • Les documents sont produits en UTF-8

Extensions WCS 2.0

  • Publiés/officialisés en début d'année
  • Passe 100% des tests CITE
  • Implémentation de référence?

Traduction de la Documentation

  • Mise en place par l'équipe FR d'une solution transifex pour traduction collaborative
  • Attrait pour les autres langues traduites

MapCache: Backends REST

  • Support GET/PUT/DELETE pour stockage des tuiles
  • Plugins d'authentification/autorisation pour S3, Azure et Google Cloud Storage
  • Selon les scénarios, bien étudier les coûts induits (nombre de requêtes, bande passante)

MapCache: Support TIME animé

  • Support TIME existant, images fusionées
  • Mode "animation"
  • GIF animé pour le moment, d'autres formats vidéo possibles

Questions?

tbonfort@terriscope.fr