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 = ".")

wprowadź opis zdjęcia tutaj

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")


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow