LoginSignup
1
2

More than 3 years have passed since last update.

RhinocerosでモデリングしたネットワークをPythonで読み込む①

Last updated at Posted at 2020-12-15

建築・都市計画数理のなかでも、特にポピュラーなものがネットワーク分析でしょう。建築や都市を、ネットワークとして抽象的に表現することにより、数理的に扱いやすい形にしたうえで分析やシミュレーションを行うことは常套手段です。

目標

  1. Rhinocerosでネットワークを描く
  2. Rhinocerosで描いたネットワークをPythonで読み込めるように書き出す
  3. 書き出したファイルをPythonで読み込んで隣接配列を作る

本記事では第1項に取り組みます。

建築・都市の中のネットワーク

建築や都市の中には、様々なネットワークが織り込まれています。

対象 ノード エッジ
建築平面 部屋,開口部 廊下,通路
道路 交差点,建物出入口 道路
鉄道 線路

ネットワークはノードとエッジからなっており、エッジには(時にはノードにも)"重み"が与えられています。重みは、そのエッジを通過するのに必要な移動距離、時間(時間距離)、費用(金銭距離)などを設定できます。重みの与え方ひとつで、分析の幅と面白さはぐんと上がります。

Rhinocerosでネットワークを描く

とにもかくにも、ネットワークを描いてみましょう。今回はRhinocerosというCADソフトを使ってネットワークを描いてみます。建築界隈の人の中には、Rhinocerosに明るい人がいるかもしれません。Rhinocerosは、そのなかでPythonを動かすことができるので、建築・都市計画の数理的な研究をする上では非常に使い勝手が良いです。今回は、下の地図(国土地理院地図)をもとに歩行空間ネットワークを描いてみます。

ネットワークを描くルールは統一する

道路中心線などの公のベクターデータがあればそれを用いれば良いですが、ない場合には自分で線を引っ張る必要があります。そのときに大事なのが、自分で決めたルールを守ることです。おそらく、皆さんがご自身でネットワークを描くときには、「曲がった道路をどうしようか」とか「建物をネットワークにどう接続しようか」とかに頭を悩ませることでしょう。実際、ネットワーク分析はネットワークの描き方に結果が大きく影響されることがあります。重要なのは、その結果がネットワークの描き方によるものなのか、本質的なものなのかを判別できるようにしておくことです。そのためにも、一度決めたルールをネットワーク全体で統一させておく必要があります。

今回は歩行空間ネットワークを描きますが、これに関して国土交通省より示されている整備仕様案1に従います。すると、下の図のようなネットワークになります。

今回、ネットワークは平面上にあるので、自己交差するようなエッジはありません。歩道橋や地下道などがある場合には、それらも含めてモデリングすると、より精緻な分析ができます。

【次回】Rhinocerosで描いたネットワークを
Pythonで読み込めるように書き出す

さて、Rhinocerosでネットワークを描き終えた後、分析するにあたり、そのネットワークをプログラミング言語が理解できるようなデータに翻訳してあげる必要があります。次回は、そのデータ構造と、データの作り方について説明します。
→RhinocerosでモデリングしたネットワークをPythonで読み込む②

ホームページのご案内

建築・都市計画数理に関する私の研究の内容や、研究にまつわるtips等は、個人ホームページにて公開しています。ゆくゆくは、気軽に使える分析ツールも作っていきたいと思っているので、ぜひ覗きに来てください。
→田端祥太の個人ホームページ

参考文献

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2