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

Symbologie complexe avec Mapserver

Jun 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.