├── 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
- Ubuntu 20.04 LTS
- 16GB RAM
- Python 3.7
pip install -r requirements.txt
conda install --channel conda-forge rtree
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 # 전체 교통사고 데이터 수집
크롤링된 데이터를 전처리합니다. 전처리된 데이터는 해당 디렉토리에 kids-accident-pp.json
, kids-accident-pp.geojson
파일로 저장됩
니다. 어린이 데이터가 아닌 전체 교통사고 데이터를 전처리하는 경우에는 --kids=0
으로 설정해주세요.
$ python Preprocess.py run # 어린이 교통사고 데이터 전처리
$ python Preprocess.py run --kids=0 # 전체 교통사고 데이터 전처리
전처리된 데이터를 클러스터링합니다. 클러스터는 data/cluster.geojson
, 클러스터 지역에 속하는 사고들은 acdnt-cls.geojson
에 저장
됩니다.
$ python Clustering.py run
어린이 보호구역 데이터와 서울시 경계 파일을 통해 서울시 내 어린이 보호구역 데이터를 WGS84(EPSG 4326) 좌표계로 추출합니다. 결과는
data/maps/schoolzone-seoul.geojson
으로 저장됩니다.
$ python Schoolzone.py
클러스터와 어린이 보호구역의 경계를 지도 시각화하여 docs/cluster.html
로 저장합니다.
$ python ClusterVisualization.py