鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

自宅のデスクトップPCが逝去。

妻が使っているWIndowsマシン。マウスが使えないということで
ヤマダ電機でマウスを買ってきましたが、やはり使えない。
おかしいと思い調べてみると、キーボードも使えない。USBポートが全滅していました。
箱を開けて調べてみると、放熱板がやけに高温になっている。火傷するほどの。
マザーが飛んだんだろう。
さて、現在のマザーボードはG41M-VSというもの。
www.asrock.com
通販でももはや売っていない。同じタイプのマザーで使えそうなのないかなと
ドスパラを検索。
Foxconn PRODUCT : Motherboard : Details

起動できなくなったが・・

リセットボタンやら、起動ボタンを長押しして、再トライ。
起動できるようになり。普通にwindowsもそのまま使えた。
4000円少しの投資で復活。嬉しい限りです。

三島市のコインランドリーのボロネイ図作り、人口をカウントする

コインランドリー用のテーブルを用意しておく

前に述べた通り。QGISへ取り込む。

ボロネイ図を描写する

入力にコインランドリーのベクターを指定する。
そうするとシェープファイルが吐き出される。(volonay.shp)
そのシェープファイルを入力に新たなテーブルを作る

shp2pgsql  -s 4326 volonoy.shp volonoy > volonoy.sql
psql -d test -f volonoy.sql

人口カウント用のSQLを発行する

select  v.id, (select name from volonoy b where b.id = v.id), sum(tblt000609)  from volonoy v
 inner join  population   p  
on st_intersects( p.geom, 
v.geom ) group by v.id order by sum desc

f:id:kechiya:20160928001929p:plain
f:id:kechiya:20160928001944p:plain

三島市のコインランドリー周辺500mの人口を求めてみた

ランドマークの情報をテーブルへ格納する

geocodingはテーブル格納後に、pythonで行った

f:id:kechiya:20160924011409p:plain

シェープファイルからSQLに変換後、postgisのテーブル(population)へ入れる

$ shp2pgsql -s 4326 population.shp population > population.sql
$ psql -d dbname -f population.sql

人口を求めるクエリを発行する

select  l.id, (select name from laundry b where b.id = l.id), sum(tblt000609)  from laundry l 
 inner join  population   p  
on st_intersects( p.geom, 
st_buffer(l.geom::geography,500)::geometry )group by l.id 


f:id:kechiya:20160924011200p:plain

重なったところの面積を按分する

qiita.com

select  l.id, (select name from laundry b where b.id = l.id), sum(tblt000609
*(
     ST_AREA( ST_Intersection(p.geom , st_buffer(l.geom::geography,500)::geometry ) ) / 
     ST_AREA( p.geom ) 
    )
)  from laundry l 
 inner join  population   p  
on st_intersects( p.geom, 
st_buffer(l.geom::geography,500)::geometry )group by l.id


f:id:kechiya:20160924124920p:plain

複数店舗が重なった場合、按分する