MicroStrategy ONE

場所の名前の相違の解決

地図ビジュアリゼーションを使用して MicroStrategy データを表示するには、ESRI で使用される場所の名前が、MicroStrategy で使用される場所の名前 (地理アトリビュート) と一意に一致する必要があります。ただし、地理的場所に使用される名前は、常に一意であるとも、ESRI が使用する名前と同じであるとも限りません。

  • 複数の異なる場所の第一の場所名が同じで、それらを一意にするために第二の場所の名前が必要な場合があります。たとえば、米国では多くの郡が「Washington」 (ワシントン郡) という名前です。同じ第一の場所名が複数の州に存在するので、この郡の名前は 1 つの州内では一意ですが、国内では一意ではありません。このような郡を一意に識別するには、郡を州の名前で修飾する必要があります。こうすると、Washington AL (アラバマ州ワシントン郡) は Washington GA (ジョージア州ワシントン郡) や Washington PA (ペンシルベニア州ワシントン郡) とは特異的に異なるようになります。

  • ESRI は、MicroStrategy で使用される名前とは異なる場所の名前を使用する場合があります。たとえば、ESRI ではロシア国は "Russian Federation" (ロシア連邦) と呼ばれますが、MicroStrategy では "Russia" (ロシア) と呼ばれます。

場所名の違いを解決するため、 MicroStrategy は構成ファイルを使用します mapNameConversions.xml。この構成ファイルに、不一致が生じた場合に、MicroStrategy の場所の名前を地図ベンダーによって使用される場所の名前にマップして、一致したものに対して必要に応じて第二の場所の名前を追加できるようなルールを定義することができます。特定の地図ベンダー (地図シェイプ サーバー)、特定の種類の境界を含む地図、およびマッピングに特殊な地理アトリビュートを使用する地図に対して、このルールの適用を制限することができます。

すぐに使える状態 mapNameConversions.xml ファイルを以下に表示します。ルールは 1 つあり、 <elem> ノードです。

コピー
<?xml version="1.0" encoding="UTF-8"?>       
<nameConversions>     
<!-- 
  Scope for ESRI - 1 
  Scope for MSTR - 2 
  Scope for Mapbox - 4
-->     
<elem id="1" n="Russia" scope="1">Russian Federation</elem>      
</nameConversions> 

すぐに使える名前変換構成ファイルで設定されたルールを上書きして新しいルールを追加するには、カスタム ルールを作成します mapNameConversions.xml 下記で説明するように、ファイルをプラグインに追加できます

  1. 作成 mapNameConversions.xml 下記に示すコンテンツを含むファイルを以下に貼り付けます WEB-INF/xml/config プラグイン フォルダー内です

    コピー
    <?xml version="1.0" encoding="UTF-8"?>   
    <nameConversions>   
    <!--     
      Scope for ESRI - 1       
      Scope for MSTR - 2  
      Scope for Mapbox - 4     
    -->       
    <!--     
    ... add <elem> nodes to define new rules or override existing rules ...       
    -->         
    </nameConversions> 
  1. このファイルに独自のルールを追加します。ルールはそれぞれ独立した <elem> エレメントで、ルールを定義するアトリビュートを含みます。の作成にヘルプを使用してください。 <elem> エレメント、参照ルール定義ルールの解決策。「ルールの定義」では、ルールを定義するために使用できるアトリビュートについて説明し、「ルールの解決」では、ルールがどのように適用されるかを説明します。

  2. 変更を保存します。

ルール定義

各ルールは <elem> エレメントには、以下の表に記載されているルールを定義するアトリビュートが含まれます。

 

親エレメント

  • 子エレメント
ノード数 説明

<名前変換>

  • <elem>

1

<nameConverts> エレメントは、マップ名変換構成ファイルのルート ノードです。名前変換ルールを定義する <elem> ノードの親ノードです。

<elem>

1 以上

<elem> エレメントは、単一の名前変換ルールを定義します。このエレメントの値は、地図シェイプ サーバーが使用する場所の名前です。この値が、MicroStrategy の場所の名前 (このエレメントの n アトリビュートによって指定される) にマップされます。以下のアトリビュートを使用して、名前変換規則を定義することができます。

  • ID アトリビュートは、このルールを一意に識別します (この <elem> エレメント)。

  • N アトリビュートは、第一の場所名 (MicroStrategy データ内の第一地理アトリビュートの名前) を指定します。この名前は、地図シェイプ サーバーが使用する場所の名前にマップされます。

  • Scope アトリビュートは、シェイプ データがどこからビジュアリゼーションに提供されるかを指定します (シェイプ サーバーと呼ばれる)。

1 = ESRI がシェイプを提供します (シェイプは ESRI サーバーに保存されています)
ESRI は、MicroStrategy Webで表示されるビジュアリゼーション用のシェイプ サーバーです。

2 = MicroStrategy がシェイプを提供します (シェイプはMicroStrategy Webサーバーに保存されます)
MicroStrategy は、モバイル デバイスで表示するビジュアリゼーション用のシェイプ サーバーです。

スコープのアトリビュートが存在しない場合、ルールはビジュアリゼーションに適用されるユニバーサル ルールです。

  • Sfv アトリビュートは、第二の場所名 (MicroStrategy データ内の第二地理アトリビュートの名前) を指定します。このアトリビュートは、DHTML ではなく Flash 地図でサポートされます。これは、第一の場所名を一意にするために位置情報を追加する必要がある場合に使用されます。この値は、esriConfiguration.xml ファイル内の <shape> エレメントの sf アトリビュートの値に対応しています。

  • Role アトリビュートは、このルールを適用すべき地理ロール アトリビュートを指定します。この値は、esriConfiguration.xml ファイル内の <shape> エレメントの roleId アトリビュートの値に対応しています。これは、ESRI マップ ビジュアリゼーションを構成するときに、[領域を表示] でアトリビュートとして選択する値でもあります。

    1 = "市区郡町村"

    2 = "都道府県"

    3 = "国"

    4 = "位置"

    5 = 「緯度」

    6 = "経度"

    7 = "その他"

    8 = "郵便番号"

    9 = "County"

    国によって、これらの定義は多少異なる可能性があります。たとえば、カナダの場合、2 は 'State' (州) の代わりに 'Province' (州) になり、9 は 'County' (郡) の代わりに 'District' (地区) になります。

  • shapeId アトリビュートは、このルールを適用すべき境界の一意識別子を指定します。このアトリビュートは、DHTML ではなく Flash 地図でサポートされます。その値は、esriConfiguration.xml ファイル内の <shape> エレメントの id アトリビュートの値に対応しています。これは、ESRI マップ ビジュアリゼーションを構成するときに、[領域を表示] でシェイプ ファイルとして選択する値でもあります。

    100 = "US State Names"

    200 = "US State Abbreviations"

    300 = "US Zip Codes"

    400 = "Countries of the World"

    500 = "World Admin Divisions"

    600 = "米国の郡"

ルールの解決策

ESRI マップ ビジュアリゼーションが実行される前に、プラグイン内のルールは、事前設定された構成ファイル内のルールと結合されます。両方の場所に同じルールが存在する場合は、プラグイン内のルールが、事前設定された構成ファイル内のルールを上書きします。

Sfv アトリビュートと ShapeId アトリビュートは、DHTML ではなく Flash 地図でサポートされます。

  1. ルールが結合された後、ビジュアリゼーションは、最初、すべてのルール内で scope アトリビュートを探します。Scope アトリビュートがルール内で見つかった場合は、ビジュアリゼーションは scope の一致の有無をチェックします。たとえば、scope = 1 で、ESRI マップ ビジュアリゼーションが MicroStrategy Desktop または MicroStrategy Web で ESRI を地図シェイプ サーバーとして使用して表示されている場合は、一致が存在します。また、scope = 2 で、ESRI マップ ビジュアリゼーションがモバイル デバイスで表示されている場合も、一致が存在します。ルールに scope アトリビュートがない場合は、そのルールはすべての地図シェイプ サーバーに適用されます。Scope と、ビジュアリゼーションが表示されている環境とが一致しない場合、ルールは無視されます。ビジュアリゼーションは、scope が一致するものと scope アトリビュートを持たないものだけを含むように、ルールをフィルターします。

  2. 次にビジュアリゼーションはデータの各行を調べ、ルール ( <elem> ノード) 内のMicroStrategyデータ内の第一の場所名 (n アトリビュートの値) に一致するものがないか確認します。一致するものがない場合は、次のデータ行に移動して、第一の場所名が一致するルールを探します。一致するものがあった場合は、現在のデータ行で、第一の場所名が一致するもののみを含むように、ルールをフィルターします。

  3. 一致する名前変換規則が 1 つだけある場合は、ビジュアリゼーションはそれを適用します。MicroStrategyデータ内の第一の場所名の <elem> ノードの値として提供された場所名 (n アトリビュートの値) を置き換えます。複数のルールがある場合は、地図ビジュアリゼーションは、最初に最も制限の厳しいルールを適用しようとします。次のリストに、規則の適用を制限するために使用されるアトリビュートを、制限が厳しい順に示します。

  • shapeID
  • role
  • sfv

shapeID アトリビュートが一致するルールが見つかった場合は、ビジュアリゼーションはすぐにそれを適用します。見つからなかった場合は、role アトリビュートを持つルールを探します。一致するものが見つかるまで、アトリビュートのリストを下へ向かって探し続けます。ルールを適用して、次のデータ行に移動します。

サンプルのルール

以下は、サンプルのルールです。

<elem id="1" n="Russia">Democratic Russia</elem>

<elem id="2" n="Russia" scope="1">Russian Federation</elem>

<elem id="3" n="Russia" scope="1" shapeId="400">Democratic Russia</elem>

<elem id="4" n="Russia" scope="1" shapeId="400" role="3">Russian Federation</elem>

<elem id="5" n="Fairfax" sfv="Virginia" role="9">Fairfax County</elem>

<elem id="6" n="Fairfax" sfv="Virginia" shapeId="600">Fairfax County</elem>

<elem id="7" n="Fairfax" sfv="VA" shapeId="600">Fairfax County</elem>

<elem id="8" n="St. Thomas" sfv="USA" role="3">St. Thomas, Virgin Island</elem>

<elem id="9" n="Saint Thomas" sfv="USA" role="3">St. Thomas, Virgin Island</elem>

<elem id="10" n="Delhi" sfv="India">New Delhi</elem>

各サンプルのルールについての説明は、下記に示します。

ルール 1 : <elem id="1" n="Russia">Democratic Russia</elem>

意味:地図ビジュアリゼーションは "Russia" という名前 (MicroStrategy データ内) に遭遇するたびに、"Democratic Russia" (民主ロシア) という名前を使用して、シェイプ サーバーからデータを取得します。

これは、シェイプ サーバーに関係なく、すべての地図ビジュアリゼーションに適用されるので、普遍的ルールと呼ばれます。Scope アトリビュートはありません。

ルール 2:<elem id="2" n="Russia" scope="1">Russian Federation</elem>

意味:ESRI マップ ビジュアリゼーションは "Russia" という名前 (MicroStrategy データ内) に遭遇するたびに、"Russian Federation" (ロシア連邦) という名前を使用して、ESRI シェイプ サーバーからデータを取得します。

このルールには、ESRI をシェイプ サーバーとして使用する地図ビジュアリゼーションへのルールの適用を制限する scope アトリビュートがあります。

ルール 3 : <elem id="3" n="Russia" scope="1" shapeId="400">Democratic Russia</elem>

意味:世界の国々の境界を含む ESRI マップ ビジュアリゼーションは "Russia" という名前 (MicroStrategy データ内) に遭遇するたびに、"Democratic Russia" という名前を使用して、ESRI シェイプ サーバーからデータを取得します。

このルールには、ルールの適用を制限する、scope と shapeId という 2 つのアトリビュートがあります。Scope アトリビュートは、シェイプ サーバーとして ESRI を使用する地図ビジュアリゼーションに対するルールを制限し、shapeId アトリビュートは世界の国々の境界を含む地図に対するルールを制限します。

ルール 4 : <elem id="4" n="Russia" scope="1" shapeId="400" role="3">Russian Federation</elem>

意味:世界の国々の境界を含み "Country" を第一地理アトリビュートとする ESRI マップ ビジュアリゼーションは "Russia" という名前 (MicroStrategy データ内) に遭遇するたびに、"Russian Federation" という名前を使用して、ESRI シェイプ サーバーからデータを取得します。

このルールには、ルールの適用を制限する、scope、shapeId、および role という 3 つのアトリビュートがあります。Scope アトリビュートは、シェイプ サーバー として ESRI を使用する地図ビジュアリゼーションに対するルールを制限し、shapeId アトリビュートは、世界の国々の境界を含む地図に対するルールを制限し、role アトリビュートは、"Country" を第一地理アトリビュートとする地図に対するルールを制限します。

ルール 5 : <elem id="4" n="Fairfax" sfv="Virginia" role="9">Fairfax County</elem>

意味:"County" を第一地理アトリビュートとする地図は、"Fairfax" (フェアファックス) という "County" の値と "Virginia" (バージニア) という州の値 (MicroStrategy データ内) に遭遇するたびに、"Fairfax" の代わりに "Fairfax County" (フェアファックス郡) という名前を使用して、シェイプ サーバーからデータを取得します。

このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは Virginia 州のデータに対するルールを制限し、role アトリビュートは "County" を第一地理アトリビュートとする地図に対するルールを制限します。Scope アトリビュートがないので、どのシェイプ サーバーからでもデータを取得できます。

ルール 6 : <elem id="5" n="Fairfax" sfv="Virginia" shapeId="600">Fairfax County</elem>

意味:米国の郵便番号を境界とする地図ビジュアリゼーションは、"Fairfax" という county と "Virginia" という州 (MicroStrategy データ内) に遭遇するたびに、"Fairfax" の代わりに "Fairfax County" という名前を使用して、シェイプ サーバーからデータを取得します。

このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは Virginia 州のデータに対するルールを制限し、shapeId アトリビュートは米国の county の境界を持つ地図に対するルールを制限します。

ルール 7 : <elem id="6" n="Fairfax" sfv="VA" shapeId="600">Fairfax County</elem>

意味:米国の county を境界とする地図ビジュアリゼーションは、"Fairfax" という county と "VA" という州 (MicroStrategy データ内) に遭遇するたびに、"Fairfax" の代わりに "Fairfax County" という名前を使用して、シェイプ サーバーからデータを取得します。

このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは省略形 "VA" (Virginia) という州のデータに対するルールを制限し、shapeId アトリビュートは米国の county の境界を含む地図に対するルールを制限します。

ルール 8 : <elem id="7" n="St. Thomas" sfv="USA" role="3">St. Thomas, Virgin Island</elem>

意味:国を第一地理アトリビュートとしたマップ ビジュアリゼーションには常に、名前 'St. の名前が表示されます。都市として「トーマス」および国として「アメリカ」を使用する場合、( MicroStrategyデータ内で) 名前「セント」を使用する必要があります。シェイプ サーバーからデータを取得する場合、セントジョン トーマスの代わりに、バージン諸島のトーマスを使用します。

このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは USA という国に対するルールを制限し、role アトリビュートは "Country" を第一地理アトリビュートとする地図に対するルールを制限します。

ルール 9 : <elem id="8" n="Saint Thomas" sfv="USA" role="3">St. Thomas, Virgin Island</elem>

意味:国を第一地理アトリビュートとしたマップ ビジュアリゼーションで ( MicroStrategyデータ内で) 都市として「セントトーマ」という名前と国として「アメリカ」の名前を表示する場合は、「セント トーマス」という名前を使用する必要があります。シェイプ サーバーからデータを取得する場合、セントジョン トーマスの代わりに、バージン諸島のトーマスを使用します。

このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは USA という国に対するルールを制限し、role アトリビュートは "Country" を第一地理アトリビュートとする地図に対するルールを制限します。

ルール 10 : <elem id="9" n="Delhi" sfv="India">New Delhi</elem>

意味:地図ビジュアリゼーションは、"Delhi" (デリー) という市と、"India" (インド) という国 (MicroStrategy データ内) に遭遇するたびに、"Delhi" の代わりに "New Delhi" (ニューデリー) という名前を使用して、シェイプ サーバーからデータを取得します。

このルールには、"India" という国に対するルールの適用を制限する sfv アトリビュートがあります。

ルール解決の例

"Russia" (ロシア) という場所の名前に対しては、ルール 1、2、3、4という複数のルールがあります。

  • ルール 1 は "Russia" という第一の場所名に適用される普遍的ルールで、他の制限はありません。

  • ルール 2 は "Russia" という場所の名前に適用されますが、ESRI を地図シェイプ サーバーとする (scope = "1") ビジュアリゼーションに対するルールの適用を制限します。

  • ルール 3 は、"Russia" という場所の名前に適用されますが、さらに限定的です。このルールは、ESRI を地図シェイプ サーバーとする (scope = "1") ビジュアリゼーションに対するルールの適用を制限しますが、米国の州名による境界を使用して表示される (shapeId = "400") データに対する適用も制限します。

  • ルール 4 は、"Russia" という場所の名前に適用されますが、最も限定的です。このルールは、ESRI を地図シェイプ サーバーとする (scope = "1") ビジュアリゼーション、および米国の州名による境界を使用して表示される (shapeId = "400") データに対する適用を制限しますが、"Country" を第一地理アトリビュートとする (role = "3") ビジュアリゼーションに対する適用も制限します。

以下は、上記のサンプル ルールを使用した、"Russia" という名前のルール解決の例です。

  • プラグインにルール 1 のみが含まれている場合は、それを使用して、事前設定された名前変換構成ファイル内のルール 1 を上書きします。プラグインのルール 1 は。すべての地図ビジュアリゼーションに適用される普遍的ルールであるため、"Russia" という場所の名前を含むすべてのデータ行に適用されます。

  • プラグインにルール 1 とルール 2 の両方が含まれる場合は、ルール 2 がルール 1 より限定的なので、ビジュアリゼーションは最初にルール 2 を適用しようとします。ルール 2 には scope アトリビュートがあり、scope を含むルールは常に普遍的ルールより優先します。ESRI が地図ビジュアリゼーションのためのシェイプ サーバーである (scope が一致する) 場合、ルール 2 が "Russia" という場所の名前を持つすべてのデータ行に適用されます。そうでない場合は、プラグインのルール 1 が適用されます。

  • プラグインにルール 1、ルール 2、およびルール 3 が含まれる場合は、ルール 3 がルール 2 より限定的なので、ビジュアリゼーションは最初にルール 3 を適用しようとします。ルール 3 には、シンプルな scope 制限より限定的な shape アトリビュートがあるためです。ESRI が地図ビジュアリゼーションのためのシェイプ サーバーであり (scope が一致する)、現在のシェイプ ファイルが "世界の国々" である (shapeId="400") 場合、ルール 3 が "Russia" という場所の名前を持つすべてのデータ行に適用されます。そうでない場合は、ルール 2 を適用しようとします。ルール 2 が失敗すると、プラグインからルール 1 が適用されます。

  • プラグインにルール 3 が含まれている場合は、ルール 3 は名前変換構成ファイル内のルール 1 より限定的なので、ビジュアリゼーションは最初にルール 3 を適用しようとします。ルール 3 には、シンプルな scope 制限より限定的な shapeId アトリビュートがあるためです。ESRI が地図ビジュアリゼーションのためのシェイプ サーバーであり (scope が一致する)、現在のシェイプ ファイルが "世界の国々" である (shapeId="400") 場合、ルール 3 が "Russia" という場所の名前を持つすべてのデータ行に適用されます。そうでない場合は、事前設定された名前変換構成ファイルからルール 1 が適用されます。

  • プラグインにルール 1、ルール 2、ルール 3、およびルール 4 が含まれる場合は、ルール 4 が最も限定的なので、ビジュアリゼーションは最初にルール 4 を適用しようとします。ルール 4 には、シェイプ アトリビュートより限定的な role アトリビュートがあるためです。ESRI が地図ビジュアリゼーションのためのシェイプ サーバーであり (scope が一致する)、地理アトリビュートが "County" (role="3") である場合、ルール 4 が "Russia" という場所の名前 (第一地理アトリビュートの値) を持つすべてのデータ行に適用されます。そうでない場合は、ルール 3 を適用しようとします。ルール 3 が失敗すると、ルール 2 を適用しようとします。ルール 2 が失敗すると、プラグインからルール 1 が適用されます。