独自の地図ファイル
Windowsの場合: C:¥Program Files¥SAS¥JMP¥13¥Maps
Macintoshの場合: /Users/<ユーザ名>/Library/Application Support/JMP/Maps
メモ: WindowsでJMP Proを使用している場合は、「JMP」の部分が「JMPPro」になります。JMP Shrinkwrap(シングルユーザーライセンス)の場合は、「JMP」の部分が「JMPSW」になります。
また、データテーブルの[地図の役割]列プロパティを使って地図ファイルをデータテーブルにリンクさせる方法もあります。
地図ファイルは、必ず「-Name」ファイルと「-XY」ファイルの2つで構成する必要があります。
どちらのファイルも、第1列にシェープIDを示す数値変数を昇順で入力します。「-Name」ファイルには任意の列を含めることができます。「-XY」ファイルでは、シェープは複数の行によって構築されます。シェープの凸包だけではなく、周り全体を定義するXY座標が必要です。
[地図の役割]列プロパティとして[シェープ名の定義]が指定されている列は、シェープを識別するための検索対象となるため、各行に一意の値を含んでいなければなりません。
EsriのSHPファイルを読み込んだ場合、ファイルは「-XY」ファイルとしての要件を満たす構成になっています。「-Name」ファイルは、通常、.dbfという拡張子を持ちます。詳細については、Esri®シェープファイルを参照してください。
データテーブルの列の属性やプロパティは、「列情報」ウィンドウの[列プロパティ]で指定できます。[地図の役割]プロパティは、他の列プロパティと同様に「列情報」ウィンドウで設定します。
境界線のデータ(国、地域、州、郡、国など)を含むデータテーブルを作成し、それに対応する地図をグラフビルダーで見たい場合、[列プロパティ]にある[地図の役割]プロパティを使用します。地図ファイルは、必ず「-Name」ファイルと「-XY」ファイルの2つで構成する必要があります。
独自の境界線ファイルが地図を置くデフォルトのディレクトリにある場合は、-Nameファイル内で[地図の役割]プロパティを指定するだけです。
独自の境界線ファイルが別の場所にある場合は、-Nameファイル内と分析を行うデータテーブル内の両方で[地図の役割]プロパティを指定します。
[地図の役割]プロパティを指定する列には、分析するデータテーブルと同じ境界線の名前が含まれている必要がありますが、列名自体は異なっていてもかまいません。
1.
シェープ名を含む列を右クリックし、[列プロパティ]>[地図の役割]を選びます。
2.
[地図の役割]の下で[シェープ名の定義]を選択します。
3.
[OK]をクリックします。
図14.10 シェープ名の定義の例
1.
シェープ名を含む列を右クリックし、[列プロパティ]>[地図の役割]を選びます。
2.
[地図の役割]の下で[使用するシェープ名]を選択します。
3.
「地図の名前データテーブル」の横にあるをクリックして-Name地図データテーブルを参照します。相対パスまたは絶対パスを入力できます。
4.
「シェープ定義の列」リストで、選択されている列と値が一致する、地図データテーブル内の列を選択します。
図14.11 は、「S4 Temps.jmp」サンプルデータテーブルの「部屋番号」列の例です。
図14.11 「シェープ定義の列」の例
5.
[OK]をクリックします。
グラフビルダーでグラフを作成する際に、「地図の役割」プロパティを追加した列を「地図シェープ」ゾーンに割り当てると、指定した境界線の地図がグラフに表示されます。
各形式で、最後のフィールドについては小数部も表示されます。方角は、度フィールドの前に句読記号をつけて示すか、接尾辞で示すかを指定できます。句読記号付きで表示させる場合(例: -59°00'00'')は、[方角]のチェックを外します。末尾に方角を表示させる場合(例: 59°00'00'' 南)は、[方角]にチェックを入れます。
[フィールド句読記号]のチェックを外すと、度、分、秒はスペースで区切られます。チェックを入れると度、分、秒の記号が表示されます。
Esri®シェープファイル
.shpファイルには、多角形(ポリゴン)を構成する一連の点が保存されています。JMPで.shpファイルを開くと、JMPテーブルとして読み込まれます。
この読み込みの際、地域を一意に識別する目的で「Shape」列が追加されます。座標点が1つずつ個別の行に保存されます。
「Part」列は、離れている領域と、XY座標(緯度と経度)を示します。
JMPは、(高度情報のない)2次元の.shpファイルをサポートしています。
.dbfテーブルの「Shape ID」の列は、.shpファイルの「Shape」列にマッピングされます。具体的な地域を示す名前や値を含む、任意の数の列を追加できます。
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データテーブルとして保存します。
Windowsの場合: C:¥Program Files¥SAS¥JMP¥13¥Maps¥
Macintoshの場合: /Library/Application Support/JMP/13/Maps
Windowsの場合: C:¥Users¥<ユーザ名>¥AppData¥Roaming¥SAS¥JMP¥Maps
Macintoshの場合: /Users/<ユーザ名>/Library/Application Support/JMP/Maps
メモ: WindowsでJMP Proを使用している場合は、「JMP」の部分が「JMPPro」になります。JMP Shrinkwrap(シングルユーザーライセンス)の場合は、「JMP」の部分が「JMPSW」になります。
SAS/GRAPH® マップデータセット
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」という名前をつけて保存します。