Comments
Description
Transcript
応用スキーマの設計 - stinfodesign.net
4. 応用スキーマの設計 Morishige Ota (太⽥田守重) at Chuo University from April to July, 2015 クイズ3について 東京の住宅地の地価が最も高い場所は 2015年3月現在 東京都千代田区六番町6番1外 1平方メートル当たり315万円 hCp://www.nikkei.com/arIcle/DGXLASFB11H8G_S5A310C1GJ0100/ 一般的には,住宅地の価格は,周囲の環境や, 生活のしやすさできまるが,最も高価な場所は. むしろ「番町(麹町)」のネームバリューで決まった ようである. 日本の都市政策としては,土地の用途に応じて, 用途地域規制で商業,工業,住宅などの,土地利 用の仕方を規制している. hCp://www.mlit.go.jp/crd/city/plan/03_maI/04/ 答えは一応,b,b,b となる. 前回は何をしたか? 応用スキーマの改良 属性の追加 操作の実行 応用スキーマ中のレストランの属性に, メモ型をとる「ご案内」と, 実数をとる派生属性「面積」を追加し, さらに,面積を求める「getArea」という操作を 定義した. これによって,ご案内の文章を記録し, レストランの面積を求めることができた. 応⽤用スキーマの中の,地物型定義の概要 Feature Type ページの 地物型定義欄 地物型の名前 UMLを使った 地物型の表記 レストラン 属性の一覧 形状:SG_Surface 名前:CharacterString ご案内:Memo /面積:Real getArea(): Real 操作の一覧 UMLでは型 (type) のこと をクラス (class) という! 今回は,何をする? 地物同士の関係の記述 関係には,継承と関連がある. 継承とは,地物が,別の地物の性質を受け継ぐこと 関連とは,共通のコンテキスト(全体と部分,所有,利害の 一致など)を背景とする,地物同士の結びつき 継承 (inheritance) 住宅用地は土地です. だから,住宅用地は,土地がもっている性質をもっている. 言い換えれば.住宅用地は,土地の性質を継承する. さらに,住宅用地は,その土地が「住宅用である」という,固有 の性質をもつ. 具体的には,種類(専用,併用)などは住宅用地固有の属性. hCp://www.tax.metro.tokyo.jp/shitsumon/tozei/index_o.htm#o20 住宅用地 土地 継承の UML 表現 土地 形状:SG_Surface 住宅用地 種類:CharacterString イタリック体の表記は,その型が 抽象型であることを示す. △は継承の記号 住宅用地は,土地がもつ属性, つまり形状を,自分の属性として 受け継ぐ,という意味 関連 (association) 土地がなければ建物は立たない. 住宅用地に立つ建物の役割は必ず住宅. だから,住宅用地と住宅は関連する. OFFICE 住宅用地 A 住宅用の土地ではない! 関連の UML 表現 用地to住宅 関連先 (to) 地物 関連元 (from) 地物 住宅用地 種類:CharacterString 1..* 住宅 建物 形状:SG_Surface 階数:Integer →は関連の方向をしめす. 関連の省略表記 住宅用地は,用地to住宅という A ・・・ C B ・・・ 関連によって,一棟以上の 住居という役割をもつ 属性や操作がない場合は, 関連の名前だけにしてもいい. 建物に関連する. 実例例:容積率率率を求めよう! 容積率 (plot raIo) = 建物の延べ床面積/土地の面積 = 底地の面積*階数/土地の面積 容積率は都市計画の規制に使う(次のペー ジ参照). 土地の面積は,住宅用地が継承 する土地の形状から求めること ができる. 土地 形状:SG_Surface 用地to住宅 /容積率:Real getPlotRaIo():Real 住宅用地 種類:CharacterString 1..* 住宅 建物 形状:SG_Surface 階数:Integer 新宿区:『みんなのGIS』より hCp://www.sonicweb-‐asp.jp/shinjuku/ この場所では,容積 率 300% 以上の建物 を立ててはいけない. 容積率率率を求めるには・・・ 1.応用スキーマの実装 2.応用スキーマに従う kit の作成 3.容積率の計算 1.応⽤用スキーマの作成 土地 形状:SG_Surface 用地to住宅 /容積率:Real getPlotRaIo():容積率 住宅用地 種類:CharacterString 1..* 住宅 giCokのModelerページを使って, まず,地物型を定義しよう. 建物 形状:SG_Surface 階数:Integer 1.1. ⼟土地の定義 Modeler > Feature Typeにおいて,Feature Typeは「土地」, 抽象型なのでisAbstractをチェック.土地の定義を記入して,edit ACributesボタンを押す. ACribute Typeページでは,SG_Surface をデータ型にして,「形状」を add 1.2. 住宅宅⽤用地の定義 Modeler > Feature Typeにおいて,Feature Typeは「住宅用地」にする.次に住宅用地の定義を記入. 右下のfeature types欄で「土地」を選択し,as parent ボタンを押す.すると,「土地」が親の地物型に なる. edit aCribute ボタンを押して, CharacterString型をとる「種類」を宣言. 土地から継承した,「形状」を住宅用地 のproxyにするので,「形状」を選択して, select proxy ボタンを押す. proxyって何? Geometry ページなどで,地物インス タンスの代理になる属性のこと. 1.3. 建物の定義 Modeler > Feature Typeにおいて, Feature Typeは「建物」にする.次に建物 の定義を記入. edit aCributes ボタンを押して, SG_Surface 型をとる「形状」及び, Integer型をとる「階数」を宣言. proxy は形状にしよう. 1.4. ⽤用地to住宅宅の定義 (1) 操作手順は次 のページをみよ. 1.4. ⽤用地to住宅宅の定義 (2) Modeler > AssociaIon Typeを開いて,AssociaIon Typeを「用地to住宅」にする. 左上のfeature types欄から住宅用地を選択し,from ボタンを押す.次に建物を 選択し,to ボタンを押す.これによって,「用地to住宅」は住宅用地から建物へ の関連であることが宣言された. toボタンを押すと,右側に「建物」が現れるので,associateが選択されていること を確認して,その下のmulIplicityをチェックし,role(役割)を住宅にする.これに よって,関連先の建物住宅という役割をもち,住宅は住宅用地上に複数有る場 合があることが,宣言された. edit aCributesボタンを押して,Real型をとる派生属性(derived)として「容積率」 を定義する. 次に,edit operaIonsを押すと,次のスライドに示すページが現れる. 1.4. ⽤用地to住宅宅の定義 (3) AssociaIon Type > OperaIon Typeを開き, 左上のprovided opearaIons 欄で RaIo > getPlotRaIo を選択する. (plot raIo は,容積率のこと). 右上のself ボタンが選択され,「用地to住宅」 が表示されていることを確認して, aCribute types欄で「容積率」を選択する. そして,左下のset return aCribute typeボタン を押す.すると,容積率が表示される. 1.4. ⽤用地to住宅宅の定義 (4) 右上のfrom ボタンを押して,「住宅用 地」が表示されることを確認して, aCribute types欄の「形状」を選択する. 次に,arguments 欄の「landShape」を選 択する. さらに,右下のaddボタンを押すと, aCribute argument pair欄に, landShapeと形状が対にになること,形 状は関連元の地物(from)から得られる ことが示される. 1.4. ⽤用地to住宅宅の定義 (5) 右上のto ボタンを押して,「建物」が表 示されることを確認して, aCribute types欄の「形状」を選択する. 次に,arguments 欄の「buildingShape」 を選択する. さらに,右下のaddボタンを押すと, aCribute argument pair欄に, buildingShapeと形状が対にになること, 形状は関連先の地物(to)から得られる ことが示される. 次に,aCribute types欄の「階数」を選択 する.そしてarguments 欄の「stories」を 選択する. さらに,右下のaddボタンを押すと, aCribute argument pair欄に, stories と階数が対にになること,階数は 関連先の地物(to)から得られることが 示される. 1.4. ⽤用地to住宅宅の定義 (6) OperaIon Type ページを閉じ, associaIon Type ページに戻り,右 下のaddボタンを押 す. すると,「用地to住 宅がassociaIon types 欄に表示さ れるので,関連型 の定義ができたこ とがわかる. 1.5. 確認 Modeler > Feature Typeページ を開き, 右下のfeature types 欄から 「住宅用地」を選択し,edit ボ タンを押す.すると,右上の links欄に,関連型である「用地 to住宅」が表示されているの が確認できる.つまり「住宅用 地」は関連元の地物型である. 右下のfeature types 欄から 「建物」を選択し,edit ボタンを 押す.すると,左中のlinkedBy 欄に,関連型である「用地to住 宅」が表示されているのが確 認できる.つまり「建物」は関 連先の地物型である. 演習結果の提出 今回作成した応用スキーマ (PlotRaIoSchema.aps) を提出. 期限は来週の火曜日. メールの本文に必ず,氏名と学籍番号を記入すること. 質問や意見がある場合も同様. 当面の送付先は [email protected]