공간 데이터 읽기

R로 지리공간 데이터 시각화하기

Charlotte Wickham

Assistant Professor at Oregon State University

뉴욕 카운티의 소득 중앙값

  • 인구 수가 대략 비슷한 지역이 센서스 트랙입니다
  • 공간 객체:
    • 센서스 트랙 폴리곤
    • 더 큰 동네 폴리곤
    • 수역 폴리곤

nyc_map.png

R로 지리공간 데이터 시각화하기

절차

  • 동네와 수역을 나타내는 쉐이프파일 읽기
  • 두 좌표계 정합
  • 데이터 프레임의 데이터를 SpatialPolygonsDataFrame에 병합
  • 출판용으로 지도 다듬기

nyc_map.png

R로 지리공간 데이터 시각화하기

쉐이프파일 읽기

  • 벡터 데이터: 점, 선, 폴리곤으로 표현된 데이터
  • 가장 흔한 형식은 쉐이프파일
R로 지리공간 데이터 시각화하기

쉐이프파일 읽기

# rgdal::readOGR()는 벡터 형식을 읽습니다
library(rgdal) 
library(sp)

dir()
"water"
dir("water")
"water-areas.dbf" "water-areas.prj" 
"water-areas.shp" "water-areas.shx"
water <- readOGR("water", "water-areas")
드라이버: ESRI Shapefile 의 OGR 데이터 소스 
소스: "water", 레이어: "water-areas"
피처 20개 포함
필드 5개 보유
R로 지리공간 데이터 시각화하기

결과 확인

summary(water)
SpatialPolygonsDataFrame 클래스의 객체
좌표:
        최소       최대
x -74.04731 -73.90866
y  40.68419  40.88207
투영됨: FALSE 
...
plot(water)

nyc_lines.png

R로 지리공간 데이터 시각화하기

래스터 파일 읽기

library(rgdal)  # rgdal::readGDAL()은 래스터를 sp 객체로 읽습니다
library(raster) # raster::raster()는 래스터를 raster 객체로 읽습니다
dir()
"usgrid_data_2000"   "usgrid_data_2000_1"
dir("usgrid_data_2000")
"metadata"     "usarea00.tif"  "usba00.tif" "usfb00.tif" "usgrid-2000-variables.xls" "usp2500.tif" 
"uspop300.tif" "uspov00.tif"  "uspvp00.tif"
total_pop <- raster("usgrid_data_2000/uspop300.tif")
R로 지리공간 데이터 시각화하기

결과 확인

total_pop
class       : RasterLayer 
dimensions  : 3120, 7080, 22089600  (nrow, ncol, ncell)
resolution  : 0.008333333, 0.008333333  (x, y)
extent      : -125, -66, 24, 50  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0 
data source : /Users/wickhamc/Documents/Projects/courses-visualizing-geospatial-
              data-in-r/data/census_grids/usgrid_data_2000/uspop300.tif 
names       : uspop300 
values      : 0, 65535  (min, max)
R로 지리공간 데이터 시각화하기

Laten we oefenen!

R로 지리공간 데이터 시각화하기

Preparing Video For Download...