전체 글(26)
-
서울시 내 이디야커피 / 스타벅스 매장 분포 분석
1. 브이월드에서 서울의 읍면동 행정경계 파일과 시군구 행정경계 파일을 내려받는다. 2. 웹크롤링으로 공식 사이트에서 지점 정보를 가져옵니다. 소상공인시장진흥공단의 데이터는 2022년인가 2023년부터 직영점의 정보를 포함하고 있지 않기 때문입니다.웹 크롤링(Web Crawling)이란, 인터넷에 있는 웹사이트들을 자동으로 방문하면서 그 안의 데이터를 수집하는 작업을 말합니다. 이 작업을 수행하는 프로그램이나 봇을 웹 크롤러(Web Crawler) 또는 스파이더(Spider) 라고 부릅니다. 파이썬에서는 Selenium 패키지와 BeautifulSoup 패키지가 주로 사용됩니다.Selenium(셀레니움)은 웹 브라우저를 자동으로 제어할 수 있는 오픈소스 도구입니다. 웹 브라우저를 직접 띄우고 사람처럼 마..
2025.06.18 -
홈서버/NAS 활용하기 (OpenMediaVault, Pi-hole, Home Assistant)
지난 게시글에서 홈 서버의 정의와 필요성에 대해 살펴보았다. 홈 서버는 NAS, VPN, IoT 기기 사용 등 다양한 용도를 위해 사용될 수 있다. 이번 게시글에서는 홈서버/NAS를 부품 단계에서 맞추는 것부터 시작해, 다양한 운영체제를 올려 활용하는 방법을 개괄적으로 소개한다. 대강의 내용만 담고 있기 때문에 운영체제 별 자세한 내용과 사용법은 검색을 활용하길 권해드린다. 홈서버 맞추기기왕이면 200GE나 N100등의 저전력 프로세서를 달아주는 편이 알맞으나, 4스레드 정도의 프로세서 중 가장 싸게 구할 수 있는 것을 아무거나 달아주면 된다. 4스레드 정도면 초심자의 홈서버에 필요한 대부분의 기능을 담당할 수 있다. 필자의 경우 라이젠 2200G를 매우 싸게 구할 수 있는 기회를 얻어 이것을 사용했다...
2024.12.29 -
2SFCA(2 Step Floating Catchment Area) 분석 실습
본 포스팅은 2024학년도 인구지리학 11월 4일자 과제물을 바탕으로 제작되었습니다. 2SFCA 분석은 GIS를 이용하여 각 수요지점별로 서비스에 대한 공간 접근성을 평가하는 방법입니다. 2SFCA 분석은 공급 단계와 수요 단계의 2단계로 구성되어 있습니다. 공급 단계에서는 각 서비스 공급 지점에 대해 서비스 반경 내에 존재하는 모든 수요 지점에 대한 공급 레벨 (여기서는 인구 1인 당 공급 능력)을 구합니다. 수요 단계에서는 각 수요 지점에 대해 가용 가능한 모든 서비스 공급 지점의 공급 레벨을 합산하여 접근성을 평가합니다. 여기서는 각 수요 지점이 동의 중심점에 위치하며, 반경 1km까지만 유치원의 공급이 가용 가능하다고 설정하였습니다. 이렇게 설명하면 뭔지 잘 모르겠으니 직접 실습을 해 보면서 2S..
2024.11.02 -
R 회귀분석
R의 기본 데이터인 mtcars에서 연속형인 두 데이터인 연비(mpg)와 마력(hp)의 관계를 회귀분석을 이용해 알아본다.fit 세로 축을 연비로, 가로 축을 마력으로 각 차량의 데이터를 나타낸 그래프에서 각 점과의 제곱(부호를 생각하지 않기 위해)의 거리가 최소인 직선을 하나 긋는다. 이를 회귀 직선이라고 한다.summary(fit) Residuals: 잔차에 대한 기술통계량. 최솟값, 1분위수, 중앙값, 3분위수, 최댓값이 나타나있다. Coefficients(Intercept): 회귀직선의 y절편. 마력(독립변수)이 0일 때 연비(종속변수)에 얼마나 영향을 미치는지를 나타낸 것.Estimate: 추정값. 마력(독립변수)이 연비(종속변수)에 미치는 영향. 회귀직선의 기울기. 마력이 1 증가할 때 연..
2024.09.05 -
R 벡터 형상 변환
이 게시물의 내용 중 일부는 Robin Lovelace 외의 Geocomputation with R을 참고했음을 밝힙니다. 기하처리라고도 불리는 벡터 객체의 기하학적 도형의 형상 변화를 다룹니다. 이전 포스트에서 다뤘던 단순화 역시 벡터데이터의 형상 변화 과정 중 일부라고 할 수 있습니다.library(sf)library(tidyverse)library(rmapshaper)library(tmap)korea = st_read("C:/경로/BND_SIGUNGU_PG.shp", options="ENCODING=EUC-KR")seoul = korea %>% select(-BASE_DATE) %>% filter(str_sub(SIGUNGU_CD,1,2)=="11")seoul_s = ms_simplify(seoul..
2024.08.17 -
R 벡터 단순화 작업
브이월드에서 다운받은 전국 벡터 시군구는 R에서도 지도를 그릴때 끔찍하게 느립니다.왜냐하면 우리가 전국을 한 눈에 바라볼 때 불필요한 부분까지 정밀하기 때문입니다. 오늘은 이런 정밀한 벡터데이터를 단순화해서 작업 속도를 빠르게 해 보겠습니다. 우선 브이월드에서 시군구 shp 파일을 받아 불러옵니다.library(sf)library(rmapshaper)library(tmap)korea = st_read("G:/내 드라이브/gis/시군구/BND_SIGUNGU_PG.shp")tm_shape(korea)+tm_polygons()엄청나게 느린 속도로 지도가 그려집니다.rmapshaper 패키지의 ms_simplify 함수를 사용하면 비쉬왈링검 알고리즘(Visvalingam and Whatt, 1993)을 사용하여..
2024.08.17