LoginSignup
0
1

More than 5 years have passed since last update.

「○○危険地帯」で任意の半径(メートル)で安全地帯を定義する

Last updated at Posted at 2016-06-01

LODチャレンジJapan2013データ提供パートナー賞受賞作品「トイレ危険地帯」 を改造してSPARQLエンドポイントの検索結果を利用できるようにした「○○危険地帯」というWebアプリがあります。

このWebアプリは、ある施設が「存在しない地域」(=危険地帯)を可視化するアプリで、危険地帯の範囲はアプリが自動的に計算します。例えば、

上記のようになります。

ここでは、危険地域の範囲を手動で設定する方法を解説します。
危険地帯の範囲は、ある施設が一定の距離に存在しない地域になりますので、ある施設からの一定の距離(=安全地帯)をメートルで指定する必要があります。
安全地帯を手動で指定するには、

の114行目に

  var metersPerPx = (Math.cos(initial_latitude * Math.PI/180) * 2 * Math.PI * 6378137) / (256 * Math.pow(2,map.getZoom()));
  var aveDistancePx = 500*2/metersPerPx;

を挿入してください。
上のコードのvar aveDistancePx = 500*2/metersPerPx;500
安全地帯(赤い円が表示されない部分)の半径(メートル)を表します。
この値を変更することで、危険地帯を表す赤い円の大きさを変更することができます。

以下は、半径500m、1000m(1km)、2000m(2km) を指定したときの実行例です。

・半径 500m
http://uedayou.net/dangerzone-sparql-500/

コード:http://uedayou.net/dangerzone-sparql-500/js/app.js

・半径 1000m(1km)
http://uedayou.net/dangerzone-sparql-1000/

コード:http://uedayou.net/dangerzone-sparql-1000/js/app.js

・半径 2000m(2km)
http://uedayou.net/dangerzone-sparql-2000/

コード:http://uedayou.net/dangerzone-sparql-2000/js/app.js

0
1
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
0
1