グラフ機能 > 地図 > グラフビルダー > 独自の地図ファイル
公開日: 04/01/2021

独自の地図ファイル

用意されている地図ファイルのパターンに従えば、独自の地図ファイルを作成することができます。独自の地図ファイルを作成するには、2つのものが必要になります。1つはシェープを構成する多角形の各頂点をXY座標として表したデータ、もう1つは、各多角形に対する名前です。独自のシェープをJMPで使用するためには、データおよびシェープの属性を設定することが必要です。一般的なデータのソースとして、Esri®シェープファイルやSAS/GRAPH®マップデータセットが挙げられます。

JMPに地図ファイルを自動的に認識させるためには、ファイルを次のディレクトリに保存する必要があります。

Windowsの場合: C:¥Users¥<ユーザ名>¥AppData¥Roaming¥SAS¥JMP¥Maps

macOSの場合: /Users/<ユーザ名>/Library/Application Support/JMP/Maps

注: WindowsでJMP Proを使用している場合は、「JMP」の部分が「JMPPro」になります。また、データテーブルの[地図の役割]列プロパティを使って地図ファイルをデータテーブルにリンクさせる方法もあります。

地図ファイルを作成する際、次の点に注意してください。

地図ファイルは、必ず「-Name」ファイルと「-XY」ファイルの2つで構成する必要があります。

どちらのファイルも、第1列にシェープIDを示す数値変数を昇順で入力します。「-Name」ファイルには任意の列を含めることができます。「-XY」ファイルでは、シェープは複数の行によって構築されます。シェープの凸包だけではなく、周り全体を定義するXY座標が必要です。

[地図の役割]列プロパティとして[シェープ名の定義]が指定されている列は、シェープを識別するための検索対象となるため、各行に一意の値を含んでいなければなりません。

EsriのSHPファイルを読み込んだ場合、ファイルは「-XY」ファイルとしての要件を満たす構成になっています。「-Name」ファイルは、通常、.dbfという拡張子を持ちます。Esri®シェープファイルを参照してください。

SAS/GRAPHソフトウェアには、JMPで使用できるマップデータセットが多数含まれています。SAS/GRAPH® マップデータセットを参照してください。

地理的な領域ではないもの(オフィスビルの特定の階など)のコロプレス地図を作成したいときは、2種類の地図ファイルを用意します。スペースのグラフィック画像はあるもののXY座標のデータがない場合には、JMP用のCustom Map Creatorアドインを使用します。このアドインを使うと、スペースのアウトラインをなぞって-XYファイルと-Nameファイルが作成できます。このアドインはJMP File Exchangeページからダウンロードできます。

地図の役割

データテーブルの列の属性やプロパティは、「列情報」ウィンドウの[列プロパティ]で指定できます。[地図の役割]プロパティは、他の列プロパティと同様に「列情報」ウィンドウで設定します。

境界線のデータ(国、地域、州、郡、国など)を含むデータテーブルを作成し、それに対応する地図をグラフビルダーで見たい場合、[列プロパティ]にある[地図の役割]プロパティを使用します。地図ファイルは、必ず「-Name」ファイルと「-XY」ファイルの2つで構成する必要があります。

次の点に注意してください。

独自の境界線ファイルが地図を置くデフォルトのディレクトリにある場合は、-Nameファイル内で[地図の役割]プロパティを指定するだけです。

独自の境界線ファイルが別の場所にある場合は、-Nameファイル内と分析を行うデータテーブル内の両方で[地図の役割]プロパティを指定します。

[地図の役割]プロパティを指定する列には、分析するデータテーブルと同じ境界線の名前が含まれている必要がありますが、列名自体は異なっていてもかまいません。

-Nameデータテーブルに「地図の役割」プロパティを追加するには、次の手順に従います。

1. 境界線を含む列を右クリックし、[列プロパティ]>[地図の役割]を選択します。

2. [地図の役割]の下で[シェープ名の定義]を選択します。

3. [OK]をクリックします。

4. データテーブルを保存します。

シェープ名の定義の例 

Image shown here

分析するデータテーブルに「地図の役割」プロパティを追加するには、次の手順に従います。

注: この手順は、カスタム境界線ファイルがデフォルトのカスタム地図ディレクトリにない場合にのみ行ってください。

1. 境界線を含む列を右クリックし、[列プロパティ]>[地図の役割]を選択します。

2. [地図の役割]の下で[使用するシェープ名]を選択します。

3. 「地図の名前データテーブル」の横にあるImage shown hereをクリックして-Name地図データテーブルを参照します。相対パスまたは絶対パスを入力できます。

地図データテーブルが同じフォルダにある場合は、ファイル名だけを入力します。パスにスペースが含まれている場合でも引用符は不要です。

4. 「シェープ定義の列」リストで、選択されている列と値が一致する、地図データテーブル内の列を選択します。

は、「S4 Temps.jmp」サンプルデータテーブルの「部屋番号」列の例です。

「シェープ定義の列」の例 

Image shown here

5. [OK]をクリックします。

6. データテーブルを保存します。

グラフビルダーでグラフを作成する際に、「地図の役割」プロパティを追加した列を「地図シェープ」ゾーンに割り当てると、指定した境界線の地図がグラフに表示されます。

数値列の場合は、表示形式のメニューが列情報ウィンドウに表示されます。列に数値を表示する形式を指定します。地図用の緯度経度は、軸や軸ラベルをカスタマイズする際に[形式]>[地図]を選択すると表示されます。

地図

緯度経度の値を表示します。緯度と経度を次の形式で表示できます。

DDD(度)

DMM(度分)

DMS(度分秒)

各形式の、最後のフィールドは小数部です。方角は、度フィールドの前に句読記号をつけて示すか、接尾辞で示すかを指定できます。句読記号付きで表示させる場合(例: -59°00'00")は、[方角]のチェックを外します。末尾に方角を表示させる場合(例: 59°00'00" 南)は、[方角]にチェックを入れます。

[フィールド句読記号]のチェックを外すと、度、分、秒はスペースで区切られます。チェックを入れると度、分、秒の記号が表示されます。

Esri®シェープファイル

Esriシェープファイルは、地形や海など、地理的な特徴に関するデータを含むベクトルデータ形式です。地理マッピングソフトウェアの仕様として、Esriにより開発され、規制されています。

シェープファイルは、名前が同じで拡張子の異なる一連のファイルで構成されます。

メインファイル(.shp

.shpファイルには、多角形(ポリゴン)を構成する一連の点が保存されています。JMPで.shpファイルを開くと、JMPテーブルとして読み込まれます。

この読み込みの際、地域を一意に識別する目的で「Shape」列が追加されます。座標点が1つずつ個別の行に保存されます。

「Part」列は、離れている領域と、XY座標(緯度と経度)を示します。

JMPは、(高度情報のない)2次元の.shpファイルをサポートしています。

dBASEテーブル(.dbf

.dbfテーブルの「Shape ID」の列は、.shpファイルの「Shape」列にマッピングされます。具体的な地域を示す名前や値を含む、任意の数の列を追加できます。

EsriシェープファイルをJMPの地図ファイルに変換するには、次の手順に従います。

1. JMPで.shpファイルを開きます。

2. .shpファイルの第1列が「Shape」列であることを確認します。X列とY列には表示形式や軸の設定を追加することができます。これらの設定は、グラフビルダーでX軸とY軸を作成する際に使われます。

3. .shpファイルに「-XY.jmp」で終わる名前をつけ、JMPデータテーブルとして「Maps」フォルダに保存します。

4. .dbfファイルを開きます。

5. テーブル内の第1列として「Shape ID」列を追加します。この列の値は、行番号(1~データテーブル内の行数)です

注: [列]>[列の新規作成]>[データの初期化]>[シーケンスデータ]を使用すれば、列を連番で埋めることができます。

6. グラフビルダーでシェープとして使用したい地名の列に[地図の役割]列プロパティを割り当てます。それには、列の上部で右クリックし、[列プロパティ]>[地図の役割]を選択します。

7. 「地図の役割」のドロップダウンボックスから[シェープ名の定義]を選択します。

8. テーブルに、前半が「-XY」テーブルと同じで「-Name.jmp」で終わる名前をつけ、JMPデータテーブルとして保存します。

JMPは、地図ファイルを2つの場所で探します。1つは、コンピュータの全ユーザに共有されるディレクトリで、次の場所にあります。

Windowsの場合: C:¥Program Files¥SAS¥JMP¥15¥Maps¥

macOSの場合: /Library/Application Support/JMP/15/Maps

もう1つは個々のユーザに特有の場所です。

Windowsの場合: C:¥Users¥<ユーザ名>¥AppData¥Roaming¥SAS¥JMP¥Maps

macOSの場合: /Users/<ユーザ名>/Library/Application Support/JMP/Maps

注: WindowsでJMP Proを使用している場合は、「JMP」の部分が「JMPPro」になります。

SAS/GRAPH® マップデータセット

SAS/GRAPHソフトウェアには、変換してJMPで使用できる多数のマップデータセットが用意されています。データセットはMAPSライブラリに入っています。従来型のマップデータセットは、XY座標のデータと、一般的な地名が保存された地図テーブルで構成されています。両ファイルをJMPデータテーブルに変換することで、JMPで使用できるようになります。

ほとんどの従来型のマップデータセットには、ラジアンを単位とする非投影の緯度経度変数が含まれています。これらのデータは、単位を度に変換し、投影向けに経度変数を調整した後、JMPで使用可能になります。以下は、「Belize」データセットの変換プロセスを示すDATAステップです。

data WORK.BELIZE;
keep id segment x y;
rename segment=Part;
set maps.belize;
if x NE .;
if y NE .;
y=lat*(180/constant('pi'));
x=-long*(180/constant('pi'));
run;

変換後のファイルを読み込み、「Belize-XY.jmp」という名前で保存します。

次に、対応する地図テーブル(この例では「MAPS.BELIZE2」)を読み込みます。地図テーブルを読み込んだ後、ID列をデータテーブルの冒頭に移動します。グラフビルダーでシェープとして使用したい地名の列に[地図の役割]列プロパティを割り当てます。それには、列の上部で右クリックし、[列プロパティ]>[地図の役割]を選択します。次に「地図の役割」のドロップダウンボックスから[シェープ名の定義]を選択します。「MAPS.BELIZE2」ファイルでは、「IDNAME」列を使います。地図テーブルに「Belize-Name.jmp」という名前をつけて保存します。

SASマップを変換するには、JMP File ExchangeページからSAS to JMP Map Converterアドインをダウンロードして使用することもできます。アドインは、2つのSASマップテーブルからデータを読み込み、再編成して形式を整え、2つのJMPデータテーブルとして保存します。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).