見出し画像

Tableauでフランス海外県・海外自治体のマップを作成する方法

はじめまして、フランスでデータアナリストの仕事をしています、アレクセィと申します。今日は、私が公施設法人で働いていた時に得た経験を、日本語のTableauユーザーに伝えたいと思います。テーマは、海外フランスのマップ作りに関するもので、非常に特殊なものですが、興味を持ってご覧いただければ幸いです。

フランスを想像したとき、ほとんどの場合、以下のような形が頭に浮かびます。

画像1

この画像は、実際にはフランス本土(la France continentale)とコルシカ島(la Corse)の2つの要素からなるフランスメトロポリテーヌ(la France métropolitaine)です。これは、「FRANCE」という地理的ディメンジョンを選択したときにTableauが自動的に表示する形でもあります。

しかし、フランスはそれだけではありません。この国は、島を中心とした様々な海外領土で構成されており、海外県(départements d'outre-mer、DOM)と海外自治体(collectivités d'outre-mer、COM)の2つのカテゴリーに分類されます。

画像2

国連などの国際機関で働いているとしましょう。ご想像の通り、国の主権と領土の完全性は政治的に敏感な問題であり、海外領土へのアプローチで考慮する必要があります。

ここで、Tableauはお茶目です。なぜならば、モロッコの隣にあるカナリア諸島を含むスペインの海外領土を国の次元レベルで自動的に表示する一方で、フランスの領土は除外しているからです。以下に例を示します。

画像3

画像4

このような状況に陥った場合、マップを作成する前に領土を国レベルのグループ ディメンジョンに集約する 4 段階のプロセスを展開しました。また、これらの地域ごとに個別の値を設定して、より詳細なマップを作成するためのアプローチについてもご紹介します。

フランスの定義

フランスと言うのは、本土と海外の様々な領土で構成された主権国家です。

1848年以降のすべての憲法には、「フランス共和国は不可分である」と明記されています。これは、例えば太平洋の真ん中にあるフランス領ポリネシアを、フランスとは別個の存在として考えることはできないという意味です。

しかし、不可分性は一意性を意味するものではありません。海外フランスの場合は、これらの領土がDOMに該当するかCOMに該当するかで決まることです。

DOM(海外県、départements d'outre-mer)は、法律的には、フランス本土の県と同じです。COM(海外自治体、collectivités d'outre-mer)は、独自の通貨を使用し、独自の大統領を選出するものがあるため、より複雑な場合があります。

海外フランスは、ブラジル、カナダ、オーストラリア、マダガスカル、フィジー諸島に近い12の行政領で構成されています。

カリブ海に位置するマルティニーク(Martinique)、グアドループ(Guadeloupe)、サンマルタン(Saint-Martin)およびサンバルテレミー島(Saint-Barthélémy)。サンマルタンはオランダとフランスの唯一の共通国境です。ヨーロッパでは両国はベルギーによって隔てられています。

画像5

ブラジルの北に位置するフランス領ギアナ(Guyane française)。

画像6

ニューファンドランドの南、カナダ東部に近い場所に位置するサンピエール島とミクロン島(Saint-Pierre-et-Miquelon)。

画像7

太平洋に位置するフランス領ポリネシア(Polynésie française)とワリスとフツナ(Wallis-et-Futuna)。

画像8

オーストラリアの東に位置するニューカレドニア(Nouvelle-Calédonie)。パリからニューカレドニアへ行くには関西国際空港乗り換えが最適です。日本では、森村桂の小説から「天国から一番近い島」としても知られています。

画像9

東アフリカのマダガスカルの近くに位置するレユニオン島(La Réunion)とマヨット島(Mayotte)。

画像10

フランス領南方・南極地域(Terres Australes et Antarctiques françaises, TAAF)は、南極付近に恒久的な民間人が住んでいない島々と、南極のアデリーランド(Terre Adélie)からなる4つの領土です。アデリーランドは、フランスの主権が争われているので、Tableauでは領南方・南極地域の一部として自動的にマップ化されていないことを、注意してください。

画像11

未記載:中米コスタリカの西に位置する太平洋上の無人島、クリッペルトン島(Clipperton)。

Tableauに海外県・海外自治体の管理

Tableauでは、海外県も本土の県と同様に管理しています。使用できる地理的役割は同じです。市区町村(commune)、郵便番号(code postal)、郡(département)、都道府県/州(région)。

フランスの行政法では、いくつかの地方自治体が2つのカテゴリーの責任を負っています。例えば、パリは都市であると同時に県でもあるため、Tableauでは両方の地理的役割を認識しています。同じルールが、地域・県の両方の役割で認識されている海外県にも当てはまります。つまり、マルティニーク島をパリの「県」やその地域であるイール=ド=フランス(Ile-de-France)と比較することができます。どの役割を選択するかは、データベースの詳細なレベルに依存します。

海外県(DOM)は5つあります。カリブ海のマルティニーク(Martinique)とグアドループ(Guadeloupe)、南アメリカのフレンチガイアナ(Guyane française)、アフリカの東、マダガスカルの近くにあるレユニオン島(La Réunion)とマヨット(Mayotte)です。

その他の海外領土はすべて海外自治体(COM)に当てはまります。

Tableauでは、COMは自治国として扱われるため、スペインや中国と同じレベルに分類されます。つまり、フランスを頂点とした地理的な階層を作り、その中にCOMを細分化することはできないのです。Tableauは単純に選択対象からそれらを除外してしまいます。

フランス人の私にとって、この設定は再考の余地があると思います。

Tableauユーザにとっても、問題点です。フランスのオープンデータでは、本土の県、海外県、海外自治体を問わず、データセットの中で地理的情報を表すために1つの唯一の列を使用することが多いのです。例としては、全国地方自治体議員データベース(Répertoire national des élus, RNE)で、"Libellé de département"(県名)の列に県のパリと海外自治体のニューカレドニアなどが記入されます。

海外フランスのマップを作成する手続き

このチュートリアルでは、上記の参考データから("1-rne-cm.txt")市町村議会議員関連データを使用する予定です。このデータベースは、海外自治体のうち、ポリネシア、ニューカレドニア及びサンピエール島・ミクロン島の情報のみで構成されています。

1:異なる地理的ディメンションを作成する

この最初のステップの目的は、Tableauの海外自治体の扱いが異なることを考慮することです。"Libellé de département (Maires) "を右クリックし、以下のように "Department "(県)という新しい計算フィールドを作成します。

if [Libellé de département (Maires)] = "Nouvelle-Calédonie" 
then NULL
elseif [Libellé de département (Maires)] = "Polynésie française" then NULL
elseif [Libellé de département (Maires)] = "Saint-Pierre-et-Miquelon" 
then NULL
else [Libellé de département (Maires)]  
END

この単純な計算により、データベースに存在するCOMの名前がNULL値に変更されます。他の地理的情報はすべて県レベルで集約されているため、この新しいディメンジョンには地理的役割として「郡」を割り当てる必要があります。

一般的なルールとして、この最初のステップでは、データセットをチェックし、COMカテゴリに該当するすべての出現箇所をリストアップし、手動でデータから除外する必要があります。このデータにCOMのウォリス・フツナに関する情報が含まれていた場合、計算対象をこの地域に広げる必要があります。

「県」の計算フィールドが作成されたら、それに基づいて新しいフィールドを作成し、「COM」と名付けます。

if [県] = [Libellé de département (Maires)] 
then NULL
else [Libellé de département (Maires)] 
END

この計算により、以前にフィルターされた海外自治体のデータのみで構成されます。

最後に、この新しい「COM」 ディメンジョンに「都道府県/州」の役割を割り当てます。

2:二重軸 (レイヤー) マップの作成する

二重軸マップの目的は、異なる地理的レベルに存在する地理的ディメンジョンを示すことです。

この機能を使って、実際の県とCOMを独自の地図上に同時に描き、デザインを法的な現実に合わせていきます。つまり、あたかもTableauがCOMをフランスの領土の一部として認めるかのようなマップを作るのです。

まず、新しく作成した「県」ディメンションをダブルクリックします。マップが作成されます。広い視野で見ると、フランス本土に集合している多くの値に加えて、カリブ海に2つの点、南米に1つの点、アフリカの東に2つの点があります。これが先ほどの5つの海外県です。

次に、「Latitude(Generated))」フィールドをCtrlキーを押しながらドラッグしてコピーし、行棚の最初の緯度フィールドの隣に置きます。この操作により、2列のマップが作成され、どちらも同じものになります。

そして、一番上の「Latitude(Generated)」タブをクリックして、マップコンポーネントを表示します。緯度と経度は新しく作成した「県」フィールドから生成されていることがわかります。新たに作成した「COM」フィールドを「詳細」にクリック&ドロップし、このタブから「県」を削除します。

これで2つのマップができました。1つは海外県を含む県、もう1つは3つのCOM(ポリネシア、ニューカレドニア、サンピエール島・ミクロン島)が描かれています。

2軸マップを完成させるためにするべきことは、行棚の2番目の「緯度(生成)」フィールドを右クリックして、Dual Axisを選択することです。これで、マップの統合が完了しました。

3:マップの外観を最適化する

両方の地理的ディメンションに同じパラメータを使用して、デザインの整合性と一貫性を確保します。同じ情報を両方の「緯度(生成)」タブにドラッグ&ドロップするだけで、ツールチップの一貫性を定期的にチェックできます。

マップが全く読めないことに気づくかもしれません。それは、パースペクティブが広すぎて、小さなテリトリーの地理情報を十分に表示できないからです。

これを解決するには、デザインの好みやユーザーのニーズに応じて、2つの方法があります。

4(オプション1):ズーム不可能な海外マップ

一番簡単で早い解決策は、ユーザーのズーム機能を無効にすることです。データが県や地域レベルで集計されている場合には最適な方法ですが、都市ごとに多くの値がある場合にはあまりお勧めできません。

最も重要なステップは、必要な要素をすべて盛り込んだ地図を最終的に完成させてから、海外の領土を含めたデザインに変更することです。

何も変更しないことが確認できたら、手動でフランス・メトロポリテーヌにズームし、「マップオプション」メニューからユーザーのズームオプションをすべて無効にして、このレベルのズームを固定します。

満足したら、地図のシートを複製して「ニューカレドニア」と名前を変え、ご存知のようにアンカーズームをカリブ海のニューカレドニアに変更します。その後、ユーザーのズームオプションを無効にして、再度シートを複製します。

この(面倒な)手順を、データベース内の海外の各県や自治体に対して繰り返さなければなりません。5つのDOMと3つのCOMで構成されている市議会議員のデータベースの場合、8つの海外マップを作成する必要があります。

最後に、ダッシュボードでフランス・メトロポリテーヌを強調するために標準的なサイズを使用し、フランス・メトロポリテーヌのマップの隣に海外のマップを(水平または垂直に)縮小して配置することをお勧めします。この方法は、視覚的に独立した機能として、またはよりただのヨーロッパの地図の上にフローティングオブジェクトとして実装することができます。

画像12

フランスの市議会における男女共同参画。DOMとCOMを本土の地図とは別の要素として表現した例。ライブ版はこちら

画像13

フランスの公務員養成学校。DOMとCOMを地図上に浮かび上がらせた例。ライブ版はこちら

4(オプション2):拡大可能な海外マップ

データベースが都市ごとに多くの値で構成されている場合は、ユーザーがズームできるようにした方が賢明です。これは、新型コロナウィルスの予防接種センターのマップをデザインした際に直面した問題です。


画像14

上記の海外領土は、5つのDOMすべてと、上から3番目のサン=マルタン島(COM)が含まれています。

最初からズームを固定してしまうと、この自動ズームインオプションは動作しなくなり、ビジュアライゼーションが壊れたように見えてしまいます。逆に、ズームを固定しない場合、データ可視化は世界ズームアウトで始まり、都市レベルの情報を求めるユーザーには全く無意味なものとなります。

解決策としては、上記のオプション1で説明したように、データベースに登録されているすべての海外県や自治体の小さなマップを横に作成し、フランス・メトロポリテーヌのマップにさらにオプションを追加して、フィルタリングとズーム機能の両方を可能にすることです。

言い換えれば、目的は中心となるを作成するマップことであり、可視化を開いたときにフランス・メトロポリテーヌを表示し、手動でのズームを可能にし、ユーザーが指定すれば関連するズームを自動化することです。

この結果を得るためには、まず「ユーザー県番号」という名前で、ユーザーがプレフィルタリングのための情報を提供するためのパラメータを作成する必要があります。県番号を使いましたが、データベースから県名を使うこともできます。

ここでは、フランスの郵便番号から県番号を抽出する計算フィールドの式を紹介します。

//フランスの県番号は、1~3桁の数字で構成されている
if LEN(STR([Code postal])) = 4 then LEFT(STR([Code postal]),1)
elseif LEFT(STR([Code postal]),2) = "97" 
then LEFT(STR([Code postal]),3)
elseif LEFT(STR([Code postal]),2) = "98" 
then LEFT(STR([Code postal]),3) 
else LEFT(STR([Code postal]),2) END 

次に、上記から計算された新しいフィールドを作成し、ユーザーのデパーメント番号を考慮するフィルターとして機能させます。このフィルターのもう一つの機能は、可視化を開くと、期待されるフランス・メトロポリテーヌの地図のみを表示するために、すべてのDOMとCOMを除外することです。

// まず、ユーザーが県番号を入力しない場合、特定のフィルターを無効にする
if [User Dept Number] = NULL
Then "OK"
// そして、海外県・海外自治体の番号の始まりと一致しない限り、値を保持する。
elseif [User Dept Number] = "" and left([Department Number],2) <> "97" then "OK"
elseif [User Dept Number] = "" and left([Department Number],2) <> "98" then "OK"
// 最後に、ユーザーの入力に対応する値がある場合は、その値のみを保持する。
elseif [User Dept Number] = [Department Number]
then "OK" else "KO"
END

最後に、このフィルターをフランス・メトロポリテーヌマップに応用し、「OK」の値だけを残します。

ここでのコツは、簡単に言えば、海外の値をデフォルトで除外して、可視化を開く際にフランス本土でのズームを自動化することです。

さて、地図を開くと、フランスの首都圏が拡大されています。パラメーターにパリの75というように県番号を入力すると、パリの値だけを表示するようにズームインします。逆にグアドループ島の971のように海外県番号を入力すると、カリブ海にあるグアドループ島にズームインします。

この2つ目の方法は、ユーザーエクスペリエンスの点で最も優れています。Tableauの直感的なマップ機能を利用できる一方で、マップを開いたときに期待される都市レベルでのズームを確実に行うことができます。関連して、この方法は、郵便番号、都市、または特定のジオコーディングなど、非常に細かいデータを持っている場合に最適です。

逆に、Tableauのズーム機能は、慣れていないユーザーには理解できないこともあります。このように、ステップ4のオプション2で説明した機能をすべて実装しなくても、フランスの首都圏の地図は、デパーメントや地域レベルのすべてのデータを適切に表示します。

いずれにしても、この手法を使えば、フランスの完全なマップを作ることができると思います。国は理解するのが難しいテーマで、フランスも同様です。Tableauの技術的な理由で、海外の領土の扱い方がわからず、不完全なデータ可視化を作ってしまったとしたら残念だと思います。願わくば、この練習で視野が広がり、世界の更なる領土や文化を発見するきっかけになってくれればと思います。

また、Tableau Publicの個人ページから設定済のデータ可視化のダウンロードも可能にしました。


画像15

ライブバージョンのダウンロードはこちら