jhgan00 / car-accident

2020-1 연세대학교 수리사회학 사회혁신 프로젝트

Home Page:https://jhgan00.github.io/car-accident/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

어린이 교통사고 분석

├── ClusterVisualization.py
├── Clustering.py
├── Preprocess.py
├── README.md
├── Schoolzone.py
├── TaasCrawler.py
├── data
│   ├── acdnt-cls.geojson
│   ├── cluster.geojson
│   ├── kids-accident-pp.geojson
│   ├── kids-accident-pp.json
│   └── maps
│       ├── CTPRVN.dbf
│       ├── CTPRVN.prj
│       ├── CTPRVN.shp
│       ├── CTPRVN.shx
│       ├── N3A_A0053326.dbf
│       ├── N3A_A0053326.shp
│       ├── N3A_A0053326.shx
│       ├── schoolzone-seoul.geojson
│       └── seoul.geojson
└── requirements.txt

1. Environment

  • Ubuntu 20.04 LTS
  • 16GB RAM
  • Python 3.7
pip install -r requirements.txt
conda install --channel conda-forge rtree

2. TaasCrawler.py

TAAS GIS 시스템 교통사고 데이터 크롤러입니다. 2007~2019년의 차 대 사람 어린이 교통사고, 어린이 구역 내 어린이 교통사고 데이터를 크롤링합니다. 권한승인이 된 아이디를 준비해서 아래 커맨드로 실행해주시면 됩니다. data/kids-accident-27.json은 어린이 교통사고, data/kids-accident-29.json는 어린이보호구역 내 어린이교통사고입니다. 어린이 교통사고가 아닌 전체 교통사고 데이터를 수집하려면 --kids=0 으로 설정해주세요.

$ python TaasCrawler.py run # 어린이 교통사고 데이터 수집
$ python TaasCrawler.py run --kids=0 # 전체 교통사고 데이터 수집

3. Preprocess.py

크롤링된 데이터를 전처리합니다. 전처리된 데이터는 해당 디렉토리에 kids-accident-pp.json, kids-accident-pp.geojson 파일로 저장됩 니다. 어린이 데이터가 아닌 전체 교통사고 데이터를 전처리하는 경우에는 --kids=0 으로 설정해주세요.

$ python Preprocess.py run # 어린이 교통사고 데이터 전처리
$ python Preprocess.py run --kids=0 # 전체 교통사고 데이터 전처리

4. Clustering.py

전처리된 데이터를 클러스터링합니다. 클러스터는 data/cluster.geojson, 클러스터 지역에 속하는 사고들은 acdnt-cls.geojson에 저장 됩니다.

$ python Clustering.py run

5. Schoolzone.py

어린이 보호구역 데이터와 서울시 경계 파일을 통해 서울시 내 어린이 보호구역 데이터를 WGS84(EPSG 4326) 좌표계로 추출합니다. 결과는 data/maps/schoolzone-seoul.geojson으로 저장됩니다.

$ python Schoolzone.py

6. ClusterVisualization.py

클러스터와 어린이 보호구역의 경계를 지도 시각화하여 docs/cluster.html로 저장합니다.

$ python ClusterVisualization.py

About

2020-1 연세대학교 수리사회학 사회혁신 프로젝트

https://jhgan00.github.io/car-accident/


Languages

Language:HTML 63.0%Language:Jupyter Notebook 36.6%Language:Python 0.4%