2000.07.14

Ver.0.9==========================================================================================

Mp s Ed ito r 使 用 説 明 書−チュートリアル−==========================================================================================
Ⅰ．はじめに□実際の使用例を示しながら，各種操作方法を説明します．

テーマ：

神戸市営地下鉄，学園都市駅周辺の地域特性を調べる
構築情報＝

行政界，学校，ダイエー位置−−−−
分析項目（例）○各図形属性の計算○各種主題図を生成（円シンボルサイズ可変，レンジ主題図等）
・行政界

人口，人口密度，学校数，・・・など

・ダイエー

同心円，全学校平均距離，・・・など

・学校

学生数，・・・など○各図形の属性値一覧表の作成
など
−−−−

□手順
Ⅱ．分析用の基礎データベースを設計
Ⅲ．MPSEditor で利用する属性情報の設計
Ⅳ．各種（属性）情報の収集
Ⅴ．データ構築・分析・出力・基礎図形情報の入力
・分析計算

＝＞

分析基礎データベース

完成

・分析用図形作成，各種主題図作成，データ出力□その他
・完成版サンプルファイル
MpsEditorSample0.Mps

図形，属性情報入力完了状態のファイル

MpsEditorSample1.Mps〜
MpsEditorSample4.Mps

各種主題図生成ファイル

1

・練習用サンプルファイル〜

MpsEditorSampleOrg.MPS

MpsEditorSample0.Mps から下記の一部の情報を取り除いたもの
また，属性情報は，全て未入力．
−−
未入力図形一覧・学園西町３丁目
・学園西町４丁目
・学園東町３丁目
・学園東町４丁目
・学園東町５丁目
・流通科学大学
・神戸市看護大学・関西自動車専門学校
・神戸高等技術専門学院
・東町小学校・パルタウン学園−−以降の練習の元データとして利用する

・その他サンプル
MpsEditorSample.XLS〜

エクセルデータサンプル

MpsEditorSample.TXT〜

テキストデータサンプル・構築したい情報の背景として利用する領域を適当な縮尺，ズーム倍率でプロアトラス上で指定してから図形等の入力をするとよい．

・文中の

Tips）

は，知っておくと便利な機能

Ⅱ．分析基礎データベースの設計

各情報の図形情報と属性情報（属性名）を定義する①行政界情報②学校位置情報

＝

＝

図形

Area

〜

行政界の境界線を入力

属性

Str：名称

図形

Point 〜

属性

Str：名称

図形

Point 〜

属性

Str：ダイエー

図形

Circle

学校記号(文)の中心点③ダイエー情報（１）位置情報＝（２）ダイエー同心円＝〜「キャンパススクエア」の点

ダイエー位置を中心点
2

（３）ダイエー学校間＝属性

Str:ダイエー同心円

図形

Circle

属性

Str:ダイエー学校間平均距離〜

ダイエー位置を中心点

Ⅲ．属性データベースの詳細設計

・Oid は，オブジェクト番号に用いる
・Gid は，Group 番号に用いる・各図形の Url パラメータ を計算作業用の変数に用いる・各図形の Info パラメータ を属性データベースとして用いる・各図形の属性データベース設計
カンマ区切りのｎ）番目の情報の意味−−①行政界情報１）行政界情報の ID：行政界◎２）面積（ha）
３）男性数
４）女性数
◎５）総人口
６）世帯数○７）学校数◎８）人口密度（人／km^2）−−②学校位置情報
１）学校位置情報の ID：学校
２）学生数○３）存在する丁目名称○４）ダイエーまでの直線距離（ｍ）−−③（１）ダイエー位置情報
１）ダイエー位置情報の ID：ダイエー○２）最近学校名○３）最遠学校名○４）最近学校への直線距離（ｍ）○５）最遠学校への直線距離（ｍ）○６）学校への直線距離の平均（ｍ）−−③（２）ダイエー同心円
１）ダイエー同心円の ID：ダイエー同心円◎２）ダイエー直線距離−−3

③（３）ダイエー学校間
１）ダイエー学校間の ID：ダイエー学校間平均距離−−−−−なし：手動入力（１つ１つ）◎ ：計算式で入力○ ：解析機能で計算−−−−−

Ⅳ．属性情報の収集（現実とは無関係なサンプルデータ）

人口，世帯数，学生数（これ以外は計算可能）−−−−−−−−−−−−−−−−−−−−−−−
行政界別
男

女

世帯数

学園西町１丁目

295

330

339

学園西町２丁目

181

270

110

学園西町３丁目

114

102

78

学園西町４丁目

328

241

393

学園西町５丁目

182

103

104

学園西町６丁目

105

94

93

学園西町７丁目

297

309

210

学園西町８丁目

63

88

38

学園東町１丁目

288

105

105

学園東町２丁目

67

118

54

学園東町３丁目

294

146

410

学園東町４丁目

220

170

204

学園東町５丁目

55

97

41

学園東町６丁目

222

305

237

学園東町７丁目

147

220

112

学園東町８丁目

284

113

243

学園東町９丁目

232

183

150

−−−−−−−−−−−−−−−−−−−−−−−
学校別学生数
流通科学大学4500

神戸市看護大学

2000

伊川谷北高校1200

神戸商科大学5000

神戸芸工大学2500

神戸外語大学1250

神戸工業高専1000
4

小寺小学校

650

東町小学校

530

太山寺中学校
学園幼稚園

1250
220

神戸 YMCA 学院

550

パルタウン学園

150

神戸高等技術専門学院

300

関西自動車整備専門学校

350−−−−−−−−−−−−−−−−−−−−−−−

Ⅴ．データ構築・分析・出力ａ）起動・終了
起動時に DefaultFile の保存位置を指定する＃

DefaultFile

は，MpsEditor の各種設定を保存しておくファイル＃

窓の位置，コマンドライブラリなど

複数のプロジェクトがある場合や同一マシンを複数のユーザで使用する場合は保存先を FD にすれば，それによるプロジェクトもしくはユーザ管理ができる−−−
ただし，最初の起動時に設定ファイルが存在しない場合，新規に生成される−−−
終了は，File-Exit．これにより各種設定を保存の後終了する
ただし，タイトルバーの終了ボタンでは，設定は保存されない−−−Tips)図形の表示・非表示◇ファイル読み込み直後は，図形は非表示状態◇全図形を表示する場合＝＞

View-RefreshFigures◇選択図形のみを表示する場合◇図形を非表示にしたい場合＝＞＝＞

View-Figures[ON]にする
View-Figures[OFF]にする◇地図の表示領域を図形位置に移動する場合＝＞

View-MoveProAtlasWindowｂ）新規スクリプトファイルの生成
新規 Mps スクリプトファイルは

File-Newで生成最小構成のコマンドリストが自動で生成される−−・図形コマンドは，Disp コマンドの前に位置する必要がある
・Comment 以外の全てのコマンドは，２つの mapserver の間に位置する必要がある

ｃ）図形情報，属性情報の入力○名称は，（ⅲ）に記載の情報を入力すること
5

①行政界情報の入力
リスト中のカーソルが Disp コマンド行にあることを確認して＃

図形コマンドは，必ず Disp コマンドの前−図形−０）EditList−AddFigure-Areaを実行すると座標入力ダイアログが現れる

１）最初の頂点を地図上でマウスクリック
赤い点がつく．この点は，現在の参照可能位置を示す．
複数の赤点がある場合は，もっとも新しいものがカレント
２）ダイアログ中の「＊」ボタンを押す
リストに頂点座標が登録される
３）次ぎの頂点を地図上でマウスクリック＝＞

最終頂点まで繰り返す

２）へ

４）完了したら「OK」ボタン−属性−５）属性値の入力
メイン Window の下半分の属性値一覧の該当するテキストボックスに
Str：行政界名称
Info：行政界をそれぞれ入力
それ以外の属性値は後で計算，入力−−
これを繰り返して，ずべての行政界情報を入力
Tips）リスト中のカレント図形コマンドを地図中に表示するには
View-CurrentFigures を ON にするか，
Edit ボタンリストの最上部にある「OFF」をクリックして ON にする．
−−
常にカレント図形を地図上で確認できるTips）入力の際に既存の図形が表示されて地図が見にくい場合は，
View-Figures を一度 OFF にして，表示したい図形のみをリスト中で選択しあらためて ON にすれば，選択図形とそれ以降入力された図形のみを表示可能−−
全ての図形を表示する（最初の状態に戻す）には，図形を全て非選択にしてView-Figures を一度 OFF，そして ON にすればよいTips）座標入力ダイアログで図形を入力する場合にダイアログの「Snp」オプションを ON にしておけば，
地図上でのマウスクリックで既存図形の頂点にスナップできる．
−−
スナップした場合は，メイン Window のタイトルバーに図形番号と図形の頂点番号が表示される

6

②学校位置情報の入力
リスト中のカーソルが Disp コマンド行より前にあることを確認して−−０）EditList−AddFigure-Point を実行すると座標入力ダイアログが現れる
１）それぞれの入力したい地点を地図上でマウスクリック
２）ダイアログ中の「＊」ボタンを押す
３）「OK」ボタン−属性−４）属性値の入力
メイン Window の下半分の属性値一覧の該当するテキストボックスに
Str：学校名称
Info：学校をそれぞれ入力
それ以外の属性値は後で計算，入力−−
これを繰り返して，全ての学校位置情報を入力③ダイエー情報
リスト設定は同じ
ダイエー位置情報を入力する−−
０）EditList−AddFigure-Point を実行すると座標入力ダイアログが現れる
１）それぞれの入力したい地点を地図上でマウスクリック
２）ダイアログ中の「＊」ボタンを押す
３）「OK」ボタン−属性−４）属性値の入力
メイン Window の下半分の属性値一覧の該当するテキストボックスに
Str：ダイエー
Info：ダイエー
を入力−−

ｄ）各種属性情報の入力①行政界情報□Info 情報の初期化
１）行政界図形のみ選択
EditList-ClearSelectFg で選択状態を初期化
EditList-ConditionalSelect でinfo(1)=行政界を指定

２）一括入力7

Exec-LumpImputPar で info=行政界,0,0,0,0,0,0,0を指定^^^^^^^^^^^^^^^^^^^^^^

初期化文字列−−
初期化文字列は，属性情報の詳細設計において作成した属性数分の値を設定
初期値は任意−−３）完了
行政界図形の Info の属性値を初期化完了
Tips）

info=”とすることでプロパティの置換が行なえる□面積の計算一括入力機能で計算と同時に入力
１）行政界図形のみ選択
EditList-ClearSelectFg で選択状態を初期化
EditList-ConditionalSelect でinfo(1)=行政界を指定

２）一括入力Exec-LumpImputPar で info(2)=/(Int(*(Areas,10000)),100)

を指定

３）完了
−−
行政界図形の Info に

行政界,面積(ha)”が入力できたTips）info(0)で既存情報の直後に計算結果を追加することができる
既に数値が入力済みの場合は，(0)の代わりに(n)でｎ番目の情報に追加□男性数，女性数，世帯数の入力
１）該当する行政界図形を選択
２）Info プロパティの Edit ボタン
式に

info(3)=** で男性数入力
info(4)=** で女性数入力
info(6)=** で世帯数入力

３）繰り返す−−Tips）「該当図形の選択」
地図上で図形を選択するには，
１：該当図形の頂点や線分上をマウスでクリック
２：MainWindow の「Snap」ボタンを押す
３：ヒットすればその図形に List のカレントが移動する□総人口の入力
１）行政界図形のみ選択
EditList-ClearSelectFg で選択状態を初期化
EditList-ConditionalSelect でinfo(1)=行政界を指定
8

２）一括入力
Exec-LumpImputPar で info(5)=+(info(3),info(4))

を指定

男性数，女性数のそれぞれの属性値を info(n)のｎで指定
３）完了□人口密度の入力
１）行政界図形のみ選択
EditList-ClearSelectFg で選択状態を初期化
EditList-ConditionalSelect でinfo(1)=行政界を指定

２）一括入力Exec-LumpImputPar で

info(8)=Round(/(info(5),/(info(2),100)))

男性数，女性数のそれぞれの属性値を info(n)のｎで指定
３）完了②学校位置情報□Info 情報の初期化
１）行政界図形のみ選択
EditList-ClearSelectFg で選択状態を初期化
EditList-ConditionalSelect でinfo(1)=学校を指定

２）一括入力Exec-LumpImputPar で

info=学校,0,0,0

を指定

３）完了
図形の Info の属性値を初期化完了□学生数の入力
１）該当する図形を選択
２）Info プロパティの Edit ボタン
式に

info(2)=** で入力

３）繰り返す③（１）ダイエー位置情報□Info 情報の初期化
１）行政界図形のみ選択
EditList-ClearSelectFg で選択状態を初期化
EditList-ConditionalSelect でinfo(1)=ダイエー

を指定

２）一括入力Exec-LumpImputPar で info=ダイエー,0,0,0,0,0,0
３）完了
図形の Info の属性値を初期化完了

9

を指定

を指定

ｅ）図形の検索□条件を満たす図形を現在のカーソル位置から検索する−−
学校を検索
１）EditList−Search を実行
２）条件式を入力
info(1)=学校と入力

発見時は，その位置へカーソルが移動
Tips）学校に続けて
info(1)=学校,ダイエーとすれば，info(1)の情報が，学校かダイエーの図形（コマンド）を検索
Tips）また，
info(2):20,1000とすればinfo(2)の情報（数値）が 20 以上 1000 未満を検索
他の書式はⅢ章を参照
３）一度設定した条件式は保持されている同一条件で再検索したい場合は，
EditList-SearchNextｆ）図形の選択□条件付選択−−学校を選択
０）選択状態初期化
まず，EditList-Clear SelectFg でコマンドリストの選択状態を初期化する
選択コマンド数が０になっていることを確認する
１）EditList-ConditionalSelect２）条件式入力
検索条件と同じ式
info(1)=学校と入力

ただし，接頭語に"&"，"|"を使用することで＆は，現在選択状態のコマンドから絞り込み選択｜は，現在選択状態のコマンドに加えて OR 選択
を指定可能
−−
10

学校の中から学生数４０００人以上のもの
０）選択状態の初期化はしない
１）EditList-ConditionalSelect２）条件式&info(2):4000,*と入力：

は，数値範囲を指定するための記号（＝の代わり）＊

は，以上を示す−−□任意の空間図形による選択−−
０）選択状態の初期化
１）EditList-SpatialSelect-Interior
２）今から入力する図形（デフォルトは矩形：rect）でこのコマンドの場合，「内側に含まれる図形」を選択することになる
３）矩形の頂点を入力（EditPos ダイアログが現れる）
Tips）このとき，図形種類「rect」ラベルをクリックすると入力する図形を変更できるTips）すべての図形を対象にせず，特定の図形を対象にしたい場合は，あらかじめ対象にしたい図形を選択状態にしておき，１）へ
このとき，０）選択状態の初期化は実行しない．
−−
カレント図形による選択
０）選択状態の初期化
必要に応じて
１）選択に使いたい図形をカレントにする
２）「Calc」ボタンで計算式（実行コマンド式）を入力
例えば，
A:SpatialIndexList(Interior)や
B:SpatialSelect(Interior,0) ＃ "0"はなんでも良い
３）選択される
ResultBox には
A:の場合選択したオブジェクト番号のリスト

B:の場合

０

が入る
−−
地図から該当する図形を選択する方法
１）その図形の頂点や境界線近くをマウスクリック
２）Shift＋「Snap」
11３）その図形を選択状態にできるTips）通常の Snap だけだと，その図形にカーソルを移動するだけ−−Tips）選択図形のみの表示
１）View−FiguresObjects で表示状態を一度「OFF」
２）あらためて「ON」
これにより現在選択されている図形のみを表示できる
３）もとにもどす（全図形を表示する）には View-RefreshFigure を実行ｇ）空間解析

□各行政界ごとの学校数の計算
０）選択状態を初期化
１）計算式のチェック
適当な「行政界」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）
０

ConditionalSelect(①→(info(1)=学校),②→

ListNum(③→

SpatialIndexList(Interior)

④→
⑤→

)
)

−−
０：「①の条件を満足するコマンドを選択する」コマンド①：種別が「学校」と言う条件〜必ず（）で括ること②：③のカンマ区切りリストのデータ数を返す関数③：カレント図形の内側に存在する図形の IndexNo のリストを返す関数④：②のカッコ⑤：０のカッコ−−※：ConditionalSelect((info(1)=学校),ListNum(SpatialIndexList(Interior)))−−２）「行政界」を選択状態にする
３）Exec-LumpInputPar
info(7)=ConditionalSelect((info(1)=学校),ListNum(SpatialIndexList(Interior)))を入力する−−
それぞれの行政界図形の info(7)に結果が代入される□各行政界ごとの大学の数を計算
０）選択状態を初期化
12１）計算式のチェック
適当な「行政界」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）
０

ConditionalSelect(①→(Instr(str,大学):0,+),②→

ListNum(③→

SpatialIndexList(Interior)

④→

)

⑤→

)

−−
０：「①の条件を満足するコマンドを選択する」コマンド①：名称（str）情報に「大学」が含まれると言う条件〜必ず（）で括ること②：③のカンマ区切りリストのデータ数を返す関数③：カレント図形の内側に存在する図形の IndexNo のリストを返す関数④：②のカッコ⑤：０のカッコ−−※：ConditionalSelect((Instr(str,大学):0,+),ListNum(SpatialIndexList(Interior)))−−２）「行政界」を選択状態にする
３）Exec-LumpInputPar
info(0)=ConditionalSelect((Instr(str,大学):0,+),ListNum(SpatialIndexList(Interior)))とすれば，それぞれの行政界図形の info に結果が代入される−Tips）大学数代入用の属性は定義していないので info 属性に追加代入する方法
info(0)=とすればよいinfo 属性の最後尾に情報が追加代入される
この場合，info９番目の属性になる□行政界ごとの学生数の計算
０）選択状態を初期化
１）計算式のチェック
適当な「行政界」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）
０

ConditionalSelect((info(1)=学校),①→

SpatialSelect(Interior,②→

SelectedCalc(Sum,③→

info(2)

④→

)

⑤→
⑥→

)
)
13

−−
０：「条件を満足するコマンドを選択する」コマンド／学校を選択①：「選択状態でカレント図形の内含（Interior）図形を選択する」コマンド②：「選択状態にある図形の合計（Sum）を計算する」関数③：計算に使用する式（info(2)）④：②のカッコ⑤：①のカッコ⑥：０のカッコ−−※：ConditionalSelect((info(1)=学校),SpatialSelect(Interior,SelectedCalc(Sum,info(2))))−−２）「行政界」を選択状態にする
３）Exec-LumpInputPar
info(0)=ConditionalSelect((info(1)=学校),SpatialSelect(Interior,SelectedCalc(Sum,info(2))))を入力する−−
それぞれの行政界図形の info に結果が代入される
この場合，info の１０番目の属性になる□各学校の存在する町丁目０）選択状態を初期化
１）計算式のチェック
適当な「学校」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）
０

ConditionalSelect((info(1)=行政界),①→

SpatialSelect(Containor,②→

SelectedCalc(Par,

③→

str

④→

)

⑤→
⑥→

)
)

−−
０：「条件を満足するコマンドを選択する」コマンド／学校を選択①：「選択状態でカレント図形の内含図形を選択する」コマンド②：「選択状態にある図形の合計（Sum）を計算する」関数③：計算に使用する式（info(2)）④：②のカッコ⑤：①のカッコ⑥：０のカッコ−−※：ConditionalSelect((info(1)=行政界),SpatialSelect(Containor,SelectedCalc(Par,str)))
14−−２）「学校」を選択状態にする
３）Exec-LumpInputPar
info(3)=ConditionalSelect((info(1)=行政界),SpatialSelect(Containor,SelectedCalc(Par,str)))を入力する−−
それぞれの学校図形の info(3)に結果が代入される□各学校のダイエーまでの直線距離の計算
０）選択状態を初期化
１）ダイエーのポイント図形の Index を調べる
ダイエー地点をスナップ
地図上のダイエー地点をマウスクリックして「Snap」ボタン
スナップされたリストから Index を把握
Ex.Index 番号＝２（作成順序などによって異なる場合があるので注意）
２）計算式のチェック
適当な「学校」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）
０

Int(

①

+(

②

*(

③

Distance(Index,2),

④

1000

⑤

),

⑥

0.5

⑦

)

⑧

)
−−
０：「数値を切り捨て」関数①：②③④⑤の結果
②：③

＊

＋

⑥

を計算

④

③：番号が Index の図形（カレント図形）と２の図形間の距離(km)の計算関数④：ｋｍからｍへ変換⑤：②のカッコ⑥：四捨五入の係数⑦：①のカッコ⑧：０のカッコ−−※：Int(+(*(Distance(Index,2),1000),0.5))−−
２）「学校」を選択状態にする
15３）Exec-LumpInputPar
info(4)=Int(+(*(Distance(Index,2),1000),0.5))を入力する−−
それぞれの学校図形の info(4)に結果が代入される□「ダイエー」と「学校」との間の各種計算−−「ダイエー」から最近（最遠）の学校名
０）選択状態を初期化
１）計算式のチェック「ダイエー」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）−−
０

ConditionalSelect((info(1)=学校),①

IndexRefer(②

SpatialIndexList(Nearest),

③

str

④

)

⑤

)
−−
０：「学校」図形を選択①：②の Index 番号のコマンドの③の Formula を返す関数②：カレントの図形に最寄の図形の Index 番号を返す関数③：str 属性④：①のカッコ⑤：０のカッコ−−※：ConditionalSelect((info(1)=学校),IndexRefer(SpatialIndexList(Nearest),str))−−②の Nearest を Farthest に変更すれば最遠図形を捉えられる

２）info の「Edit」ボタン「ダイエー」図形をカレントにして「Edit」ボタンでinfo(2)=ConditionalSelect((info(1)=学校),IndexRefer(SpatialIndexList(Nearest),str))を入力する（最遠図形の場合は，info(3)とする）−−「ダイエー」から最近（最遠）の学校への直線距離０）選択状態を初期化
１）計算式のチェック「ダイエー」図形をカレントにして，「Calc」で予備計算を実施する
16

式（これを全て続けて記述）−−
０

ConditionalSelect((info(1)=学校),

①

Int(

②

*(

③

Distance(Nearest),

④

1000

⑤

)

⑥

)

⑦

)
−−
０：「学校」図形を選択①：②③④⑤の計算結果を少数以下切り捨て②：③×④を計算③：カレント図形から最寄（Nearest）図形を返す関数④：1000 でｋｍをｍに変換⑤：②のカッコ⑥：①のカッコ⑦：０のカッコ−−※：ConditionalSelect((info(1)=学校),Int(*(Distance(Nearest),1000))−−②の Nearest を Farthest に変更すれば最遠図形を捉えられる

２）info の「Edit」ボタン「ダイエー」図形をカレントにして「Edit」ボタンでinfo(4)=ConditionalSelect((info(1)=学校),Int(*(Distance(Nearest),1000))を入力する（最遠図形の場合は，info(5)とする）−−「ダイエー」から全ての「学校」までの直線距離の平均０）選択状態を初期化
１）計算式のチェック「ダイエー」図形をカレントにして，「Calc」で予備計算を実施する
式（これを全て続けて記述）
−−
０
①
②
③

ConditionalSelect((info(1)=学校),
Int(*(
SelectedCalc(

④

Ave,

⑤

Distance(Index,2)
17

⑥

)

⑦

1000

⑧

)

⑨

)
−−
０：「学校」図形を選択①：②③④⑤⑥⑦の計算結果を少数以下切り捨て②：③④⑤⑥×⑦③：現在選択状態にある全コマンドに対して，それぞれのコマンドの⑤の式による計算値の平均値（④の Ave）を計算する④：平均値計算を指定するパラメータ⑤：カレント Index 図形と Index＝２の図形（ダイエーの Index）との間の距離を返す関数⑥：③のカッコ⑦：1000 でｋｍをｍに変換⑧：①のカッコ⑨：０のカッコ−−※：ConditionalSelect((info(1)=学校),Int(*(SelectedCalc(Ave,Distance(Index,2),SelectedIndexList),1000)))

２）info の「Edit」ボタン「ダイエー」図形をカレントにして「Edit」ボタンでinfo(6)=ConditionalSelect((info(1)=学校),Int(*(SelectedCalc(Ave,Distance(Index,2),SelectedIndexList),1000)))を入力する．

ｈ）主題図作成□主題図作成のコツ

MPS スクリプトで各種主題図を作成する基本的な手順は以下のとおりである．
１）Group コマンドで図形の書式を設定する（Gid 番号でこの書式を参照する）
２）その Gid 番号を該当する図形の Gid にセットする
３）この繰り返し

こうして作成した MPS スクリプトを ProAtlas で表示することで主題図を作成する

MpsEditor では，こうした一連の手順を支援する機能を持っている18

○Group コマンドのパラメータ設定
Group コマンドの各パラメータを簡単に設定できる
共通ダイアログボックスやコンボボックスを使用○各図形コマンドのパラメータ値により GID を自動設定
Group コマンドの Gname プロパティに，自動設定に使用する図形のパラメータ名とその範囲を記述する
Ex.
info(2):10,*

で info(2)の値が１０以上（条件式と同一書式）

Gname に記述した条件にしたがって各コマンドの Gid を自動設定が可能○設定した Group コマンドに従った凡例作成
また，Group コマンドにしたがって凡例を自動生成できる
ProAtlas と同時表示が可能

ただし，同一ファイル内の不要図形および文字の非表示設定はMPS スクリプトの仕様によりできないため，各種計算済みの MPS ファイルをベースにして不要図形，文字を削除したファイルを別名保存しなければならない□レンジ主題図（人口密度）〜MpsEditroSample1.Mps−−
行政界のみ表示（それ以外は非表示）
人口密度は info(8)に計算済み−−０）ベースファイルの読込と別名ファイル名保存
MpsEditorSample0.Mps（各種計算等完了ファイル）を読み込み，
MpsEditroSample1.Mps で別名保存する
以降は，適宜，上書き保存する
１）学校，ダイエーを削除
学校，ダイエーを選択して，削除＃

info(1)=学校,ダイエー〜

EditList-Cut

で ConditionalSelect２）人口密度の最大値，最小値，平均値を調べる
行政界図形を選択
適当な行政界図形をカレントにする「Calc」ボタンでSelectedCalc(Max,info(8))を実行すれば最大値（15547）「Calc」ボタンでSelectedCalc(Min,info(8))を実行すれば最小値（768）「Calc」ボタンでSelectedCalc(Ave,info(8))を実行すれば平均値（約 5092）

３）人口密度によってレンジを設定する
第１レンジ

0 から 2500

第２レンジ

2500 から 5000

第３レンジ

5000 から 10000
19

第４レンジ

10000 以上

４）レンジにしたがって Group の定義
List 中の適当なところ（ここでは Disp コマンド直前にする）でEditList−AddCommand-Displays-groupで生成

Gname にそれぞれのレンジを「条件式」と同じ書式で設定する−
それぞれの Group コマンドのパラメータをセットしたら，「group」ボタンを押すことで，List が更新される
−
Gid

1

Gname

info(8):0,2500〜

info(8)の値が０以上で 2500 未満

Areargb

0,0,255〜

青Areastylehatch#5〜

クロス網掛けTextstyle

plain

〜

文字のみ

Bodrrgb

0,0,255

Bodrstyleline#0〜実線

Bodrwidth

1

−
Gid

2

Gname

info(8):2500,5000〜 info(8)の値が 2500 以上で 5000 未満

Areargb

0,255,255 〜

Areastylehatch#5〜

クロス網掛けTextstyle

plain

〜

文字のみ

Bodrrgb

0,255,255

Bodrstyleline#0〜実線

Bodrwidth

1

水色

−
Gid

3

Gname

info(8):5000,10000〜 info(8)の値が 5000 以上で 10000 未満

Areargb

255,255,0 〜

Areastylehatch#5〜

クロス網掛けTextstyle

plain

〜

文字のみ

Bodrrgb

255,255,0Bodrstyleline#0〜実線

Bodrwidth

1

黄色

−
Gid

4

Gname

info(8):10000.*〜 info(8)の値が 10000 以上

Areargb

255,0,0〜赤色

Areastylehatch#5〜

クロス網掛けTextstyle

plain

〜

文字のみ
20

Bodrrgb

255,0,0Bodrstyleline#0Bodrwidth

1

〜

実線

−
５）各図形に Group コマンドの Gid の自動設定
行政界図形を選択
Exec-LumpInput[gid]-SetGidByAllGroup でList 内の全 Group コマンドの Gname にしたがって全図形の Gid を自動セットできる
６）プロアトラスでの表示
View-PreViewProAtlas で表示
View-SetLegend-SetAllGroupToLeg.で凡例表示＃

List 内の全 Group コマンドで凡例を自動生成する□円シンボルサイズ可変主題図（学生数）〜MpsEditroSample2.Mps−−
学校 Point 図形から学校円図形を生成
それぞれの円図形の半径を学生数で表現する
その他の図形は非表示（削除）
学生数は info(2)に計算済み−−０）ベースファイルの読込と別名ファイル名保存
MpsEditorSample0.Mps（各種計算等完了ファイル）を読み込み，
MpsEditroSample2.Mps で別名保存する
以降は，適宜，上書き保存する
１）行政界，ダイエーを削除
行政界，ダイエーを選択して，削除＃

info(1)=行政界,ダイエー〜

EditList-Cut

で ConditionalSelect２）学校 Point 図形から円図形を生成，学校 Point 図形の削除
学校を選択状態
EditList-AddFigure-CenterCircle でそれぞれの学校図形の１つ上の List に円図形が生成される＃それぞれの円図形には，元の学校図形と同じ属性が自動でセットされる

学校 Point 図形を削除
３）最大値，最小値，平均値を調べる
学校円図形を選択
適当な学校円図形をカレントにする「Calc」ボタンでSelectedCalc(Max,info(2))を実行すれば最大値（5000）「Calc」ボタンでSelectedCalc(Min,info(2))を実行すれば最小値（150）「Calc」ボタンでSelectedCalc(Ave,info(2))を実行すれば平均値（1430）

４）学生数を半径に変換する式を決定・半径の入力
21

ｒ＝学生数×０．０５（ｍ）＃

最大＝２５０ｍ

計算式＃*(info(2),0.05)とする

最小＝７．５ｍを

平均＝７１５ｍ各図形のｒの半径となるに一括入力

r=*(info(2),0.05)−
大きさの確認View-Figures「ON」にすることで表示できる
ただし，この表示では擬似円（□に×表示）
正確に表示したい場合はView-PreViewProAtlas を「ON」にする−
５）学校円表示のための Group の定義
List 中の適当なところ（ここでは Disp コマンド直前にする）でで生成

EditList−AddCommand-Displays-group−

それぞれの Group コマンドのパラメータをセットしたら，「group」ボタンを押すことで，List が更新される＃

テキストボックスを直接編集した場合は，ENTER キーでも OK＃「Edit」ボタンでダイアログ編集したときは，再度「Edit」か ENTER キー

−
Gid

1

Gname

学生数（100ｍ＝2000 人）

Areargb

0,0,255〜

青Areastylehatch#5〜

クロス網掛けTextstyle

plain

〜

文字のみ

Bodrrgb

0,0,255

Bodrstyleline#0〜実線

Bodrwidth

1−６）各図形に Group コマンドの Gid 設定
行政界図形を選択
Exec-LumpInputPar で List 内の全図形の Gid を「１」にセットできる
７）プロアトラスでの表示
View-PreViewProAtlas で表示
View-SetLegend-SetAllGroupToLeg.で凡例表示＃

List 内の全 Group コマンドで凡例を自動生成する□ダイエーからの等直線距離図−−
２５０ｍピッチの同心円を赤色
行政界は非表示22

学校位置は，マークの表示，文字は青色−−０）ベースファイルの読込と別名ファイル名保存
MpsEditorSample0.Mps（各種計算等完了ファイル）を読み込み，
MpsEditroSample3.Mps で別名保存する
以降は，適宜，上書き保存する
１）行政界
行政界を選択して，削除〜

EditList-Cut２）ダイエー同心円
ダイエーを Snap して，EditList-AddFigure-CenterCircle で円図形生成
円図形 Str の

ダイエー

を削除

これを４つ作成−−
半径を一括入力
このダイエー同心円を選択
一括入力で

r=Inc(250,250)

＃

２５０

初期値

で

を実行

２５０増分

−−
３）Group コマンドの定義と設定−−
ダイエー同心円
List 中の適当なところ（ここでは Disp コマンド直前にする）でEditList−AddCommand-Displays-group

で生成

−
gid

1

gname

ダイエー同心円（250m）

bodrrgb

255,0,0＃Edit ボタンでダイアログで入力も可

bodrstyleline#0＃

Edit ボタンでコンボボックスで入力も可

bodrwidth2

areargb

255,255,255 ＃ Edit ボタンでダイアログで入力も可

他はデフォルトのまま−
ダイエー同心円を選択し，gid=1

を一括入力

−−
学校
List 中の適当なところ（ここでは Disp コマンド直前にする）でEditList−AddCommand-Displays-group

で生成

−
gid

2

gname

学校

pointstyle

mark#14700
23textstyleplain

textrgb

0,0,255−
学校を選択し，gid=2

を一括入力

−−

□ダイエー学校間平均距離境界線図−−
計算済みの info(6)を半径にした円を描けばよい
ベースはダイエー同心円のファイルで，同心円を描く代わりに r=info(6)の円を描く
円の色を緑色にする−−
０）ベースファイルの読込と別名ファイル名保存
MpsEditorSample3.Mps を読み込み，
MpsEditroSample4.Mps で別名保存する
以降は，適宜，上書き保存する
１）ダイエー同心円の削除
ダイエー同心円を全選択して，削除
２）境界線の円
ダイエーを Snap して，EditList-AddFigure-CenterCircle で円図形生成
円図形 Str の

ダイエー

を削除

−−
r パラメータに info(6)を入力
ｒパラメータの「Edit」ボタン，式「r=info(6)」で入力できる−−
３）Group コマンドの定義と設定−−
境界線の円を選択し，gid に

1

を入力

−−
Gid=1 の Group コマンドを選択
gname を

ダイエー学校間平均距離とする

bodrrgb に 0,255,0 をセット（緑色）他は，変更無し−−ｉ）その他の機能□外部属性データの参照，出力−−24◎Excel データの参照方法「Excel()」関数を使って外部の EXCEL ファイル内のデータを参照できる
Ex.
Excel((MpsEditorSample.xls),学校,学校統計,3,str)〜

MpsEditorSample.Xls ファイルの
シート名
範囲名

が
が

学校の
学校統計

の範囲に対して

str 値で１列目の値を検索し該当する３列目の値を返す−−
適当な学校図形をカレントにしてCalc ボタンで上記式を入力すればExcel ファイルが起動し，該当する学校名の 3 列目のデータがResultBox に表示される−−
注意）
・ParVal には，文字列でも数値でもよい
・自動起動した Excel は，Excel の方では絶対に終了させないこと＃

MpsEditor の終了時に自動終了する

ただし，起動されたファイルの変更，修正は自由に行なうことができる−−◎テキストファイル「File()」関数を使って外部のファイル内のデータを参照できる
Ex.
File((MpsEditorSample.txt),oid,1)〜

MpsEditorSample.txt ファイルのデータ中の左端数値
１列目のデータがoidと同一の行のを返す．

注意）・データテーブルは，カンマ区切り
・データテーブルの左端のデータ（LinkID 値）は，数値
ただし，複数の LinkID 値がテーブル中に存在する場合，最後尾情報となる・データ列数は，LinkID 列を含めて１６列まで−−◎テキストファイルでの書出し「File-SaveAttribute」

で各コマンドの属性値やパラメータをファイルに書出し保存できる
保存対象のコマンドは，選択状態にあるコマンドだけ，全てのコマンド

〜

全て非選択

か

全て選択

で指定可能
25

状態にする

Ex.
info(1),str〜

info(1)の値と str の値のカンマ区切りのテーブルが出力される

注意）
・出力する属性リストを

カンマ区切りの複数の式（属性式）

で指定する

・計算不能の式の場合は，「属性式」のまま出力される□その他の図形−−◎重心点位置の円図形
EditList-AddFigure-CenterCircle コマンド「ｈ）主題図作成」を参照−−◎重心点位置のポイント図形
EditList-AddFigure-CenterPoint

コマンド「ｈ）主題図作成」の円図形と同様にして作成できる□コマンドライブラリ−−◎コマンドライブラリへの登録・参照
作成した図形やコマンドをライブラリに登録したり，そのコマンドを参照したりできる．
List 下のコンボボックスがライブラリリストである．
登録＝＞「EditList-StockToCommandLib.」を実行

リストの最後尾に追加

参照＝＞

コンボボックスで参照したいコマンドを選択
横の「AddCmd」ボタンで List 中のカレント位置へ追加できる□List の操作，検索◎リスト順序の操作
List 横にある▲▼ボタンで，カレントコマンドもしくは

選択コマンドを上下に移動できる◎コマンドの並べ替え
EditList-SortList で，List を並べ替えできる
Up

〜

昇順

Douwn

〜

降順

(Figure)〜図形のみ

並べ替えに使う値は，「式」を入力する−−
並べ替えの対象となるコマンドは，
26

全て非選択の場合は，全コマンド
１つ以上選択状態にある場合は，選択コマンドのみ◎外部 MPS ファイルからの参照
・追加
File-Append

でファイルを指定して，現在開いているファイルに追加

・エディタから
エディタなどテキスト形式のデータをクリップボード経由で追加−−
コマンドの先頭から";"まで（コマンド１行分）を選択し，コピー
MpsEditor 上で挿入したい位置にカレントを移動し，EditList-PasteFromClipBord で，追加
・MpsEditor にて
参照元の Mps ファイルを MpsEditor で開く
必要な部分を選択の後，「Copy」する
参照元ファイルを閉じて，参照先のファイルを開く
挿入したい位置にカレントを移動し，EditList-Paste で，追加

□図形編集（Edit-ModifyFigure）◎平行移動（Move）
図形上の任意の点を基準に平行移動−−
１）メニューを選択
２）平行移動する図形上の任意の点を指定
地図上をマウスでクリック「Org」ボタンを押す
３）その点の平行移動先を指定
このとき，既存の図形上の任意の点も指定可能（頂点合わせ）
地図上をマウスでクリック「Dst」ボタンを押す
４）確認メッセージ「OK」で平行移動−−Tips）途中でキャンセルしたい場合は，
EditList-SnapObject(F1)で初期状態に戻る◎図形分割（Divide）
図形上の任意の点で分割分割できる図形は，Area，Line，Rect のみ−−
１）メニューを選択
27２）図形上の任意の点を指定
地図上をマウスでクリック「Div」ボタンを押す
３）確認メッセージ「OK」で平行移動−−Tips）途中でキャンセルしたい場合は，
EditList-SnapObject(F1)で初期状態に戻る◎頂点結合（Convine）
図形上の端点で結合結合できる図形は，Line，Point のみ−−
１）メニューを選択
２）図形上の端点（始点もしくは終点）を指定
地図上をマウスでクリック「Snp1」ボタンを押す
３）その点と結合する端点（Line か Point）
地図上をマウスでクリック「Snp2」ボタンを押す
４）確認メッセージ「OK」で結合Line 自身の２端点を指定した場合は Area に変換−−
Tips）途中でキャンセルしたい場合は，
EditList-SnapObject(F1)で初期状態に戻るｊ）まとめ□MpsEditor 利用における要点

・属性情報
複数の属性データをそれぞれの MPS コマンドの１パラメータで扱うためにその参照は，配列変数の形で行なう

・レイヤ構造現在の MPS 仕様ではレイヤ構造を持たないために各種解析を実施する場合の解析対象図形の絞込みは，
その選択・非選択状態の変更により行なう．

・主題図
28

目的に応じた主題図は，Group コマンドを作成することで設定する
それぞれの設定は，目的ごとに別ファイルで保存する
基礎データを全て作成（計算など）した MPS ファイルに対して目的の主題図設定を Group コマンドで設定し，それを別ファイルとして保存□データの精度
生成した図形の精度は，基本的に ProAtlas の精度に依存する
また，MPS スクリプトで保持できる最小座標単位は０．１秒でこれは，約３ｍの精度まで表現できるｋ）練習問題□ある学校に着目して・その学校から最近，最遠の学校名は？
・その学校から最近，最遠の学校までの直線距離は？
・その学校から他の学校への平均直線距離は？

□ダイエーに着目して・ダイエーから直線距離で７００ｍ以内の距離にある学校数は？
・ダイエーから直線距離で７００ｍ以上の距離にある学校数は？
・ダイエーから直線距離で３００ｍ以上，８００ｍ以内にある学校数は？
・ダイエーから直線距離で７００ｍ以内の距離にある学校名リストは？
・ダイエーから直線距離で７００ｍ以上の距離にある学校名リストは？
・ダイエーから直線距離で３００ｍ以上，８００ｍ以内にある学校名リストは？

□行政界に着目して
・１７行政界の全人口の計算
・各行政界人口の（１７行政界の全人口）に対する割合によるレンジ主題図
・属性値でのレンジ主題図，円シンボルサイズ可変主題図
例

チュートリアルでは「人口密度」でレンジ主題図を作成した
これを，円シンボルサイズ可変主題図で描く
その他の属性値を使って同様の各種主題図を描く________________________________________________________________
July 14, 2000
GIS-Lab. (http://gis.umds.ac.jp)
Copyright(c)1999-2000 Tetsuo MITANI.
All right reserved.
-------------------------------------------------UMDS(http://www.umds.ac.jp)

29