Ricerca…


Crea punti spaziali dal set di dati XY

Quando si tratta di dati geografici, R mostra di essere un potente strumento per la gestione, l'analisi e la visualizzazione dei dati.

Spesso, i dati spaziali sono disponibili come set di dati di coordinate XY in formato tabulare. Questo esempio mostrerà come creare un set di dati spaziali da un set di dati XY.

I pacchetti rgdal e sp forniscono potenti funzioni. I dati spaziali in R possono essere memorizzati come Spatial*DataFrame (dove * può essere Points , Lines o Polygons ).

Questo esempio utilizza dati che possono essere scaricati su OpenGeocode .

Inizialmente, la directory di lavoro deve essere impostata sulla cartella del set di dati CSV scaricato. Inoltre, il pacchetto rgdal deve essere caricato.

setwd("D:/GeocodeExample/")
library(rgdal)

Successivamente, il file CSV che memorizza le città e le loro coordinate geografiche viene caricato in R come data.frame

xy <- read.csv("worldcities.csv", stringsAsFactors = FALSE)

Spesso, è utile dare un'occhiata ai dati e alla loro struttura (ad es. Nomi di colonne, tipi di dati, ecc.).

head(xy)
str(xy)

Questo mostra che le colonne di latitudine e longitudine sono interpretate come valori di carattere, poiché contengono voci come "-33.532". Tuttavia, la funzione utilizzata in seguito SpatialPointsDataFrame() che crea il set di dati spaziali richiede che i valori delle coordinate siano del tipo di dati numeric . Quindi le due colonne devono essere convertite.

xy$latitude <- as.numeric(xy$latitude)
xy$longitude <- as.numeric(xy$longitude)

Pochi dei valori non possono essere convertiti in dati numerici e quindi vengono creati i valori NA . Devono essere rimossi.

xy <- xy[!is.na(xy$longitude),]

Infine, il set di dati XY può essere convertito in un set di dati spaziali. Ciò richiede le coordinate e le specifiche del sistema di aggiornamento delle coordinate (CRS) in cui sono memorizzate le coordinate.

xySPoints <- SpatialPointsDataFrame(coords = c(xy[,c("longitude", "latitude")]),
proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"),
data = xy
)

La funzione di tracciamento di base può essere facilmente utilizzata per sneakare i punti spaziali prodotti.

plot(xySPoints, pch = ".")

inserisci la descrizione dell'immagine qui

Importazione di un file di forma (.shp)

rgdal

I file di forma ESRI possono essere facilmente importati in R usando la funzione readOGR() dal pacchetto rgdal .

library(rgdal)
shp <- readORG(dsn = "/path/to/your/file", layer = "filename")

È importante sapere che il dsn non deve terminare con / e il layer non consente la fine del file (ad esempio .shp )

raster

Un altro modo possibile di importare gli shapefile è tramite la libreria raster e la funzione shapefile :

library(raster)
shp <- shapefile("path/to/your/file.shp")

Si noti come la definizione del percorso è diversa dall'istruzione import rgdal.

TMAP

tmap pacchetto tmap fornisce un bel wrapper per la funzione rgdal::readORG .

library(tmap)    
sph <- read_shape("path/to/your/file.shp")


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow