R Language
analiza przestrzenna
Szukaj…
Utwórz punkty przestrzenne z zestawu danych XY
Jeśli chodzi o dane geograficzne, R okazuje się być potężnym narzędziem do obsługi, analizy i wizualizacji danych.
Często dane przestrzenne są dostępne jako zestaw danych współrzędnych XY w formie tabelarycznej. Ten przykład pokaże, jak utworzyć zestaw danych przestrzennych z zestawu danych XY.
Pakiety rgdal i sp zapewniają potężne funkcje. Dane przestrzenne w R mogą być przechowywane jako Spatial*DataFrame (gdzie * mogą być Points , Lines lub Polygons ).
W tym przykładzie wykorzystano dane, które można pobrać z OpenGeocode .
Najpierw katalog roboczy musi być ustawiony na folder pobranego zestawu danych CSV. Ponadto należy załadować pakiet rgdal .
setwd("D:/GeocodeExample/")
library(rgdal)
Następnie plik CSV przechowujący miasta i ich współrzędne geograficzne jest ładowany do R jako data.frame
xy <- read.csv("worldcities.csv", stringsAsFactors = FALSE)
Często warto rzucić okiem na dane i ich strukturę (np. Nazwy kolumn, typy danych itp.).
head(xy)
str(xy)
To pokazuje, że kolumny szerokości i długości geograficznej są interpretowane jako wartości znaków, ponieważ zawierają wpisy takie jak „-33.532”. Jednak funkcja później używany SpatialPointsDataFrame() , która tworzy przestrzennych danych wymaga wartości współrzędnych się do typu danych numeric . Zatem dwie kolumny muszą zostać przekonwertowane.
xy$latitude <- as.numeric(xy$latitude)
xy$longitude <- as.numeric(xy$longitude)
Niewielu wartości nie można przekonwertować na dane liczbowe, dlatego tworzone są wartości NA . Muszą zostać usunięte.
xy <- xy[!is.na(xy$longitude),]
Wreszcie zestaw danych XY można przekształcić w zestaw danych przestrzennych. Wymaga to współrzędnych i specyfikacji układu odniesienia współrzędnych (CRS), w którym przechowywane są współrzędne.
xySPoints <- SpatialPointsDataFrame(coords = c(xy[,c("longitude", "latitude")]),
proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"),
data = xy
)
Podstawowa funkcja wykresu może być łatwo wykorzystana do przekradnięcia się na szczyt wytworzonych punktów przestrzennych.
plot(xySPoints, pch = ".")
Importowanie pliku kształtu (.shp)
rgdal
Pliki kształtów ESRI można łatwo importować do R za pomocą funkcji readOGR() z pakietu rgdal .
library(rgdal)
shp <- readORG(dsn = "/path/to/your/file", layer = "filename")
Ważne jest, aby wiedzieć, że dsn nie może kończyć się na / a layer nie pozwala na zakończenie pliku (np. .shp )
raster
Innym możliwym sposobem importowania plików shapefile jest biblioteka raster i funkcja shapefile :
library(raster)
shp <- shapefile("path/to/your/file.shp")
Zauważ, że definicja ścieżki różni się od instrukcji importu rgdal.
tmap
Pakiet tmap zapewnia ładne opakowanie dla funkcji rgdal::readORG .
library(tmap)
sph <- read_shape("path/to/your/file.shp")
