ネットワークボロノイ(by SANET)によるポリゴン作成

東京大学CSISのSANETを最近登録して、使い始めています。いろいろなネットワーク分析ができて、これは便利…。

で、分析ツールのなかに「Voronoi Diagram」があります。よく見かけるのは平面でのボロノイ分割ですが、これはネットワークをボロノイ分割するものです。人や物は基本的に道を使って移動するので、そういった場合は道路ネットワークに基づくボロノイ分割のほうがより適しているはず…。

ただ、このツールは「ネットワーク」を分割するもので、結果のデータはネットワークデータです。なので、たとえばネットワークボロノイ分割されたエリア内の人口などを集計したい場合はこれをポリゴンデータにする必要があります…。調べてみたのですが、SANETツール内にはそうした機能はないみたいです…。

で、いろいろ考えた結果、以下のような方法でやってみました。

  1. ボロノイ分割されたネットワーク上のノードのうち、「Node」を抽出する
  2. 抽出した「Node」で(平面上の)ボロノイ分割をする
  3. ボロノイ分割の結果を、任意のIDでディゾルブする

f:id:nkomaki0314:20180513121620j:plain

豊橋市の小学校データ(by 国土数値情報)で分析してみた結果はこのような感じになりました。色づけされたネットワークがネットワークボロノイの結果、黒い太線が上記の作業で作成したポリゴンです。ところどころちょっと怪しい部分もあるのですが、だいたいいけるのではないか、と思います。簡便法、というやつでしょうか…。

たぶん正確には、ネットワークから徐々にバッファを発生させて、それぞれ分割されたIDがぶつかる部分で境界になるようにやるのだと思います…。