본문 바로가기

GIS Tech/GIS Data Process10

OpenStreetMap에서 POI 크롤링 이번 PAKDD DMO-Fintech Workshop에서 발표한  Improving Real Estate Appraisal with POI Integration and Areal Embedding (25 mins) Authors: Sumin Han, Youngjun Park, Sonia Sabir, Jisun An, Dongman Lee 에서도 활용한 코드이다 https://github.com/SuminHan/AMMASI GitHub - SuminHan/AMMASIContribute to SuminHan/AMMASI development by creating an account on GitHub.github.com osmnx라이브러리를 활용한다. import osmnx as oxfrom shapely.g.. 2024. 6. 3.
Useful Python GIS Skills 2 1. Using Mapbox basemap on Cartoframes from cartoframes.viz import * from cartoframes.viz import basemaps Map([ Layer(ftgdf, color_continuous_style('AWATER20')), Layer(house_gdf, color_continuous_style('price')) ], basemap=basemaps.voyager) sample basemaps you may try: streetmap = { 'style': 'mapbox://styles/mapbox/streets-v9', 'token': 'pk.something' } mybasemap = { #'style': 'mapbox://styles/m.. 2023. 11. 2.
folium HeatMapWithTime 이용하기 김수빈 인턴 작성 Heatmap은 원래 사람의 체온분포를 나타내기 위해 사용되지만, 지리정보를 효과적으로 나타내기 위해 사용해보았다. 참고: https://csds.tistory.com/18 여기서 정제한 ‘seouldata.json’ 파일을 이용한다. import csv import pandas as pd from lxml import etree import os import json array = [] with open('seouldata.json', encoding='utf-8', mode='r') as f: array = json.load(f) df = pd.DataFrame(array) #None 이 아닌 데이터를 필터링 df = df[(df['x'] == df['x']) & (df['y'] =.. 2021. 2. 15.
생활인구 시각화 일부 지역을 선택하여 각 집계구의 빈도수를 min/max normalization하여 그 변화를 그래프로 나타낸 것이다. 본 데이터는 commercial/residential과 큰 차이가 있을것으로 기대된다. 2021. 1. 22.
Python (GIS+General) Tip 모음 1. GIS 파일 (SHP, PRJ) 로드하는법 (fiona, geopandas) 기본적으로 geopandas의 read_file을 하면 데이터를 로드하지만, prj파일을 놓쳐서 일일히 설정해 줘야 할 때가 있다. 이럴 때 import fiona import geopandas as gpd c = fiona.open('SeoulTrafficData/NODELINKDATA-2020-03-31/MOCT_LINK.shp', encoding='euc-kr') link_gdf = gpd.GeoDataFrame.from_features(c, crs=c.crs).to_crs('epsg:4326') 이와 같이 fiona 라이브러리를 활용하면 자동으로 prj 파일도 함께 읽어 좌표계를 설정하여준다. 2. pd.df → g.. 2021. 1. 11.
주요 좌표계 활용 방법 (TM, UTM-K, KATEC) 0. 기본 - 위도경도 좌표계 (WGS84 - EPSG:4326) 1. TM좌표계 (ex: http://www.localdata.kr/, data.nsdi.go.kr/dataset) +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs +type=crs 혹은 +proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43 2. UTM-K (EPSG:5178).. 2021. 1. 11.
지도상 영역의 GeoJSON Polygon 생성 웹앱 만들기 (Python) GIS 데이터를 다루다보면 선택한 영역 내의 데이터를 쿼리해야 될 경우가 있다. 이럴때 본 앱을 켜고 영역을 선택하여 만들어진 GeoJSON 을 활용하면 편리할 것이다. 본 웹앱은 Python Flask와 카카오 지도 API의 create-polygon예제를 참고하여 만들었다. 전체 코드는 GitHub에 정리해두었다. 그리고 시작하기 앞서 developers.kakao.com/console/ 의 내 어필리케이션 > 앱 설정 > 플랫폼 > Web 플랫폼 수정 에서 사용할 웹 호스트 주소를 등록해두고, JavaScript 앱 키를 얻는다. flaskapp.py from flask import Flask, request, render_template import os import myconstants app .. 2021. 1. 10.
WMS 를 이용하여 TOPIS 교통 링크 지도데이터 얻기 서울시 교통정보 시스템 topis.seoul.go.kr/ 서울시 교통정보 시스템 - TOPIS topis.seoul.go.kr 에서 제공하는 교통 데이터는 아래에 나와있는 자료실 혹은 topis.seoul.go.kr/refRoom/openRefRoom_1.do 속도 정보 | 서울시 교통정보 시스템 - TOPIS topis.seoul.go.kr 속도정보 탭에서 다음과 같이 다운로드 할 수 있다. 데이터 정제 과정을 생략하여 현재 GitHub(github.com/cdsnlab/SeoulTrafficData) 에서 데이터 열람이 가능하다. TOPIS에서는 기타 정보 > 기반 정보 에서 서울시 표준링크 매핑정보를 활용하여 ITS 표준노드링크정보 (nodelink.its.go.kr/)에서 데이터를 구하여 매핑하여.. 2021. 1. 8.
Instagram Crawling by shortcode 인스타그램 포스트의 이미지의 경우 시간이 경과하면 해당 링크가 만료되어 이미지 크롤링이 되지 않는 경우가 있었다. Instagra-scraper의 경우에는 (github.com/arc298/instagram-scraper) 로그인 세션 저장, location id 크롤링, 장소 이름으로 크롤링 등 가장 안정적으로 인스타그램 크롤링 기능을 이용할 수 있었다. 이 코드를 활용하여 인스타그램의 shortcode를 이용하여 데이터를 크롤링하는 방법을 소개한다. 우선 github.com/arc298/instagram-scraper/blob/master/instagram_scraper/app.py 코드를 이용하여 아래와 같이 MyInstagramScraper의 객체를 만든다. import argparse impor.. 2021. 1. 8.
지방인허가데이터 활용하기 (Python) 지방행정 인허가 데이터개방: www.localdata.go.kr/ LOCALDATA - 지방행정인허가데이터개방 지방행정 인허가 데이터개방 의료기관, 의료기기 데이터 보기 동물, 축산 데이터 보기 게임, 공연, 관광, 문화기획, 노래방, 비디오, 숙박, 여행, 영화, 음악 데이터 보기 미용, 이용, 세탁소/빨래 www.localdata.go.kr 서울 데이터에 한하여 다음의 링크에서 다운로드 가능: seoul_localdata.json Dropbox (다른 지역은 아래의 코드 참조하여 정제하여 사용) 해당 웹페이지에서 전체 데이터, 업종별 데이터, 혹은 지역별 데이터를 다운로드 할 수 있다. 예를들어 서울시의 데이터를 다운로드 해보자. XML, EXCEL, CSV의 포맷을 제공하지만 CSV나 EXCEL은 .. 2021. 1. 7.