Code Monkey home page Code Monkey logo

important-road's Introduction

クリックした道路の重要性を色で伝える

name

背景

  • 大学院の講義「時空間情報処理特論」の最終課題
    • 講義で扱ったアルゴリズム(R-Tree, DBSCAN, Dijkstra)を用いて,可視化まで含んだ地理情報アプリケーションを作る
  • 「管理者不明橋(勝手橋)」の存在をニュース1で知った
    • 設置者がわからず,誰が管理するか決まっていない橋
    • 住民にとっては,安全が保証されていなくても,近道のために無くてはならない橋なのだそう

道路の重要度

ここでは,道路中心線2の重要度を可視化してみたい.

多くの地点に多大な影響を与える道路は重要とみなせる. そこで,道路 e が与える影響度に応じて,各地点を塗り分けすることにした. 緑,黄,赤,黒の 4 色を用いた(緑なら影響なし,黒なら通行できなくなったことを表す).


道路 e が地点 s に与える影響度を次式で定義する.

影響度


使い方

影響度

  1. 調べたい場所を選ぶ
    • マップを D&D したり,拡大縮小したりして選ぶ
    • or 右上のミニマップで指定する
    • or 左上の "Preset" から選ぶ
  2. 重要度を調べたい道路をクリックする(オレンジ色 -> 青色に変わる)
    • クリックするたびにゴールが変わる(マーカーで示されている)
    • 各地点への影響度が緑,黄,赤,黒の 4 色で塗り分けられている
    • ゴール同士の最短路が紫色で示されている
    • 全体像を見渡すために,この状態で 2 段階まで縮小できる
    • 背景の表示・非表示を切り替えることができる

1段階縮小 + 背景を非表示

注意点

  • 道路中心線の情報がズームレベル 16 でしか提供されていないため,地図を縮小すると道が消える
  • 画面上に表示された範囲(GeoJSON タイル)でしか経路探索しない
    • 本来繋がっている地点も,一部の道が読み込まれていないせいで通れない判定になる可能性がある
    • 解決するには,大きなモニターが必要
  • 道路を壊す前から通れない場合は影響度が変わらないとして,緑で表示される

Footnotes

  1. https://www.yomiuri.co.jp/national/20211122-OYT1T50059/

  2. https://github.com/gsi-cyberjapan/experimental_rdcl

important-road's People

Contributors

kyunashige avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.