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
下記で説明するように、ファイルをプラグインに追加できます
-
作成
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>
-
このファイルに独自のルールを追加します。ルールはそれぞれ独立した
<elem>
エレメントで、ルールを定義するアトリビュートを含みます。の作成にヘルプを使用してください。<elem>
エレメント、参照ルール定義とルールの解決策。「ルールの定義」では、ルールを定義するために使用できるアトリビュートについて説明し、「ルールの解決」では、ルールがどのように適用されるかを説明します。 -
変更を保存します。
ルールの定義
各ルールは<elem>
エレメントには、以下の表に記載されているルールを定義するアトリビュートが含まれます。
親エレメント
|
ノード数 | 説明 |
---|---|---|
|
1 |
<nameConverts> エレメントは、マップ名変換構成ファイルのルート ノードです。名前変換ルールを定義する <elem> ノードの親ノードです。 |
1 以上 |
<elem> エレメントは、単一の名前変換ルールを定義します。このエレメントの値は、地図シェイプ サーバーが使用する場所の名前です。この値が、MicroStrategy の場所の名前 (このエレメントの n アトリビュートによって指定される) にマップされます。以下のアトリビュートを使用して、名前変換規則を定義することができます。
1 = ESRI がシェイプを提供します (シェイプは ESRI サーバーに保存されています)
|
ルールの解決
ESRI マップ ビジュアリゼーションが実行される前に、プラグイン内のルールは、事前設定された構成ファイル内のルールと結合されます。両方の場所に同じルールが存在する場合は、プラグイン内のルールが、事前設定された構成ファイル内のルールを上書きします。
Sfv アトリビュートと ShapeId アトリビュートは、DHTML ではなく Flash 地図でサポートされます。
-
ルールが結合された後、ビジュアリゼーションは、最初、すべてのルール内で scope アトリビュートを探します。Scope アトリビュートがルール内で見つかった場合は、ビジュアリゼーションは scope の一致の有無をチェックします。たとえば、scope = 1 で、ESRI マップ ビジュアリゼーションが MicroStrategy Desktop または MicroStrategy Web で ESRI を地図シェイプ サーバーとして使用して表示されている場合は、一致が存在します。また、scope = 2 で、ESRI マップ ビジュアリゼーションがモバイル デバイスで表示されている場合も、一致が存在します。ルールに scope アトリビュートがない場合は、そのルールはすべての地図シェイプ サーバーに適用されます。Scope と、ビジュアリゼーションが表示されている環境とが一致しない場合、ルールは無視されます。ビジュアリゼーションは、scope が一致するものと scope アトリビュートを持たないものだけを含むように、ルールをフィルターします。
-
次にビジュアリゼーションはデータの各行を調べ、ルール ( <elem> ノード) 内のMicroStrategyデータ内の第一の場所名 (n アトリビュートの値) に一致するものがないか確認します。一致するものがない場合は、次のデータ行に移動して、第一の場所名が一致するルールを探します。一致するものがあった場合は、現在のデータ行で、第一の場所名が一致するもののみを含むように、ルールをフィルターします。
-
一致する名前変換規則が 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>
意味: マップ ビジュアリゼーションで ( MicroStrategyデータ内で) 名前「ロシア」を参照する場合、シェイプ サーバーからデータを取得するのに「民主ロシア」の名前を使用する必要があります。
これは、シェイプ サーバーに関係なく、すべての地図ビジュアリゼーションに適用されるので、普遍的ルールと呼ばれます。Scope アトリビュートはありません。
ルール 2:<elem id="2" n="Russia" scope="1">Russian Federation</elem>
意味: ESRI マップ ビジュアリゼーションで ( MicroStrategyデータ内で) 名前「ロシア」を参照する場合、ESRI シェイプ サーバーからデータを取得するのに「ロシア連邦」の名前を使用する必要があります。
このルールには、ESRI をシェイプ サーバーとして使用する地図ビジュアリゼーションへのルールの適用を制限する scope アトリビュートがあります。
ルール 3 : <elem id="3" n="Russia" scope="1" shapeId="400">Democratic Russia</elem>
意味: 世界の国の境界を含む ESRI マップ ビジュアリゼーションで ( MicroStrategyデータ内で) 名前「ロシア」を参照する場合、ESRI シェイプ サーバーからデータを取得するのに「民主ロシア」の名前を使用する必要があります。
このルールには、ルールの適用を制限する、scope と shapeId という 2 つのアトリビュートがあります。Scope アトリビュートは、シェイプ サーバーとして ESRI を使用する地図ビジュアリゼーションに対するルールを制限し、shapeId アトリビュートは世界の国々の境界を含む地図に対するルールを制限します。
ルール 4 : <elem id="4" n="Russia" scope="1" shapeId="400" role="3">Russian Federation</elem>
意味: 世界の境界および国を第一地理アトリビュートとして含む ESRI マップ ビジュアリゼーションに「ロシア」という名前が表示される場合 ( MicroStrategyデータ内)、ESRI 図形からデータを取得するのには「ロシア連邦」という名前を使用する必要があります。サーバー。
このルールには、ルールの適用を制限する、scope、shapeId、および role という 3 つのアトリビュートがあります。Scope アトリビュートは、シェイプ サーバー として ESRI を使用する地図ビジュアリゼーションに対するルールを制限し、shapeId アトリビュートは、世界の国々の境界を含む地図に対するルールを制限し、role アトリビュートは、"Country" を第一地理アトリビュートとする地図に対するルールを制限します。
ルール 5 : <elem id="4" n="Fairfax" sfv="Virginia" role="9">Fairfax County</elem>
意味: 郡を第一地理アトリビュートとしたマップ ビジュアリゼーションで、郡の値としての 'Fearfax' および州の値としての 'バージニア' の名前を ( MicroStrategyデータ内で) 参照する場合、' の代わりに 'FAirFax 郡' の名前を使用する必要があります。シェイプ サーバーからデータを取得するためのアプリケーションです
このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは Virginia 州のデータに対するルールを制限し、role アトリビュートは "County" を第一地理アトリビュートとする地図に対するルールを制限します。Scope アトリビュートがないので、どのシェイプ サーバーからでもデータを取得できます。
ルール 6 : <elem id="5" n="Fairfax" sfv="Virginia" shapeId="600">Fairfax County</elem>
意味: 米国の郵便番号を境界として使用する地図ビジュアリゼーションで、郡としての名前「フェイルファクス」および州としての「バージニア」の名前が表示される場合、( MicroStrategyデータ内で)シェイプ サーバーからデータを取得する。
このルールには、ルールの適用を制限する、sfv と role という 2 つのアトリビュートがあります。Sfv アトリビュートは Virginia 州のデータに対するルールを制限し、shapeId アトリビュートは米国の county の境界を持つ地図に対するルールを制限します。
ルール 7 : <elem id="6" n="Fairfax" sfv="VA" shapeId="600">Fairfax County</elem>
意味: 米国の郡を境界として含む地図ビジュアリゼーションで、郡としての名前である 'FAirFax' および州としての 'VA' の名前を ( MicroStrategyデータ内で) 参照する場合、取得するには「FAirFax」の代わりに 'FAirFax 郡' の名前を使用する必要があります。シェイプ サーバーからのデータです。
このルールには、ルールの適用を制限する、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>
意味: マップ ビジュアリゼーションで都市としての文字列 および国としての文字列 'Indian' を参照する場合、MicroStrategyサーバーからデータを取得するのに。
このルールには、"India" という国に対するルールの適用を制限する sfv アトリビュートがあります。
ルール解決の例
場所名「ロシア」には複数のルールがあります: ルール 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 が適用されます。