R Language
공간 분석
수색…
XY 데이터 세트에서 공간 점 생성
지리 데이터와 관련하여 R은 데이터 처리, 분석 및 시각화를위한 강력한 도구임을 보여줍니다.
종종 공간 데이터는 테이블 형식으로 설정된 XY 좌표 데이터로 사용 가능합니다. 이 예에서는 XY 데이터 세트에서 공간 데이터 세트를 작성하는 f}을 보여줍니다.
rgdal
및 sp
패키지는 강력한 기능을 제공합니다. R의 공간 데이터는 Spatial*DataFrame
( *
는 Points
, Lines
또는 Polygons
될 수 있음)으로 저장할 수 있습니다.
이 예제는 OpenGeocode 에서 다운로드 할 수있는 데이터를 사용합니다.
처음에는 작업 디렉토리를 다운로드 한 CSV 데이터 세트의 폴더로 설정해야합니다. 또한 패키지 rgdal
을로드해야합니다.
setwd("D:/GeocodeExample/")
library(rgdal)
그런 다음 도시와 지리적 좌표를 저장하는 CSV 파일을 data.frame
으로 R에로드합니다.
xy <- read.csv("worldcities.csv", stringsAsFactors = FALSE)
종종 데이터와 그 구조 (예 : 열 이름, 데이터 형식 등)를 한눈에 파악하는 것이 유용합니다.
head(xy)
str(xy)
위도와 경도 열은 "-33.532"와 같은 항목을 포함하고 있으므로 문자 값으로 해석됩니다. 그러나 공간 데이터 세트를 생성하는 나중에 사용되는 SpatialPointsDataFrame()
함수는 좌표 값이 numeric
데이터 유형이어야합니다. 따라서 두 열을 변환해야합니다.
xy$latitude <- as.numeric(xy$latitude)
xy$longitude <- as.numeric(xy$longitude)
값의 일부만을 숫자 데이터로 변환 할 수 없으므로 NA
값이 생성됩니다. 그들은 제거해야합니다.
xy <- xy[!is.na(xy$longitude),]
마지막으로 XY 데이터 세트를 공간 데이터 세트로 변환 할 수 있습니다. 좌표가 저장되는 좌표 참조 시스템 (CRS)의 좌표와 사양이 필요합니다.
xySPoints <- SpatialPointsDataFrame(coords = c(xy[,c("longitude", "latitude")]),
proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"),
data = xy
)
기본 플롯 기능을 사용하면 생성 된 공간 점을 몰래 들여다 볼 수 있습니다.
plot(xySPoints, pch = ".")
모양 파일 가져 오기 (.shp)
rgdal
ESRI shape 파일은 rgdal
패키지의 rgdal
readOGR()
함수를 사용하여 쉽게 R로 가져올 수 있습니다.
library(rgdal)
shp <- readORG(dsn = "/path/to/your/file", layer = "filename")
dsn
이 /
끝나서는 안되며 layer
에서 파일 끝 (예 : .shp
)을 허용하지 않는 것이 중요합니다.
래스터
shapefile을 가져 오는 또 다른 방법은 raster
라이브러리와 shapefile
함수를 사용하는 것입니다.
library(raster)
shp <- shapefile("path/to/your/file.shp")
경로 정의가 rgdal import 문과 다른 점에 유의하십시오.
맵핑
tmap
패키지는 rgdal::readORG
함수에 대한 멋진 래퍼를 제공합니다.
library(tmap)
sph <- read_shape("path/to/your/file.shp")