MicroStrategy ONE

KML 形式でのカスタム シェイプの使用

提供されている ESRI マップ視覚化プラグインをダウンロードし、以下の手順に従います。

  1. マップのカスタムシェイプを定義する KML ファイルを作成または取得します

    既存の KML ファイルを使用することも、新しいファイルを作成することもできます。KML は、2 次元マップと 3 次元 Earth ブラウザーで地理データを表示するために使用されるファイル形式です。サンプル KML ファイルのコード スニペットを以下に示します。

    コピー
    <?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>

    それぞれ<Placemark>要素には、カスタム シェイプの 1 つに対するシェイプ定義データが含まれます。また、各図形を対応するデータと一致させるために必要な情報も含まれています。

    • デフォルトでは、<name>要素は、データを図形と一致させるために使用されます。その値は、マップで使用される MicroStrategy 属性要素データに対応している必要があります。たとえば、カスタムシェイプが州の場合、<name>要素は「メリーランド」または「カリフォルニア」である可能性があります。

    • デフォルトのマッチング動作を上書きするには、< ExtendedData>要素の子として<Placemark>。これにより、カスタム シェイプを複数の方法で識別されたデータと一致させることができるため、柔軟性が向上します。たとえば、KML ファイル内のシェイプを、州名に加えて、州名の略語またはオブジェクト ID で識別される州データと一致させる場合に、これを実行できます。

    • <coordinates>要素(<Polygon><outerBoundaryIs><LinearRing> )には、各カスタム シェイプの定義が含まれています。定義は、経度、緯度、およびオプションの高度によって記述され、図形の輪郭を決定する一連のポイントです。

     

    次の手順を実行します。

    • カスタムシェイプを定義するKMLファイルに、次のような意味のある名前を付けます。CustomCountyShapesFile.kml、ESRI マップ視覚化プラグイン フォルダーに保存します。
    • KML ファイルをプラグインに直接保存するか、プラグインに kml フォルダーを作成し、カスタム シェイプ ファイルを kml フォルダーの下に保存します。
  2. ESRIマップの視覚化でカスタムシェイプを使用できるように、ジオシェイプ構成ファイルを変更します。

    移動mstrGeoShapesConfig.xml、下にありますxml/configプラグイン フォルダーに保存し、テキスト エディターで開きます。ファイルには、以下に示すサンプルのようなコードが含まれている必要があります。

    コピー
    <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>

    以下の変更を行って、環境に合わせてジオシェイプ構成ファイルをカスタマイズします。

    • 子供のために <layer>親要素の下の要素<layers>要素の場合は、次の操作を行います。
    • についてはid属性の場合は、「900」を一意の値(MicroStrategy がマップ レイヤーにすでに使用している値ではない値)に置き換えます。この値は、カスタム シェイプを使用するこのマップ レイヤーを一意に識別します。これは、layerID属性の<shape>要素。

      複数<shape>要素は同じマップ レイヤー (つまり、同じ KML ファイル) を使用できますが、名前、略語、ID など、形状とデータを一致させるために異なるキーを使用します。マッチングに使用するキーは、shapeKey異なる属性<shape>要素。各カスタム シェイプの一致は次のように行われます。

      • それぞれの価値shapeKey属性は、キー属性と一致するものを見つけるために使用されます。<shapeKey>要素。

      • マッチング<shapeKey>要素にはpath特定の<Data> KMLファイル内の要素(name属性の<Data>要素)。

      • マッチング<Data>要素には子要素があります<Value>要素であり、その値は、このカスタム シェイプに関連付けられた MicroStrategy データを取得するために使用されます。

    • についてはtitle属性で、「Custom County Map Layer」を、カスタム シェイプを使用するこのマップ レイヤーを説明する値に置き換えます。

    • についてはml属性、置換 &quot; CustomCountyShapesFile.kmlプラグイン フォルダー内の相対パスを含む KML ファイルの名前に &quot; を置き換えます。例えば、ml="CustomCountyShapesFile.kml"プラグインフォルダの直下に保存されたファイルの場合は、 ml="kml/CustomCountyShapesFile.kml"プラグイン フォルダーの下の kml というフォルダーに保存されたファイルの場合。

    • 子供のために<shapeKey>親の下にある要素<shapeKeys>要素の場合は、次の操作を行います。
    • 子を削除する<shapeKey>環境に必要のない要素。提供されているプラグインには、これらの要素が 3 つあります。1 つは名前で、もう 1 つは略語で、3 つ目は ID で図形を識別します。

      • これらの要素の 1 つ以上を使用しない場合は、該当する要素を削除します。

      • これらの要素の 1 つ以上を使用する場合は、適切な要素を保持してください。

      • 異なる値で図形を識別したい場合は、key属性の1つ<shapeKey>要素。たとえば、SMSA という値を使用して図形を識別する場合、コードは次のようになります。
        <shapeKey key="SMSA" path="/ExtendedData/Data[@name='SMSA']/value"/>

    • 子ども一人一人に<shapeKey>環境に必要な要素:

      • 設定するkey属性を識別するために使用される値<shape> カスタム シェイプ ファイルに関連付けられた要素。これは、shapeKey対応する属性<shape>要素。

      • 図形とデータを一致させるために使用するデータフィールドを、<名前>それぞれの要素 <Placemark> KMLファイルで、path属性を、使用するデータフィールドの場所に、次の形式で指定します。/ExtendedData/Data[@name='>MyCustomShapes']/value

        たとえば、州の略語を使用してカスタム シェイプをデータと一致させるとします。KML ファイル内のコードは次のようになります。

        コピー
        <?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>

        あなたのmstrGeoShapesConfig.xmlファイルは次のようになります:

        コピー
        <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>
    • 子供のために<形>親の下にある要素<shapes>要素の場合は、次の操作を行います。

      • 子を削除する<shape>環境に必要のない要素。提供されているプラグインには、これらの要素が 3 つあります。1 つは名前で、もう 1 つは略語で、3 つ目は ID で図形を識別します。これらの値は、shapeKey属性。

        • これらのうち 1 つ以上を使用しない場合は、該当する要素を削除します。

        • これらを 1 つ以上使用したい場合は、適切な要素を保持してください。

        • 異なる値で図形を識別したい場合は、shapeKey属性の1つ<shape>要素。たとえば、SMSA という値を使用して図形を識別する場合、コードは次のようになります。

          コピー
          <shape
          ...
              shapeKey="SMSA"
          ...
          />
      • 子ども一人一人に<shape>環境に必要な要素:

        • についてはid属性の場合、現在の値を一意の値(MicroStrategy がシェイプに対して既に使用している値ではない値)に置き換えます。この値は、このカスタム シェイプ定義を一意に識別します。

        • についてはcustom属性の場合、現在の値「true」を維持します。

        • についてはplugin属性、提供されているデフォルトのプラグインを使用している場合は、現在の値をそのままにしておいてください。ConnectorForMap、または別の名前でプラグインを作成した場合は、別の名前に設定します。

        • についてはdesc属性の場合は、現在の値を意味のある説明に変更します。これは、エリア付きのマップを表示することを選択した場合に、ESRI マップ視覚化のプロパティ パネルの境界ドロップダウンに表示される値です。たとえば、これらがSMSAによって識別される地域である場合、値は次のようになります。desc="Regions by SMSA"。あるいは、これらが州の略称で識別される州である場合、値は次のようになる。desc="Custom States by Abbr"。説明をローカライズする場合は、次の追加属性の値を追加する必要があります。

          • descWeb

          • descFlash

          • descDesktop

        • についてはroleId属性で、以下のいずれかの値を使用して、現在の値をカスタム シェイプの geo ロールに変更します。

          ロールID 説明

          1

          2

          状態

          3

          4

          位置

          5

          緯度

          6

          経度

          7

          その他

          8

          郵便番号

          9

          • についてはtype属性の場合、「Polygon」の現在の値を保持します。

          • についてはdefault属性。これをデフォルトのシェイプ ファイルにしたくない場合は、現在の値「false」のままにします。それ以外の場合は、「true」に設定します。

          • 使用shapeCat図形をより細かく識別する必要がある場合は、属性を使用します。形状カテゴリは整数です。たとえば、国の場合は 1002、米国の州の場合は 1003、米国の郡の場合は 1004 などです。たとえば、roleId 属性の値として「7」(その他) を選択し、SMSA を使用してシェイプを定義するとします。shapeCat 属性を MicroStrategy で使用されていない値に設定できます。

          • についてはshapeKey属性の場合、これを、図形とデータを一致させるために使用される値に設定します。たとえば、上記のコードでは、値は name、id、desc でした。これは、key対応する属性<shapeKey>要素の<layers> 階層。

          • についてはlayerid属性をid使用した属性<layer>要素の<layers>このマップ レイヤーに関連付けられた KML ファイルを参照する階層。例えば、layerid="900"

    • 変更を保存します。
  3. カスタムシェイプを使用できることを確認します。

    1. MicroStrategy Web を再起動します。

    2. VIダッシュボードでESRIマップの視覚化を使用し、エリアマップをMap Typeプロパティ パネルで。

    3. ESRI プロパティ パネルの境界ドロップダウンを展開します。オプションとしてカスタム図形の説明が含まれていることを確認します。

    4. カスタムシェイプのオプションを選択します。マップの視覚化は、ml属性で指定されたKMLファイルを読み取ります。<layer>ノードインmstrGeoShapesConfig.xml適切なカスタム シェイプをレンダリングします。

    5. 問題が発生した場合は、以下のトラブルシューティングのヒントを確認してください。

      • 視覚化を適用するレポートグリッドに、<name>要素の<Placemark> KML ファイル内の要素。

      • KMLで使用される値とmstrGeoShapesConfig.xml プラグイン内のファイルは正しいケースです。これらの値はすべて大文字と小文字が区別されます。

      • すべての要素に終了タグがあることを確認してください。

      • デフォルトでは、MicroStrategy Cloud のお客様はカスタムのクラウドベースの ESRI マップを使用できず、ESRI パブリック サーバーを使用します。ESRIパブリックサーバーを使用する場合は、クライアント認証を有効にする