#1 Thu 30 August 2012 08:59
- bianca
- Participant actif
- Date d'inscription: 14 Mar 2008
- Messages: 60
[MGE 2011] : symboles avancés - partage de connaissance
Bonjour à tous,
Voici un retour sur ce que nous avons mis en place avec les symboles avancés dans MGE.
En pièce jointe, un aperçu de ce que nous pouvons faire notamment au niveau de la représentation du bornage. Vous trouverez également un package avec des exemples de symboles.
Comment mettre en place de tels symboles :
1- Créer un symbole avancé :
- dans MGE Studio, nouveau => créer => définition de symbole
- dans Maestro, new ressource => simple symbol definition
2- Paramétrer le symbole : vous devez en xml dessiner le symbole et préciser son contenu, texte... Vous trouverez ici un lien vers une aide sur le paramétrage des symboles http://trac.osgeo.org/mapguide/attachme … raries.pdf
3- Une fois le symbole terminé vous devez l'appeler dans votre calque. Et là, il n'y a aucune interface, vous devrez donc vous plonger dans le xml du calque. Dans Maestro vous pouvez editer le xml du calque puis à l'aide de notepad ++ ou bloc note le modifier. Exemple, du calque affichant le bornage :
Code:
<?xml version="1.0" encoding="utf-8"?> <LayerDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.3.0" xsi:noNamespaceSchemaLocation="LayerDefinition-1.3.0.xsd"> <VectorLayerDefinition> <ResourceId>Library://Donnees/ORACLE/SIR_ORASP.FeatureSource</ResourceId> <FeatureName>FdoSIR:SIR_GP_PR</FeatureName> <FeatureNameType>FeatureClass</FeatureNameType> <Filter>NOT AXE LIKE 'V%_P' AND NOT AXE LIKE 'V%_TM' AND NOT AXE LIKE 'E%_V%' AND NOT AXE LIKE 'E%_A48_AP' AND AXE <> 'A48_AP' AND TYPE_AXE <> 'DL'</Filter> <Geometry>GEOMETRIE</Geometry> <ToolTip>Concat ( Concat ( LIBELLE , '\n' ), AXE )</ToolTip> <VectorScaleRange> <MaxScale>15001</MaxScale> <CompositeTypeStyle> <CompositeRule> <LegendLabel>sur RD</LegendLabel> <Filter>AXE LIKE 'D%' AND STATUT_BORNE = 'EN PLACE' OR AXE LIKE 'D%' AND STATUT_BORNE = 'DEBUT'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_NUMERO_AXE.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_NUMERO_AXE</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> <Override> <SymbolName>BORNE_D_NUMERO_AXE</SymbolName> <ParameterIdentifier>AXE</ParameterIdentifier> <ParameterValue>"AXE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RN ou Autoroute</LegendLabel> <Filter>AXE LIKE 'N%' or AXE LIKE 'A%' </Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_A_N_NUMERO_AXE.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_A_N_NUMERO_AXE</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> <Override> <SymbolName>BORNE_A_N_NUMERO_AXE</SymbolName> <ParameterIdentifier>AXE</ParameterIdentifier> <ParameterValue>"AXE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur Voie Verte</LegendLabel> <Filter>AXE LIKE 'VV%'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_VV_NUMERO_AXE.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_VV_NUMERO_AXE</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> <Override> <SymbolName>BORNE_VV_NUMERO_AXE</SymbolName> <ParameterIdentifier>AXE</ParameterIdentifier> <ParameterValue>"AXE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : à vérifier</LegendLabel> <Filter>STATUT_BORNE = 'A VERIFIER'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_A_VERIFIER_NUMERO_AXE.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_A_VERIFIER_NUMERO_AXE</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> <Override> <SymbolName>BORNE_D_A_VERIFIER_NUMERO_AXE</SymbolName> <ParameterIdentifier>AXE</ParameterIdentifier> <ParameterValue>"AXE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : à poser</LegendLabel> <Filter>STATUT_BORNE = 'A POSER'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_A_POSE_NUMERO_AXE.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_A_POSE_NUMERO_AXE</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> <Override> <SymbolName>BORNE_D_A_POSE_NUMERO_AXE</SymbolName> <ParameterIdentifier>AXE</ParameterIdentifier> <ParameterValue>"AXE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : fictif</LegendLabel> <Filter>STATUT_BORNE = 'FICTIVE'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_FICTIF_NUMERO_AXE.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_FICTIF_NUMERO_AXE</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> <Override> <SymbolName>BORNE_D_FICTIF_NUMERO_AXE</SymbolName> <ParameterIdentifier>AXE</ParameterIdentifier> <ParameterValue>"AXE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> </CompositeTypeStyle> </VectorScaleRange> <VectorScaleRange> <MinScale>15001</MinScale> <MaxScale>40001</MaxScale> <CompositeTypeStyle> <CompositeRule> <LegendLabel>sur RD</LegendLabel> <Filter>AXE LIKE 'D%' AND STATUT_BORNE = 'EN PLACE' OR AXE LIKE 'D%' AND STATUT_BORNE = 'DEBUT'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_NUMERO.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RN ou Autoroute</LegendLabel> <Filter>AXE LIKE 'N%' or AXE LIKE 'A%' </Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_A_N_NUMERO.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_A_N_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur Voie Verte</LegendLabel> <Filter>AXE LIKE 'VV%'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_VV_NUMERO.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_VV_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : à vérifier</LegendLabel> <Filter>STATUT_BORNE = 'A VERIFIER'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_A_VERIFIER_NUMERO.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_A_VERIFIER_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : à poser</LegendLabel> <Filter>STATUT_BORNE = 'A POSER'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_A_POSE_NUMERO.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_A_POSE_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : fictif</LegendLabel> <Filter>STATUT_BORNE = 'FICTIVE'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_FICTIF_NUMERO.SymbolDefinition</ResourceId> <ParameterOverrides> <Override> <SymbolName>BORNE_D_FICTIF_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides> </SymbolInstance> </CompositeSymbolization> </CompositeRule> </CompositeTypeStyle> </VectorScaleRange> <VectorScaleRange> <MinScale>40001</MinScale> <MaxScale>75001</MaxScale> <CompositeTypeStyle> <CompositeRule> <LegendLabel>sur RD</LegendLabel> <Filter>AXE LIKE 'D%' AND STATUT_BORNE = 'EN PLACE' OR AXE LIKE 'D%' AND STATUT_BORNE = 'DEBUT'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D.SymbolDefinition</ResourceId> <ParameterOverrides /> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RN ou Autoroute</LegendLabel> <Filter>AXE LIKE 'N%' or AXE LIKE 'A%' </Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_A_N.SymbolDefinition</ResourceId> <ParameterOverrides /> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur Voie Verte</LegendLabel> <Filter>AXE LIKE 'VV%'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_VV.SymbolDefinition</ResourceId> <ParameterOverrides /> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : à vérifier</LegendLabel> <Filter>STATUT_BORNE = 'A VERIFIER'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_A_VERIFIER.SymbolDefinition</ResourceId> <ParameterOverrides /> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : à poser</LegendLabel> <Filter>STATUT_BORNE = 'A POSER'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_A_POSE.SymbolDefinition</ResourceId> <ParameterOverrides /> </SymbolInstance> </CompositeSymbolization> </CompositeRule> <CompositeRule> <LegendLabel>sur RD : fictif</LegendLabel> <Filter>STATUT_BORNE = 'FICTIVE'</Filter> <CompositeSymbolization> <SymbolInstance> <ResourceId>Library://Symboles/BORNE/BORNE_D_FICTIF.SymbolDefinition</ResourceId> <ParameterOverrides /> </SymbolInstance> </CompositeSymbolization> </CompositeRule> </CompositeTypeStyle> </VectorScaleRange> </VectorLayerDefinition> </LayerDefinition>
Ici on ne trouve pas les balises habituelles de pointtypestyle, linetypestyle ou areatypesytle mais nous avons du compositetypesteyle. On peut comme pour les calques traditionnels :
- gérer plusieurs plages d'échelle : entre les balises <VectorScaleRange></VectorScaleRange>
- des thématiques : chaque classe est définie entre les balises <CompositeRule></CompositeRule> et dans la balise Filter
Vous allez déclarer le chemin d'accès au symbole avancé au niveau du RessourceId.
Entre les balises ParameterOverrides, vous préciserez le champ utilisé pour l'affichage du texte :
Code:
<ParameterOverrides> <Override> <SymbolName>BORNE_D_A_POSE_NUMERO</SymbolName> <ParameterIdentifier>LIBELLE</ParameterIdentifier> <ParameterValue>"LIBELLE"</ParameterValue> </Override> </ParameterOverrides>
Un écueil à éviter, attention au SymbolName qui est aussi déclaré dans le symbole. Si ce nom n'est pas correct, aucun texte ne s'affichera.
Une réserve toutefois avec ces symboles pour ceux qui utiliserait MGE via Geomap, ces symboles ne remontent pas dans la légende lors de l'impression...
Vous avez donc maintenant un symbole de borne avec le nom de la route et le numéro de la borne...
Cordialement.
Hors ligne