Cette archive est relative à une version précédente d'Esri Maps for IBM Cognos. La version actuelle est disponible sur cette page : http://doc.arcgis.com/fr/maps-for-cognos/

Ajouter des jeux de symboles personnalisés

Esri Maps for IBM Cognos propose un jeu de symboles par défaut pour définir un style d'entités ponctuelles sur la carte. Outre la modification des symboles par défaut, les administrateurs peuvent ajouter leurs propres jeux de symboles à la liste de symboles ponctuels de type image que les auteurs et utilisateurs de rapports utilisent pour définir des styles pour leurs cartes.

Dans Esri Maps for IBM Cognos, les symboles ponctuels de type image personnalisés sont contenus dans des dossiers par thème. Ces dossiers sont ajoutés au dossier de module d'extension d'esri-maps-em4c.

Un dossier de jeu de symboles ponctuels de type image personnalisés contient les éléments suivants :

  • Un jeu de symboles ponctuels de type image classés par thèmes
  • Un fichier de définition de jeux de symboles ponctuels (JSON) qui décrit chaque symbole contenu dans le jeu

Une fois le symbole ponctuel de type image personnalisé créé et ajouté au dossier de module d'extension esri-maps-em4c, vous devez modifier le fichier manifeste du module d'extension de sorte à inclure votre jeu de symboles personnalisés.

Créer un dossier de jeux de symboles personnalisés

Créez un dossier dans le dossier de module d'extension d'esri-maps-em4c pour y conserver vos fichiers de jeux de symboles.

  1. Accédez à <em4c_location>/webcontent/esrimap/esri-maps-em4c.
  2. Créez un dossier et attribuez-lui un nom correspondant au thème de votre jeu de symboles ponctuels de type image, par exemple, CrimeSymbols.
  3. Dans le nouveau dossier, créez un sous-dossier nommé images. Ce dossier contiendra les fichiers de symboles ponctuels de type image que vous allez créer.

Créer des symboles ponctuels de type image

Afin de vous assurer que les symboles s'affichent correctement dans les menus déroulants Symbole et dans la carte, créez des symboles ponctuels de type image personnalisés mesurant 20 x 20 pixels et enregistrez-les au format PNG pour conserver leur transparence.

  1. Dans le logiciel graphique de votre choix, créez une série de symboles qui représentent le mieux vos données.

    Faites en sorte que les symboles soient simples, pour qu'ils soient plus visibles sur la carte. Afin de vous assurer que les symboles s'affichent correctement dans les menus déroulants Symbole et dans la carte, créez des symboles ponctuels de type image personnalisés mesurant 20 x 20 pixels et enregistrez-les au format PNG ou JPG. Utilisez le format PNG pour conserver la transparence, comme illustré par les images ci-après.

    symboles JPG
    symboles JPG
    Symboles PNG avec la transparence
    Symboles PNG avec la transparence

  2. Enregistrez les fichiers d'images dans le dossier images que vous avez créé, par exemple CrimeSymbols/images.

Créer un fichier de définition de jeu de symboles ponctuels de type image

La définition de jeu de symboles ponctuels de type image est un fichier JSON qui décrit chaque symbole ponctuel d'image contenu dans le jeu.

Dans l'exemple JSON suivant, chacun des trois symboles ponctuels personnalisés (*.png) est un objet distinct. Les objets sont placés entre accolades ({ }) et séparés par des virgules. Plusieurs objets sont placés entre crochets ([ ]), pour désigner une série. Chaque objet JSON contient des propriétés prenant la forme de paires nom-valeur qui représentent les données.

[
    {
        "type": "esriPMS",
        "url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol1.png",
        "width": "20",
        "height": "20",
        "xoffset": "0",
        "yoffset": "10"
    },
    {
        "type": "esriPMS",
        "url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol2.png",
        "width": "20",
        "height": "20",
        "xoffset": "0",
        "yoffset": "10"
    },
    {
        "type": "esriPMS",
        "url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol3.png",
        "width": "20",
        "height": "20",
        "xoffset": "0",
        "yoffset": "10"
    }
]

Pour chaque symbole ponctuel d'image contenu dans votre jeu, créez un objet JSON comprenant les propriétés suivantes. Les propriétés type, url, width et height sont obligatoires ; les autres sont facultatives.

  • type : Précise le type de symbole. La propriété de type d'un symbole ponctuel de type image est esriPMS.
  • url : précise l'URL utilisée pour récupérer l'image du serveur.
  • width : précise la largeur, en points, du symbole. Pour afficher le symbole à sa taille initiale, omettez les propriétés de largeur et hauteur. Pour redimensionner l'image du symbole, indiquez uniquement la hauteur voulue, en points.
  • height : précise la hauteur, en points, du symbole. Pour afficher le symbole à sa taille initiale, omettez les propriétés de largeur et hauteur. Pour redimensionner l'image du symbole, indiquez uniquement la hauteur voulue, en points.

Les propriétés facultatives sont les suivantes :

  • xoffset : indique le décalage horizontal, en points, du symbole ponctuel par rapport à l'emplacement de point réel. Des valeurs positives décalent vers la droite, des valeurs négatives vers la gauche.
  • yoffset : indique le décalage vertical, en points, du symbole ponctuel par rapport à l'emplacement de point réel. Des valeurs positives décalent vers le haut, des valeurs négatives vers le bas.
  • angle : indique le nombre de degrés (0 à 360) duquel un symbole ponctuel est pivoté. La rotation s'effectue à partir de l'Est dans le sens anti-horaire, où l'Est est l'axe 0°.
  • imageData : indique les données d'image codées en base-64. Cette option s'applique uniquement lors du partage de couches ou de cartes sur ArcGIS Online.
  • contentType : précise le type de données d'image, par exemple, image/png. Cette propriété est utilisée uniquement si imageData est spécifiée.

  1. Dans votre nouveau dossier de jeu de symboles (par exemple, CrimeSymbols), créez un fichier JSON, attribuez-lui un nom correspondant au thème du jeu de symboles ponctuels personnalisés et ajoutez une extension .json.txt, par exemple, crimeSymbols.json.txt.
  2. Dans l'éditeur de texte de votre choix, créez une série en saisissant des crochets d'ouverture et de fermeture sur des lignes séparées. Cette série contiendra les objets JSON qui décrivent les symboles ponctuels de type image. Par exemple :
    [
    ]
    
  3. Créez un objet JSON décrivant le premier symbole ponctuel d'image personnalisé.

    Dans la série entre crochets, saisissez un jeu d'accolades, puis tapez les paires nom-valeur requises qui décrivent le symbole ponctuel d'image. Veillez à séparer chaque propriété par une virgule, et entourez chaque élément nom-valeur par des guillemets. Indentez votre code de manière adéquate afin d'en assurer la lisibilité. Par exemple :

    [	
    	{
    		“type” : “esriPMS”,
    		“url” : “esri-maps-em4c/CrimeSymbols/images/symbol1.png”,
    		“width” : “20”,
    		“height” : “20”,
    		“xoffset” : “0”,
    		“yoffset” : “10”
    
    	}
    ]
    
  4. Créez un objet JSON pour chaque symbole ponctuel d'image contenu dans votre jeu, en ajoutant une virgule après l'accolade de fermeture de l'objet précédent. Aucune virgule n'est requise après le dernier objet de la série. Par exemple :
    [	
    	{
    		“type” : “esriPMS”,
    		“url” : “esri-maps-em4c/CrimeSymbols/images/symbol1.png”,
    		“width” : “20”,
    		“height” : “20”,
    		“xoffset” : “0”,
    		“yoffset” : “10”
    
    	},
    	{
    	...
    	}
    ]
    
  5. Validez votre code JSON grâce à un outil de validation tel que JSONLint.
  6. Enregistrez et fermez le fichier de définition.

Modifier le fichier manifeste

Le dossier de module d'extension esri-maps-em4c contient un fichier manifeste nommé manifest.json.txt qui définit tous symboles ponctuels de type image personnalisés que vous créez pour Esri Maps for IBM Cognos, en complément de tous les autres outils et comportements. Pour ajouter un jeu de symboles ponctuels de type image personnalisés à ce fichier, vous indiquez un nom et une étiquette pour le jeu, ainsi que l'emplacement et le nom du fichier de définition du jeu.

  1. Accédez à <em4c_location>/webcontent/esrimap/esri-maps-em4c.
  2. Dans un éditeur de texte, ouvrez manifest.json.txt.
  3. Modifiez le fichier de sorte à inclure votre jeu de symboles ponctuels de type image personnalisés. Par exemple, ajoutez le code suivant à la fin du fichier :
    ,
    	"pictureMarkerSets": [{
    		"name": "crimesymbols",
    		"label": "Crime Symbols",
    		"location": "./CrimeSymbols/CrimeSymbols.json.txt"
    	}]
    

    La propriété name fait référence au nom du jeu.

    La propriété label définit l'étiquette qui s'affiche dans le menu déroulant de jeux de symboles disponibles.

    La propriété location désigne l'emplacement du fichier de définition du jeu de symboles ponctuels de type image personnalisés (par exemple, crimeSymbols.json.txt).

  4. Validez le code JSON mis à jour grâce à un outil de validation tel que JSONLint.
  5. Enregistrez et fermez le fichier.

Testez vos symboles ponctuels de type image personnalisés

Vérifiez que vos symboles ponctuels de type image personnalisés sont disponibles pour les créateurs et utilisateurs de rapports Esri Maps for IBM Cognos.

  1. Redémarrez votre serveur Web et effacez le cache du navigateur.
  2. Dans Esri Maps Designer, ouvrez une carte pour l'éditer.
  3. Dans le volet Contenu de la carte, développez une couche de points contenant des symboles ponctuels d'icônes, puis cliquez sur une icône pour afficher une liste de jeux de symboles. Votre jeu de symboles de type image personnalisés doit apparaître en bas de la liste.
  4. Effectuez le même test en mode consommateur en affichant le rapport dans Cognos Connection pour vérifier que les bons symboles apparaissent dans la liste.

Votre jeu de symboles ponctuels de type image personnalisés est maintenant prêt pour utilisation.