Strategy ONE
Génération de formes personnalisées
Vous pouvez intégrer des formes personnalisées avec des données MicroStrategy et les rendre sur des cartes ESRI basées sur un cloud. Pour intégrer les formes personnalisées aux formes prêtes à l'emploi fournies par MicroStrategy, vous modifiez le fichier de configuration de la forme géographique dans votre plug-in et ajoutez un fichier de formes personnalisées au format KML, comme décrit ci-dessous :
-
Créez ou obtenez un fichier KML qui définit les formes personnalisées pour votre carte
-
Confirmer que vous pouvez utiliser les formes personnalisées
Téléchargez le plug-in de visualisation de la carte ESRI qui vous a été fourni et suivez les étapes ci-dessous.
-
Créez ou obtenez un fichier KML qui définit les formes personnalisées pour votre carte
Vous pouvez utiliser un fichier KML que vous possédez déjà ou en créer un nouveau. KML est un format de fichier utilisé pour afficher des données géographiques sur des cartes bidimensionnelles et sur les navigateurs Earth en trois dimensions. Un extrait de code d'un exemple de fichier KML est présenté ci-dessous :
Copier<?xml version="1.0" encoding="UTF-8"?>
<kml >
<Document>
<Placemark>
<name>attribute value</name>
<ExtendedData>
<Data name="attribute key">
<DisplayName>attribute display value</DisplayName>
<Value>attribute value</Value>
</Data>
</ExtendedData>
...
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>set of custom shape coordinates</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
...
</Document>
</kml>Chaque
<Placemark>
L'élément contient les données de définition de la forme pour l'une des formes personnalisées. Il contient également les informations nécessaires pour faire correspondre chaque forme aux données correspondantes.-
Par défaut, le
<name>
L'élément est utilisé pour faire correspondre les données avec les formes Sa valeur doit correspondre aux données de l'élément de l'attribut MicroStrategy utilisées par la carte. Par exemple, si vos formes personnalisées sont des états, la valeur de<name>
L'élément peut être « Maryland » ou « Californie ». -
Il est possible de remplacer le comportement d'appariement par défaut en ajoutant une<
ExtendedData>
élément en tant qu'enfant de<Placemark>
. Cela offre de la flexibilité en vous permettant d'associer vos formes personnalisées à des données identifiées de plusieurs façons. Par exemple, vous pouvez procéder de la sorte si vous souhaitez faire correspondre les formes de votre fichier KML avec des données d'état identifiées par les abréviations du nom de l'État ou des ID d'objets, en plus des noms d'États. -
Le
<coordinates>
élément (enfant de<Polygon><outerBoundaryIs><LinearRing>
) contient la définition de chaque forme personnalisée. La définition est un ensemble de points décrits par la longitude, la latitude et l'altitude optionnelle qui déterminent le contour de la forme.
Seul le polygone est pris en charge pour le type de forme pour le fichier de forme ESRI et le fichier de forme KML.
Le système de coordonnées doit être WGS 84.
Procédez comme suit :
- Donnez au fichier KML qui définit vos formes personnalisées un nom significatif, par exemple
CustomCountyShapesFile.kml
, et enregistrez-la dans votre dossier de plug-in de visualisation de carte ESRI. - Sauvegardez le fichier KML directement dans votre plug-in, ou créez un dossier kml dans le plug-in et enregistrez votre fichier de formes personnalisées sous le dossier kml.
-
-
Modifiez le fichier de configuration de la forme géographique pour que la visualisation de la carte ESRI puisse utiliser vos formes personnalisées
Naviguer vers
mstrGeoShapesConfig.xml
, situé sousxml/config
dans votre dossier de plug-ins et ouvrez-le dans un éditeur de texte. Le fichier doit inclure un code comme dans l'exemple ci-dessous.Copier<layers>
<layer id="900" title="Custom County Map Layer" ml="CustomCountyShapesFile.kml">
<shapeKeys>
<shapeKey key="name" path="/ExtendedData/Data[@name='name']/value"/>
<shapeKey key="abbr" path="/ExtendedData/Data[@name='abbreviatedName']/value"/>
<shapeKey key="id" path="/ExtendedData/Data[@name='object_id']/value"/>
</shapeKeys>
</layer>
</layers>
<shapes>
<shape id="901"
custom="true"
plugin="ConnectorForMap"
desc="Custom Counties by Name"
descWeb="mstrweb.7777n"
descFlash="mstr.6666n"
descDesktop="5555n"
roleId="9"
type="Polygon"
default="false"
shapeCat="1004"
shapeKey="name"
layerId="900"
sf="name"
sfr="2"
/>
<shape id="902"
custom="true"
plugin="ConnectorForMap"
desc="Custom Counties by Abbreviation"
descWeb="mstrweb.7777a"
descFlash="mstr.6666a"
descDesktop="5555a"
roleId="9"
type="Polygon"
default="false"
shapeCat="1004"
shapeKey="abbr"
layerId="900"
sf="name"
sfr="2"
/>
<shape id="903"
custom="true"
plugin="ConnectorForMap"
desc="Custom Counties by ID"
descWeb="mstrweb.7777i"
descFlash="mstr.6666i"
descDesktop="5555i"
roleId="9"
type="Polygon"
default="false"
shapeCat="1004"
shapeKey="id"
layerId="900"
sf="name"
sfr="2"
/>
</shapes>Apportez les modifications ci-dessous pour personnaliser le fichier de configuration de la forme géographique pour votre environnement. Les valeurs que vous devez modifier sont affichées en gras dans l'échantillon de code ci-dessus.
-
Pour l'enfant
<layer>
élément sous le parent<layers>
élément, procédez comme suit :-
Pour le
id
, remplacez « 900 » par une valeur unique (qui n'est pas déjà utilisée par MicroStrategy pour une couche de carte). Cette valeur identifie de manière unique la couche de carte qui utilise vos formes personnalisées. Il est référencé parlayerID
attribut dans<shape>
élément.Multiple< forme> Les éléments peuvent utiliser la même couche de carte (c'est-à-dire le même fichier KML), mais utiliser des clés différentes pour correspondre aux formes et aux données, par exemple le nom, l'abréviation ou l'ID. Les clés utilisées pour correspondre sont fournies par
shapeKey
attribut des différents<shape>
éléments. La correspondance se produit comme suit pour chaque forme personnalisée : -
La valeur de chaque
shapeKey
L'attribut est utilisé pour trouver une correspondance avec l'attribut clé dans un<shapeKey>
élément.La valeur shapekey est sensible à la casse.
-
Correspondance
<shapeKey>
l'élément contient unpath
attribut qui pointe vers un élément spécifique<Data>
élément dans le fichier KML (identifié par la valeur dename
attribut dans<Data>
élément). -
Correspondance
<Data>
l'élément a un enfant<Value>
élément, et sa valeur est utilisée pour obtenir les données MicroStrategy associées à cette forme personnalisée. -
Pour le
title
Attribut, remplacez « Couche de carte personnalisée par comté » par une valeur qui décrit cette couche de carte qui utilise vos formes personnalisées. -
Pour le
ml
attribut, remplacer "CustomCountyShapesFile.kml
" par le nom de votre fichier KML, y compris le chemin relatif, dans le dossier du plug-in. Par exemple, utilisezml="CustomCountyShapesFile.kml"
pour un fichier enregistré directement sous le dossier du plug-in, ou utilisezml="kml/CustomCountyShapesFile.kml"
pour un fichier enregistré dans un dossier appelé kml sous le dossier du plug-in.
-
-
Pour l'enfant
<shapeKey>
éléments sous le parent<shapeKeys>
élément, procédez comme suit :-
Supprimer tous les enfants
<shapeKey>
éléments dont vous n'avez pas besoin pour votre environnement. Le plug-in qui vous est fourni contient trois de ces éléments. L'une identifie les formes par leur nom, une autre par abréviation et la troisième par ID. -
Si vous ne souhaitez pas utiliser un ou plusieurs de ces éléments, supprimez les éléments appropriés.
-
Si vous souhaitez utiliser un ou plusieurs de ces éléments, conservez les éléments appropriés.
-
Si vous souhaitez identifier vos formes par une valeur différente, modifiez la valeur de
key
attribut dans l'un des<shapeKey>
éléments. Par exemple, si vous souhaitez utiliser une valeur intitulée SMSA pour identifier vos formes, votre code peut se présenter comme suit :<shapeKey key="SMSA" path="/ExtendedData/Data[@name='SMSA']/value"/>
La valeur shapekey est sensible à la casse.
-
Pour chaque enfant
<shapeKey>
élément dont vous avez besoin pour votre environnement :-
Définir la
key
attribut à la valeur qui sera utilisée pour identifier<shape>
élément associé au fichier de forme personnalisée. Il s'agit de la même valeur que la valeur deshapeKey
attribut dans le correspondant<shape>
élément. -
Si vous souhaitez que le champ de données utilisé pour faire correspondre les données avec les formes soit différent de la valeur du< nom> élément pour chaque
<Placemark>
dans le fichier KML, définissezpath
attribut à l'emplacement du champ de données que vous souhaitez utiliser, en utilisant le format/ExtendedData/Data[@name='>MyCustomShapes']/value
.Par exemple, supposons que vous souhaitez utiliser des abréviations d'État pour faire correspondre vos formes personnalisées avec vos données et que le code dans votre fichier KML ressemble au code ci-dessous :
Copier<?xml version="1.0" encoding="UTF-8"?>
<kml >
<Document>
<Placemark>
<name>custom shape name</name>
<ExtendedData>
<Data name="abbreviatedName">
<DisplayName>Pennsylvania</DisplayName>
<Value>PA</Value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>set of custom shape coordinates</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
...
</Document>
</kml>Le code dans votre
mstrGeoShapesConfig.xml
Le fichier ressemblerait à ceci :Copier<layers>
<layer id="900" title="My Custom Map Layer" ml="MyCustomShapesFile.kml">
<shapeKeys>
<shapeKey key="abbr" path="/ExtendedData/Data[@name='abbreviatedName']/value"/>
</shapeKeys>
</layer>
</layers>
-
-
-
Pour l'enfant< forme> éléments sous le parent
<shapes>
élément, procédez comme suit :-
Supprimer tous les enfants
<shape>
éléments dont vous n'avez pas besoin pour votre environnement. Le plug-in qui vous est fourni contient trois de ces éléments. L'une identifie les formes par leur nom, une autre par abréviation et la troisième par ID. Ces valeurs sont identifiées parshapeKey
attribut. -
Si vous ne souhaitez pas utiliser l'une ou plusieurs d'entre elles, supprimez les éléments appropriés.
-
Si vous souhaitez en utiliser une ou plusieurs, conservez les éléments appropriés.
-
Si vous souhaitez identifier vos formes par une valeur différente, modifiez la valeur de
shapeKey
attribut dans l'un des<shape>
éléments. Par exemple, si vous souhaitez utiliser une valeur intitulée SMSA pour identifier vos formes, votre code peut se présenter comme suit :La valeur shapekey est sensible à la casse.
Copier<shape
...
shapeKey="SMSA"
...
/> -
Pour chaque enfant
<shape>
élément dont vous avez besoin pour votre environnement :-
Pour le
id
Attribut, remplacer la valeur actuelle par une valeur unique (qui n'est pas déjà utilisée par MicroStrategy pour une forme). Cette valeur identifie de façon unique cette définition de forme personnalisée. -
Pour le
custom
, conservez la valeur actuelle de « true ». -
Pour le
plugin
Attribut , si vous utilisez le plug-in par défaut qui vous est fourni, conservez la valeur actuelle deConnectorForMap
, ou affectez-lui un autre nom si vous avez créé un plug-in sous un autre nom. -
Pour le
desc
Attribut, modifiez la valeur actuelle pour une description significative. C'est la valeur qui est affichée dans la liste déroulante des frontières sur le panneau des propriétés pour la visualisation de la carte ESRI lorsque vous choisissez d'afficher une carte avec des zones. Par exemple, s'il s'agit de régions identifiées par SMSA, la valeur peut êtredesc="Regions by SMSA"
. Ou, s'il s'agit d'États identifiés par des abréviations d'État, la valeur peut êtredesc="Custom States by Abbr"
. Si vous souhaitez localiser la description, vous devez ajouter des valeurs pour les attributs supplémentaires suivants :-
descWeb
-
descFlash
-
descDesktop
-
-
Pour le
roleId
Attribut, modifiez la valeur actuelle vers le rôle géographique de vos formes personnalisées en utilisant l'une des valeurs ci-dessous :ID du rôle description 1
Ville 2
État 3
Pays 4
Emplacement 5
Latitude 6
Longitude 7
Autre 8
Code postal 9
Pays -
Pour le
type
, conservez la valeur actuelle de « Polygon ».Seul le polygone est pris en charge pour le type de forme pour le fichier de forme ESRI et le fichier de forme KML.
-
Pour le
default
Attribut , si vous ne souhaitez pas que ce soit le fichier de forme par défaut, conservez la valeur actuelle de « false » ; sinon, définissez-le sur « true ». -
Utiliser
shapeCat
Attribut si vous avez besoin d'avoir une identification plus granulaire pour une forme. La catégorie de forme est un nombre entier, par exemple 1002 pour les pays, 1003 pour les États américains et 1004 pour les comtés américains. Par exemple, supposons que vous choisissez « 7 » (Autre) comme valeur de l'attribut d'ID de rôle et que vous souhaitez utiliser les SMSA pour définir vos formes. Vous pouvez définir l'attribut shapeCat sur une valeur qui n'est pas utilisée par MicroStrategy. De plus, une valeur shapeCat unique est requise pour que la forme personnalisée soit affichée sur mobile. -
Pour le
shapeKey
, définissez ceci sur la valeur qui sera utilisée pour faire correspondre les formes avec les données. Par exemple, dans le code ci-dessus, les valeurs étaient nom, id et desc. Il s'agit de la valeur dekey
attribut dans le correspondant<shapeKey>
élément dans<layers>
hiérarchie. -
Pour le
layerid
Attribut, définissez-le sur la valeur de l'attributid
attribut que vous avez utilisé pour<layer>
élément dans<layers>
Hiérarchie qui fait référence au fichier KML associé à cette couche de carte. Par exemple,layerid="900"
. -
Utiliser
sf
etsfr
attributs si vous avez besoin d'informations géographiques supplémentaires pour rendre un emplacement unique. Différents emplacements peuvent avoir le même nom d'emplacement principal et nécessiter un nom d'emplacement secondaire pour les rendre uniques. Par exemple, de nombreux comtés des États-Unis portent le nom de « Washington ». Ce nom de comté est unique au sein d'un État, mais pas en dehors de celui-ci, car le nom de l'emplacement principal existe dans plusieurs États. Pour identifier de manière unique un tel comté, vous devez le qualifier avec le nom de l'État. Lorsque vous faites cela, Washington, AL devient unique et différent de Washington, GA ou de Washington, PA.-
Définir la
sf
Attribut au champ d'emplacement secondaire qui sera utilisé pour faire correspondre les formes avec les données. Ceci est analogue àshapeKey
Attribut pour le champ principal. -
Définir la
sfr
Attribut au rôle de l'emplacement secondaire qui sera utilisé pour faire correspondre les formes avec les données. Ceci est analogue àroleId
Attribut pour le champ principal. Par exemple, si votre rôle de champ principal est comté, vous pouvez définir cette valeur sur state.
-
-
-
-
Enregistrez vos modifications.
-
-
Confirmez que vous pouvez utiliser les formes personnalisées.
-
Redémarrez MicroStrategy Web.
-
Utilisez la visualisation Carte ESRI dans un dossier VI et sélectionnez Carte de la zone comme
Map Type
sur le panneau Propriétés. -
Développez la liste déroulante des frontières dans le panneau Propriétés ESRI. Assurez-vous qu'elle inclut la description de vos formes personnalisées en option.
-
Choisissez l'option pour vos formes personnalisées. La visualisation de la carte lit le fichier KML spécifié dans l'attribut ml de
<layer>
nœud dansmstrGeoShapesConfig.xml
et rend les formes personnalisées appropriées. -
Si vous rencontrez des problèmes, consultez les conseils de résolution ci-dessous :
-
Assurez-vous que la grille de rapport à laquelle vous appliquez la visualisation contient des éléments d'attribut qui correspondent à la valeur de
<name>
élément pour<Placemark>
éléments dans le fichier KML. -
Assurez-vous que les valeurs utilisées dans KML et
mstrGeoShapesConfig.xml
Les fichiers de votre plug-in sont la bonne casse. Toutes ces valeurs sont sensibles à la casse. -
Assurez-vous que chaque élément a une balise de fin.
-
Par défaut, les clients MicroStrategy Cloud ne peuvent pas utiliser de cartes ESRI personnalisées basées sur un cloud ; ils utilisent les serveurs publics ESRI. S'ils souhaitent utiliser les serveurs publics ESRI, ils doivent activer l'authentification client.
-
-