Strategy ONE

Rendern von benutzerdefinierten Formen

Sie können benutzerdefinierte Formen in MicroStrategy-Daten integrieren und auf cloud-basierten ESRI-Karten rendern. Um benutzerdefinierte Formen in die von MicroStrategy bereitgestellten sofort einsatzbereiten Formen zu integrieren, ändern Sie die Konfigurationsdatei für die Geo-Form in Ihrem Plug-in und fügen Sie eine Datei für benutzerdefinierte Formen im KML-Format hinzu, wie unten beschrieben:

  1. Erstellen oder beziehen Sie eine KML-Datei, die die benutzerdefinierten Formen für Ihre Karte definiert

  2. Ändern Sie die Konfigurationsdatei für die Geo-Form, damit die ESRI-Karten-Visualisierung Ihre benutzerdefinierten Formen verwenden kann

  3. Bestätigen Sie, dass Sie die benutzerdefinierten Formen verwenden können

Laden Sie das für Sie bereitgestellte ESRI-Karten-Visualisierungs-Plug-in herunter und führen Sie die nachstehenden Schritte aus.

  1. Erstellen oder beziehen Sie eine KML-Datei, die die benutzerdefinierten Formen für Ihre Karte definiert

    Sie können eine bereits vorhandene KML-Datei verwenden oder eine neue erstellen. KML ist ein Dateiformat zur Anzeige von geografischen Daten in zweidimensionalen Karten und dreidimensionalen Earth-Browsern. Unten sehen Sie einen Codeausschnitt aus einer KML-Beispieldatei:

    Kopieren
    <?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>

    Jedes <Placemark> -Element enthält die Formdefinitionsdaten für eine der benutzerdefinierten Formen. Sie enthält auch die Informationen, die zum Zuordnen der einzelnen Formen zu den entsprechenden Daten erforderlich sind.

    • Standardmäßig ist <name> -Element wird zum Abgleichen der Daten mit den Formen verwendet. Sein Wert muss den von der Karte verwendeten MicroStrategy-Attributelementdaten entsprechen. Wenn es sich bei Ihren benutzerdefinierten Formen beispielsweise um Bundesstaaten handelt, beträgt der Wert von <name> -Element kann &quot;Maryland&quot; oder &quot;California&quot; sein.

    • Sie können das standardmäßige Abgleichsverhalten durch Hinzufügen von überschreiben<ExtendedData> Element als untergeordnetes Element von <Placemark>. Dies bietet Flexibilität, da Sie Ihre benutzerdefinierten Formen mit Daten abgleichen können, die auf mehrere Arten identifiziert wurden. Sie können dies beispielsweise tun, wenn Sie die Formen in Ihrer KML-Datei zusätzlich zu den Statusnamen auch mit Statusdaten vergleichen möchten, die durch die Abkürzungen des Statusnamens oder durch Objekt-IDs identifiziert werden.

    • Die <coordinates> Element (ein untergeordnetes Element von <Polygon><outerBoundaryIs><LinearRing>)enthält die Definition jeder benutzerdefinierten Form. Die Definition besteht aus einer Gruppe von Punkten, beschrieben nach Längengrad, Breitengrad und optional nach Höhe, die den Umriss der Form bestimmen.

    Als Formtyp wird nur ein Polygon für die ESRI-Formdatei und die KML-Formdatei unterstützt.

    Das Koordinatensystem muss sein WGS 84.

    Gehen Sie folgendermaßen vor:

    • Geben Sie der KML-Datei, die Ihre benutzerdefinierten Formen definiert, einen aussagekräftigen Namen, z CustomCountyShapesFile.kml, und speichern Sie sie im Ordner des ESRI Map-Visualisierungs-Plug-ins.
    • Speichern Sie die KML-Datei direkt in Ihrem Plug-in oder erstellen Sie einen kml-Ordner im Plug-in und speichern Sie Ihre benutzerdefinierten Formendatei im kml-Ordner.
  2. Ändern Sie die Konfigurationsdatei für die Geo-Form, damit die ESRI-Karten-Visualisierung Ihre benutzerdefinierten Formen verwenden kann

    Navigieren zu mstrGeoShapesConfig.xml, befindet sich unter xml/config in Ihrem Plug-in-Ordner und öffnen Sie sie in einem Text-Editor. Die Datei sollte Code wie im unten gezeigten Beispiel enthalten.

    Kopieren
    <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>

    Nehmen Sie die folgenden Änderungen vor, um die Konfigurationsdatei für die Geo-Form an Ihre Umgebung anzupassen. Werte, die Sie ändern müssen, sind im obigen Codebeispiel in Fettschrift dargestellt.

    • Für das untergeordnete Element <layer> Element unter dem übergeordneten Element <layers> -Element zu erstellen, gehen Sie wie folgt vor:

      • Für die id -Attribut verwenden, ersetzen Sie &quot;900&quot; durch einen eindeutigen Wert (nicht durch einen Wert, der bereits von MicroStrategy für eine Kartenebene verwendet wird). Dieser Wert identifiziert eindeutig diese Kartenebene, die Ihre benutzerdefinierten Formen verwendet. Sie wird von referenziert layerID Attribut im <shape> Element.

        Mehrere< Form> Elemente können dieselbe Kartenebene (d. h. dieselbe KML-Datei) verwenden, aber unterschiedliche Schlüssel verwenden, um die Formen und Daten, wie Name, Abkürzung oder ID, abzugleichen. Die für den Abgleich verwendeten Schlüssel werden von bereitgestellt shapeKey Attribut des anderen <shape> Elemente. Die Übereinstimmung erfolgt für jede benutzerdefinierte Form wie folgt:

        • Der Wert von jedem shapeKey -Attribut wird verwendet, um eine Übereinstimmung mit dem Schlüsselattribut in a zu finden <shapeKey> Element.

          Beim ShapeKey-Wert wird zwischen Groß- und Kleinschreibung unterschieden.

        • Die Übereinstimmung <shapeKey> Element enthält a path -Attribut, das auf ein bestimmtes verweist <Data> Element in der KML-Datei (identifiziert durch den Wert von name Attribut im <Data> Element).

        • Die Übereinstimmung <Data> -Element hat ein untergeordnetes Element <Value> -Element und sein Wert wird zum Abrufen der mit dieser benutzerdefinierten Form verknüpften MicroStrategy-Daten verwendet.

      • Für die title -Attribut ersetzen Sie &quot;Benutzerdefinierte Landkreis-Kartenebene&quot; durch einen Wert, der diese Kartenebene beschreibt, die Ihre benutzerdefinierten Formen verwendet.

      • Für die ml Attribut, ersetzen &quot;CustomCountyShapesFile.kml &quot; durch den Namen Ihrer KML-Datei, einschließlich des relativen Pfads, im Plug-in-Ordner. Verwenden Sie beispielsweise ml="CustomCountyShapesFile.kml" für eine Datei, die direkt im Plug-in-Ordner gespeichert ist, oder verwenden ml="kml/CustomCountyShapesFile.kml" für eine Datei, die in einem Ordner namens kml im Plug-in-Ordner gespeichert ist.

    • Für das untergeordnete Element <shapeKey> Elemente unter dem übergeordneten Element <shapeKeys> -Element zu erstellen, gehen Sie wie folgt vor:

      • Entfernen Sie jedes untergeordnete Element <shapeKey> Elemente, die Sie für Ihre Umgebung nicht benötigen. Das für Sie bereitgestellte Plug-in enthält drei dieser Elemente. Eine identifiziert die Formen anhand des Namens, eine andere anhand der Abkürzung und die dritte anhand der ID.

        • Wenn Sie eines oder mehrere dieser Elemente nicht verwenden möchten, löschen Sie die entsprechenden Elemente.

        • Wenn Sie eines oder mehrere dieser Elemente verwenden möchten, behalten Sie die entsprechenden Elemente.

        • Wenn Sie Ihre Formen anhand eines anderen Werts identifizieren möchten, ändern Sie den Wert von key -Attribut in einem der <shapeKey> Elemente. Wenn Sie beispielsweise einen Wert namens SMSA zum Identifizieren Ihrer Formen verwenden möchten, könnte Ihr Code wie folgt aussehen:
          <shapeKey key="SMSA" path="/ExtendedData/Data[@name='SMSA']/value"/>

          Beim ShapeKey-Wert wird zwischen Groß- und Kleinschreibung unterschieden.

      • Für jedes untergeordnete Element <shapeKey> Element, das Sie für Ihre Umgebung benötigen:

        • Legen Sie fest key -Attribut auf den Wert festlegen, der zur Identifizierung von verwendet wird <shape> -Element, das mit der benutzerdefinierten Formdatei verknüpft ist. Dies ist derselbe Wert wie der Wert für shapeKey Attribut in der entsprechenden <shape> Element.

        • Wenn Sie möchten, dass das Datenfeld, das zum Abgleichen der Daten mit den Formen verwendet wird, sich vom Wert von unterscheidet< Namen> Element für jedes <Placemark> Legen Sie in der KML-Datei die fest path -Attribut für die Position des Datenfelds, das Sie verwenden möchten, unter Verwendung des Formats /ExtendedData/Data[@name='>MyCustomShapes']/value.

          Angenommen, Sie möchten Bundesstaatsabkürzungen verwenden, um Ihre benutzerdefinierten Formen mit Ihren Daten abzugleichen, und der Code in Ihrer KML-Datei sieht wie der folgende Code aus:

          Kopieren
          <?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>

          Der Code in Ihrer mstrGeoShapesConfig.xml -Datei würde wie folgt aussehen:

          Kopieren
          <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>
    • Für das untergeordnete Element< Form> Elemente unter dem übergeordneten Element <shapes> -Element zu erstellen, gehen Sie wie folgt vor:

      • Entfernen Sie jedes untergeordnete Element <shape> Elemente, die Sie für Ihre Umgebung nicht benötigen. Das für Sie bereitgestellte Plug-in enthält drei dieser Elemente. Eine identifiziert die Formen anhand des Namens, eine andere anhand der Abkürzung und die dritte anhand der ID. Diese Werte sind durch gekennzeichnet shapeKey -Attribut.

        • Wenn Sie eines oder mehrere dieser Elemente nicht verwenden möchten, löschen Sie die entsprechenden Elemente.

        • Wenn Sie eines oder mehrere dieser Elemente verwenden möchten, behalten Sie die entsprechenden Elemente.

        • Wenn Sie Ihre Formen anhand eines anderen Werts identifizieren möchten, ändern Sie den Wert von shapeKey -Attribut in einem der <shape> Elemente. Wenn Sie beispielsweise einen Wert namens SMSA zum Identifizieren Ihrer Formen verwenden möchten, könnte Ihr Code wie folgt aussehen:

          Beim ShapeKey-Wert wird zwischen Groß- und Kleinschreibung unterschieden.

          Kopieren
          <shape
          ...
              shapeKey="SMSA"
          ...
          />
      • Für jedes untergeordnete Element <shape> Element, das Sie für Ihre Umgebung benötigen:

        • Für die id -Attribut ersetzen Sie den aktuellen Wert durch einen eindeutigen Wert (nicht einen, der bereits von MicroStrategy für eine Form verwendet wird). Dieser Wert identifiziert diese benutzerdefinierte Formdefinition eindeutig.

        • Für die custom -Attribut verwenden, den aktuellen Wert von &quot;true&quot; beibehalten.

        • Für die plugin -Attribut. Wenn Sie das für Sie bereitgestellte Standard-Plug-in verwenden, behalten Sie den aktuellen Wert von bei ConnectorForMap, oder legen Sie einen anderen Namen fest, wenn Sie ein Plug-in mit einem anderen Namen erstellt haben.

        • Für die desc Attribut hinzufügen, ändern Sie den aktuellen Wert in eine aussagekräftige Beschreibung. Dies ist der Wert, der im Dropdown-Menü „Grenzen“ im Abschnitt „Eigenschaften“ für die ESRI-Kartenvisualisierung angezeigt wird, wenn Sie sich für die Anzeige einer Karte mit Bereichen entscheiden. Wenn es sich dabei beispielsweise um durch SMSA identifizierte Regionen handelt, könnte der Wert wie folgt lauten: desc="Regions by SMSA". Oder, wenn es sich um Bundesstaaten handelt, die durch Bundesstaatsabkürzungen identifiziert werden, könnte der Wert auch sein desc="Custom States by Abbr". Wenn Sie die Beschreibung lokalisieren möchten, müssen Sie Werte für die folgenden zusätzlichen Attribute hinzufügen:

          • descWeb

          • descFlash

          • descDesktop

        • Für die roleId -Attribut ändern Sie den aktuellen Wert in die Geo-Rolle für Ihre benutzerdefinierten Formen unter Verwendung eines der folgenden Werte:

          Rollen-ID Beschreibung

          1

          Stadt

          2

          Bundesland

          3

          Land

          4

          Speicherort

          5

          Breitengrad

          6

          Längengrad

          7

          Andere

          8

          Postleitzahl

          9

          Landkreis
          • Für die type -Attribut verwenden, den aktuellen Wert von &quot;Polygon&quot; beibehalten.

            Als Formtyp wird nur ein Polygon für die ESRI-Formdatei und die KML-Formdatei unterstützt.

          • Für die default -Attribut. Wenn dies nicht die Standardformdatei sein soll, behalten Sie den aktuellen Wert von &quot;false&quot; bei; andernfalls auf &quot;true&quot; setzen.

          • Verwenden Sie die shapeCat -Attribut, wenn Sie eine differenziertere Identifizierung für eine Form benötigen. Die Formkategorie ist eine Ganzzahl, z. B. 1002 für Länder, 1003 für US-Bundesstaaten und 1004 für US-Counties. Angenommen, Sie wählen &quot;7&quot; (Sonstige) als Wert des Attributs &quot;roleId&quot; und möchten SMSAs zum Definieren Ihrer Formen verwenden. Sie können das Attribut &quot;formKatze&quot; auf einen Wert festlegen, der von MicroStrategy nicht verwendet wird. Darüber hinaus ist ein eindeutiger ShapeCat-Wert erforderlich, damit die benutzerdefinierte Form auf Mobile angezeigt wird.

          • Für die shapeKey Attribut zu erstellen, legen Sie dies auf den Wert, der zum Abgleichen der Formen mit den Daten verwendet wird. Im obigen Code waren die Werte beispielsweise name, id und desc. Dies ist der Wert von key Attribut in der entsprechenden <shapeKey> Element in <layers> Hierarchie.

          • Für die layerid Attribut, setzen Sie es auf den Wert von id Attribut, das Sie für verwendet haben <layer> Element in <layers> -Hierarchie, die auf die KML-Datei verweist, die mit dieser Kartenebene verknüpft ist. Beispiel: layerid="900".

          • Verwenden Sie die sf und sfr -Attribute, wenn Sie zusätzliche Geoinformationen benötigen, um einen Standort eindeutig zu machen. Verschiedene Standorte können den gleichen primären Standortnamen haben und benötigen einen sekundären Standortnamen, um sie eindeutig zu machen. Beispielsweise tragen viele Countys in den USA den Namen „Washington“. Dieser County-Name ist innerhalb eines Bundesstaates eindeutig, jedoch nicht außerhalb des Bundesstaates, da der primäre Ortsname in mehreren Bundesstaaten existiert. Um ein solches County eindeutig zu identifizieren, müssen Sie es mit dem Namen des Staates qualifizieren. Wenn Sie dies tun, unterscheidet sich Washington, AL eindeutig von Washington, GA oder Washington, PA.

            • Legen Sie fest sf -Attribut für das sekundäre Positionsfeld, das zum Abgleichen der Formen mit den Daten verwendet wird. Dies ist analog zu shapeKey Attribut für das primäre Feld.

            • Legen Sie fest sfr Legen Sie das Attribut „“ für die Rolle des sekundären Standorts fest, der für den Abgleich der Formen mit den Daten verwendet wird. Dies ist analog zu roleId Attribut für das primäre Feld. Wenn Ihre primäre Feldrolle beispielsweise „County“ lautet, können Sie diesen Wert auf „Bundesstaat“ festlegen.

    Speichern Sie Ihre Änderungen.

  3. Bestätigen Sie, dass Sie die benutzerdefinierten Formen verwenden können.

    1. Starten Sie MicroStrategy Web neu.

    2. Verwenden Sie die ESRI-Karten-Visualisierung in einem VI-Dossier und wählen Sie Bereichskarte als aus Map Type im Abschnitt „Eigenschaften“.

    3. Erweitern Sie das Dropdown-Menü „Grenzen“ im Abschnitt „ESRI-Eigenschaften“. Vergewissern Sie sich, dass diese als Option die Beschreibung für Ihre benutzerdefinierten Formen enthält.

    4. Wählen Sie die Option für Ihre benutzerdefinierten Formen. Die Karten-Visualisierung liest die KML-Datei, die im ml-Attribut von angegeben ist <layer> Knoten in mstrGeoShapesConfig.xml und rendert die entsprechenden benutzerdefinierten Formen.

    5. Wenn Probleme auftreten, lesen Sie die Tipps zur Fehlerbehebung unten:

      • Vergewissern Sie sich, dass die Berichtstabelle, auf die Sie die Visualisierung anwenden, Attributelemente aufweist, die dem Wert von entsprechen <name> Element für <Placemark> Elemente in der KML-Datei.

      • Stellen Sie sicher, dass die in der KML verwendeten Werte und mstrGeoShapesConfig.xml -Dateien in Ihrem Plug-in sind die richtige Groß-/Kleinschreibung. Bei allen diesen Werten muss zwischen Groß- und Kleinschreibung unterschieden werden.

      • Stellen Sie sicher, dass jedes Element über ein End-Tag verfügt.

      • Standardmäßig können MicroStrategy-Cloud-Kunden keine benutzerdefinierten cloud-basierten ESRI-Karten verwenden. Sie verwenden öffentliche ESRI-Server. Wenn sie öffentliche ESRI-Server verwenden möchten, müssen sie Client-Authentifizierung aktivieren.