일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- digital geography
- Python
- 핫플레이스
- 네이버
- 베이지안
- digitalgeography
- 공간데이터
- 도시인공지능
- 그래프이론
- naver
- 도시공간분석
- platformurbanism
- 베이지안뉴럴네트워크
- 도시설계
- multinomiallogitregression
- 도시계획
- pandas
- 서울데이터
- spacesyntax
- 서울
- postgres
- 공간분석
- graphtheory
- 웹크롤링
- 그래프색상
- QGIS
- SQL
- 파이썬
- 스마트시티
- connectivity
- 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 |
- digital geography
- Python
- 핫플레이스
- 네이버
- 베이지안
- digitalgeography
- 공간데이터
- 도시인공지능
- 그래프이론
- naver
- 도시공간분석
- platformurbanism
- 베이지안뉴럴네트워크
- 도시설계
- multinomiallogitregression
- 도시계획
- pandas
- 서울데이터
- spacesyntax
- 서울
- postgres
- 공간분석
- graphtheory
- 웹크롤링
- 그래프색상
- QGIS
- SQL
- 파이썬
- 스마트시티
- connectivity
- Today
- Total
목록postgres (10)
이언배 연구노트

Space Syntax 중에서 angular segment analysis 를 돌리면,도로를 자근자근 쪼개서 각 segment로 분리한 뒤,각 segment끼리의 각도를 중심으로 네트워크 분석을 시행한다. 이거로 끝나면 다행이지만, 문제는DepthmapX로 돌려 나온 결과물은 좌표도 딱히 없고, 도로 객체랑 매치도 안된다.그리고 ID column도 사라져있기 때문에, geometry 로 매칭시켜야 한다. 그리고 도로 geometry 는 linestring이기 때문에,"딱 맞는다" 또는 "포함관계" 를 보기가 어렵기 때문에, 도로geometry 에 약간의 buffer를 주고,그 안에 포함되는 segment 의 평균과 합으로 계산해보자는 전략을 취해보자. CREATE TABLE seoul_ped_spaces..

내가 지금까지 활용한 데이터는 juso.go.kr 에서 제공하는 건축물 정보 데이터.geometry 가 가장 깔끔하고, 건축물 용도도 나오고, 가장 정리가 잘 되어있는 데이터다. 하지만 문제는, 준공연도, 건폐율, 용적률 등에 대한 정보 등 상세한 정보가 없다는 게 흠.그리고, 그런 상세한 데이터는 nsdi 데이터에 있는데,이녀석은 분명 key, id로 보였던 column 들에 중복이 있다...이런 잘못되어먹은 DB 같으니라고. 생각해보니, 이런 잘못되어먹은 DB의 데이터상의 한계를내가 극복할 (수 있다면 해야겠지만 한계가 있으니까 여기에 매달리고 있을) 수는 없지 않은가? 일단 붙여보자.우선, nsdi 데이터에서 가장 key (역할을 하는 것 처럼 보이고, juso 건물 데이터에도 있는 column 인..

가장 큰 관건이었던 데이터의 재생성 작업을 마쳤다.이제 남은 건 분석만 하면 된다.늘 그렇듯, 요리에 비유하면 재료 준비 과정이 가장 오래 걸린다. 이제 본격적으로 요리를 해볼 차례. 내가 붙여야 할 공간 변수들은도로 위계, 도로 등급, 도로 너비, 도로까지의 거리 (도로데이터)아파트까지 거리 (아파트 데이터)CBD까지의 거리 (CBD)지하철역까지의 거리 (지하철역)층수, 지하층수, 총연면적, 건물 용도, 건물 연식 (빌딩데이터를 juso 에다가 nsdi 건물까지)토지용도 (토지용도 데이터) 등이다. 일단, dtp_data_2024_buld 에 geometry 를 추가해준다.ALTER TABLE dtp_data_2024_buld ADD COLUMN geom GEOMETRY;UPDATE dtp_data_2..

지난번까지 데이터셋 구축에 완료했다.이제 빌딩 데이터셋으로 geometry 를 붙여줘야 용적률, 위치 등의 정보를 활용할 수 있으니빌딩데이터부터 차근차근 접근해보자. 우리가 쓸 건물 데이터는 JUSO_INFO. 출처는 juso.go.kr 이다.2021년 12월 기준이었지 아마.PK 는 bul_num_no 와 SIG_CD 라고 하는데, bd_mgt_sn 도 일단 모두 distinct하긴 해서 고민이 필요해보인다. 그리고 가장 열받는 포인트는 도로명이 아닌 "도로명 코드"로 되어있다는 점...이것을 위해 DTP 에 도로명 코드를 추가해주어야 한다. 전략은1. 도로명 코드 + 건물 본번 + 건물 부번 으로 geometry 를 매칭시키고2. 혹시 매칭에 실패했거나, 여러개의 건물에 붙은 경우에는 point좌표로..

네이버 API 검색이 끝났다. import pandas as pdfrom sqlalchemy import create_enginefrom glob import globfilenames = glob('./api_crawl_1/*.csv')dfs = []for file in filenames: t = pd.read_csv(file) dfs.append(t)filenames = glob('./api_crawl_2/*.csv')for file in filenames: t = pd.read_csv(file) dfs.append(t)df_concat = pd.concat(dfs)engine = create_engine('postgresql+psycopg2://???:???@???:5432/??..

NAVER web crawling 결과로 도무지 파악할 수 없었던 인허가 데이터를NAVER API 를 활용해 하나하나 쿼리해본 결과를 csv로 저장해뒀다. 이제 이 결과물을 PostGRES 로 옮겨서 SQL로 다시 한 번 매칭해볼 것이다. 폴더에 저장된 csv 들을 불러들여 PostGRES로 이동시키는 건 간단하다. import pandas as pdfrom sqlalchemy import create_engine #Dataframe -> SQL 에는 sqlalchemy 를 불러오자from glob import glob# csv 파일들 불러오기filenames = glob('./폴더이름이뭐에요/*.csv') #glob 함수에서 '*.csv' 는 모든 csv 파일을 불러준다. 이 결과물은 'text의 리스..

나의 웹 크롤링 데이터는 어떻게 될 것인가...일단 이전에 크롤링해두었던 나에게 칭찬하며, 18,486개의 크롤링 데이터를 얻을 수 있었다. (파이썬에서 PostGRES로 옮겼다.)그 중에서 similarity 가 0.15이상인 녀석들은 아래와 같다 SELECT title, naver_check, similarity(title, naver_check) FROM overflow_resultWHERE similarity(title, naver_check) > 0.2 ORDER BY similarity ; 사실 네이버에서 매우 러프하게 검색한 결과물이어서 text similarity 를 더욱 보수적으로 잡아야하나 했지만,어차피 걸러낼 수 있는 가능성이 별로 없어보인다. 사실 이번 단계에서는 "네이버에서 검색된..

소스가 다른 두 데이터를 주소 기반으로 병합해서 표기해보자. naver_place 의 데이터는포인트 geom, 이름, (도로명) 주소 등. permit_place 의 데이터는title, (도로명) 주소 + (동), (손실이 많은) 포인트 geom, 개업일 등. 우선,1. 지난번에 고생했던 인덱싱을 개선하기 위해 두 데이터 소스에 각기 다른 id column 이름과 id 를 부여한다.2. 주소를 기반으로 같은 건물에 있는 장소들을 분류한다.3. 이름이 비슷한 녀석이 있으면, 인허가 데이터를 DTP로 분류한다. 일단, id 먼저 부여하자.naver_place 의 아이디는 nid 로, permit_place 의 아이디는 pmid 로 column 을 지정하겠다.--------------------------S..