Symbologie complexe avec Mapserver

26
Symbologie Complexe avec MapServer Daniel Morissette (MapGears) Martin Rivest (TRT Canada) Géomatique 2013

Transcript of Symbologie complexe avec Mapserver

Page 1: Symbologie complexe avec Mapserver

Symbologie Complexe avec MapServer

Daniel Morissette (MapGears) Martin Rivest (TRT Canada)

Géomatique 2013

Page 2: Symbologie complexe avec Mapserver

2 / 2 /

Solutions géospatiales utilisant symbologie complexe

Contexte

Aéronautique

Transport

Défense et

Sécurité

Page 3: Symbologie complexe avec Mapserver

3 / 3 / Contexte

Symbologie 2525C partout dans le spectrum opérationel

Quartiers Généraux

Véhicule Combat

Soldat Mobile

Page 4: Symbologie complexe avec Mapserver

4 / 4 / Contexte

Exemple de répresentation de situations tactiques

Page 5: Symbologie complexe avec Mapserver

5 / 5 /

Exemple de représentation de situations tactiques

Contexte

Page 6: Symbologie complexe avec Mapserver

6 / 6 / Symbologie 2525C

Définition

u  Land/Joint, Naval, Aeronautical u  But

£  Vue opérationnelle commune

£  Intéropérabilité avec les alliés

u  Attributs £  Identifiant (Symbol_ID 15 caractères)

£  Géométrie

u  2 Familles de symboles £  Force Elements

l  Unit, équipment et Installation

£  Tactical Graphics

l  Control Features, Task, Event, Action

Page 7: Symbologie complexe avec Mapserver

7 / 7 / Symbologie 2525C

Cours 101

Force Element

ou Tactical Graphics

Icône (Force Element) Décorateur (TacticalGraphics)

Page 8: Symbologie complexe avec Mapserver

8 / 8 / Problématique

Force Elements

u  Composition £  Géométrie : Point

£  Primitives de vecteur assemblées selon le code 2525C

£  Collection de libellés autour du symbole

£  Décorateurs pour ‘indicator’

£  Option: Fill,Boundary,Icon

u  Problématique £  Multiples combinaisons

£  Exception aux règles générales

Page 9: Symbologie complexe avec Mapserver

9 / 9 / Problématique

Force Elements

u  Composition £  Géométrie : Point

£  Primitives de vecteur assemblées selon le code 2525C

£  Collection de libellés autour du symbole

£  Décorateurs pour ‘indicator’

£  Option: Fill,Boundary,Icon

u  Problématique £  Multiples combinaisons

£  Exception aux règles générales

Page 10: Symbologie complexe avec Mapserver

10 / 10 / Problématique

Tactical Graphics

u  Composition £  Géométrie: Point,Ligne,Polygone

£  Décorateur appliqué sur la géométrie

£  Libellés autour ou dans le symbole

u  Problématique £  Transformation Géométrie

£  Libellé sur segment polyligne

Page 11: Symbologie complexe avec Mapserver

11 / 11 /

Tactical Graphics

u  Composition £  Géométrie: Point,Ligne,Polygone

£  Décorateur appliqué sur la géométrie

£  Libellés autour ou dans le symbole

u  Problématique £  Transformation Géométrie

£  Libellé sur segment polyligne

Problématique

Page 12: Symbologie complexe avec Mapserver

12 / 12 / Solution

Utilisation MapServer

u  Utilisation technologie sur d’autres projets £  Défense Nationale

£  Ministère Sécurité Publique

u  Facteurs clés supportant les besoins des systèmes critiques £  Travail effectué pour les symboles météo

£  Performance engin de rendu cartographique

£  Gestion Mémoire

£  Possibilité d’utilisation sur différentes plateformes

Page 13: Symbologie complexe avec Mapserver

13 / 13 /

La méthode traditionnelle

Définition Symbologie

Page 14: Symbologie complexe avec Mapserver

14 / 14 /

La méthode traditionnelle

Définition Symbologie

Page 15: Symbologie complexe avec Mapserver

15 / 15 / Support Symbologie Complexe

Améliorations requises

u  Capacité de gérer efficament £  Des centaines de permutations

d’identifiants de symboles

u  Capacité de modifier £  La géométrie au moment du rendu

u  Capacité d’utiliser £  Le rendu de symboles complexes dans

un client léger

Page 16: Symbologie complexe avec Mapserver

16 / 16 / Support Symbologie Complexe

Améliorations requises

u  Capacité de gérer efficament £  Des centaines de permutations

d’identifiants de symboles

u  Capacité de modifier £  La géométrie au moment du rendu

u  Capacité d’utiliser £  Le rendu de symboles complexes dans

un client léger

STYLEITEM JavaScript

GEOMTRANSFORM JavaScript

Service Web Symbologie

Page 17: Symbologie complexe avec Mapserver

17 / 17 / Solution

STYLEITEM JavaScript

LAYER ... STYLEITEM "javascript://myscript.js" CLASS // CLASS vide requise END END

//Produit symbole de size 14 ou 7 var size = shape.attributes.NAME.length > 10 ? 14:7; var style = "STYLE SIZE " + size; style += " SYMBOL 'circle'"; style += " COLOR 255 0 0 END"; // Retourne le style à MapServer style;

STYLE SIZE 14 COLOR 255 0 0 END

Page 18: Symbologie complexe avec Mapserver

18 / 18 / Solution

STYLEITEM JavaScript

u  Classification et définition de styles par programmation u  Code JavaScript appelé pour chaque ‘Shape’

£  Reçoit shape.attributes en entrée

u  Retour (2 options) £  Définition de STYLE unique

£  CLASS contenant des STYLEs multiples

u  Utilise le moteur JavaScript V8 de Chrome

Page 19: Symbologie complexe avec Mapserver

19 / 19 / Solution

STYLEITEM JavaScript

Friend - Ground Track – Unit – Combat –

Air Defense – Short Range

SFGPUCDS-------

CLASS STYLE OFFSET 0 0 SIZE 27.2 SYMBOL 'Friend' COLOR '#84E3FF' OUTLINECOLOR '#000000' END STYLE COLOR '#000000' SIZE 27.2 OFFSET 0 0 SYMBOL 'defense_circle_friend' END TEXT 'SRD' LABEL COLOR '#000000' FONT 'sans' TYPE truetype SIZE 5.44 POSITION cc PARTIALS FALSE OFFSET 0 -4.44 END END

Page 20: Symbologie complexe avec Mapserver

20 / 20 / Solution

STYLEITEM JavaScript

Friend - Ground Track – Unit – Combat –

Air Defense – Short Range (Headquarters – Feint Dummy –

Task Force)

SFGPUCDS--D----

CLASS STYLE COLOR '#000000' SIZE 27.2 SYMBOL 'headquarter_friend' END STYLE COLOR '#000000' SIZE 27.2 OFFSET 13.6 -4.08 SYMBOL 'taskForceFriend' END STYLE COLOR '#000000' SIZE 27.2 OFFSET 13.6 -13.6 SYMBOL 'FeintDummy' END STYLE OFFSET 13.6 -4.08 SIZE 27.2 SYMBOL 'Friend' COLOR '#84E3FF' OUTLINECOLOR '#000000' END STYLE COLOR '#000000' SIZE 27.2 OFFSET 13.6 -4.08 SYMBOL 'defense_circle_friend' END TEXT 'SRD' LABEL COLOR '#000000' FONT 'sans' TYPE truetype SIZE 5.439 POSITION cc PARTIALS FALSE OFFSET 13.6 -8.52 END END

Page 21: Symbologie complexe avec Mapserver

21 / 21 / Solution

Transformation de la géométrie

u  GEOMTRANSFORM JavaScript u  Reçoit shape en entrée

£  Attributs

£  Géométrie

u  Retourne la géométrie transformée £  Qui sera passée au moteur de rendu

Page 22: Symbologie complexe avec Mapserver

22 / 22 / Solution

Service Web de Symbologie

u  Pour la manipulation de symboles dans un client léger (ex. OpenLayers)

u  Requête GetSymbol inspirée du WMS GetMap

GetSymbol (SFGPUCD--D----)

Page 23: Symbologie complexe avec Mapserver

23 / 23 / Innovation Ouverte

Bénéfices

u  MapGears £  Permettre une avancée technologique dans MapServer

u  Thales £  Consolider une expertise sur MapServer

£  Bâtir une capacité réutilisable pour le groupe

£  Accroître notre implication dans l’OSGeo

« L’Innovation Ouverte, c’est impliquer et intégrer de nouveaux partenaires internes et externes à l’entreprise dans le développement de ses innovations. »

Page 24: Symbologie complexe avec Mapserver

24 / 24 / Conclusion

Pour la communauté…

u  Nouvelle capacité du rendu cartographique de MapServer £  Contrôle du rendu par programmation

£  Mécanisme plus efficace et puissant que classification par expression

u  Citoyen engagé de la communauté du logiciel libre £  Vous pouvez être plus qu’un simple consommateur d’un logiciel

£  Contribution active à l’évolution est aussi possible et souhaitable

Page 25: Symbologie complexe avec Mapserver

25 / 25 / Questions

Pour plus d’information…

Martin Rivest, B.Sc, PMP Chargé de projet, Responsable Offre Géomatique Thales Recherche et Technologie Canada (TRT) [email protected] 418.651.0606 poste 4510653

Daniel Morissette Président, MapGears Inc. [email protected] 418 696-5056

Page 26: Symbologie complexe avec Mapserver

Together. Safer. Everywhere.