일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- platformurbanism
- 도시인공지능
- 서울데이터
- naver
- spacesyntax
- Python
- 공간데이터
- pandas
- 그래프색상
- 베이지안뉴럴네트워크
- digitalgeography
- 웹크롤링
- SQL
- 서울
- 네이버
- postgres
- 그래프이론
- 도시공간분석
- 파이썬
- multinomiallogitregression
- 공간분석
- 도시설계
- graphtheory
- 핫플레이스
- connectivity
- 베이지안
- QGIS
- 도시계획
- digital geography
- 스마트시티
Archives
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- platformurbanism
- 도시인공지능
- 서울데이터
- naver
- spacesyntax
- Python
- 공간데이터
- pandas
- 그래프색상
- 베이지안뉴럴네트워크
- digitalgeography
- 웹크롤링
- SQL
- 서울
- 네이버
- postgres
- 그래프이론
- 도시공간분석
- 파이썬
- multinomiallogitregression
- 공간분석
- 도시설계
- graphtheory
- 핫플레이스
- connectivity
- 베이지안
- QGIS
- 도시계획
- digital geography
- 스마트시티
Archives
- Today
- Total
이언배 연구노트
[PostGRES] 종로의 데이터에 geometry 를 심어보자. 본문
좌표가 있으니까 지도에 옮기는 건 껌이네~~
노노. 껌 쉽지 않음.
1. 종로의 dtp 데이터는 6389개, ndtp 는 2772개.
2. 종로의 dtp 데이터 중 x좌표 가 null인 경우는 27개, ndtp는 85개 (인허가 데이터상 에서 누락)
3. 종로의 dtp 데이터 중 x좌표 가 0인 경우는 88개, ndtp 는 39개 (학원데이터에는 좌표가 없음)
그런 관계로, 솔직히 얘들을 빼고 해도 문제는 없지만
언젠가 하기는 해야할 일, 아예 코드를 만들어놓자.
해야할 일은 2, 3번을 골라내서 빌딩 지오메트리를 붙이고 무게중심으로 point 좌표를 만들기.
그리고 기존 데이터에다가 붙이기.
일단 2, 3번을 골라내보자.
SELECT * FROM jongno_dtp_2024 WHERE x = 0 OR x is null;
총 115개의 데이터.
여기에다가 building 데이터베이스로부터 geometry 를 붙인다.
우선, building data 의 시군구명 및 도로명이 포함되어있지 않고 코드로 붙어있는 데이터이기 때문에, 주소 데이터베이스에서 join 해서 사용한다.
CREATE TABLE buld_db AS
(SELECT distinct on (b.bd_mgt_sn) b.bd_mgt_sn, b.buld_mnnm, b.buld_slno, r.sig_nm, r.rd_nm, b.geom FROM --필요한 building 데이터의 column 을 추려내고, 도로 데이터에서는 시군구명과 도로명만
seoul_detail_buld b --이게 아마 juso.go.kr 에서 받은 2022년 기준 상세 건축물 데이터고
LEFT JOIN road_code_total r --이게 아마 juso.go.kr에서 받은 도로명 코드 데이터
ON r.sig_cd = b.sig_cd AND r.rd_num = b.rn_cd); -- 시군구코드와 도로코드에 맞는 데이터를 쓴다
테이블 정리를 끔찍하게 해두었던 작년의 나를 비난하지만,
아마 올해 또 비난할 것이다.
위 테이블을 building_db 로 저장한 상태로, 앞서 말했던 좌표 없는 NDTP, DTP들에 붙여보자.
SELECT non_geom.addr, non_geom.bd_bon, non_geom.bd_bu, bd.* FROM
(SELECT * FROM jongno_dtp_2024 WHERE x = 0 OR x is null) non_geom
LEFT JOIN building_db bd
ON non_geom.sig_nm = bd.sig_nm AND non_geom.rd_nm = bd.rd_nm
AND bd.lnbr_mnnm = non_geom.bd_bon AND bd.lnbr_slno = non_geom.bd_bu;
아 개열받는다...건물데이터 중에 없다고...??
그럼 난 도대체 애당초에 어떻게 데이터를 만들어서 했던 거지...? 미친거 아니야?
그냥 빼고 할까...
728x90
'PostGRES' 카테고리의 다른 글
[PostGRES] DTP 데이터셋 완성하기 (1) | 2024.11.29 |
---|---|
ADTP 찾아내기 (1) | 2024.11.29 |
[PostGRES] NDTP-DTP 를 갈라내보자. (2) | 2024.11.07 |
[PostGRES] API 검색 결과를 데이터베이스로 비교 (1) | 2024.10.27 |
[PostGRES + Python] 데이터베이스에서 리스트 불러와 웹크롤링 (0) | 2024.10.15 |