Zillow memiliki seperangkat shapefile untuk berbagai lingkungan di kota-kota besar AS. Saya ingin memeriksa apakah ada bangunan tertentu di lingkungan tertentu menggunakan R:
library(rgeos)
library(sp)
library(rgdal)
df <- data.frame(Latitude =c(47.591351, 47.62212,47.595152),
Longitude = c(-122.332271,-122.353985,-122.331639),
names = c("Safeco Field", "Key Arena", "Century Link"))
coordinates(df) <- ~ Latitude + Longitude
wa.map <- readOGR("ZillowNeighborhoods-WA.shp", layer="ZillowNeighborhoods-WA")
sodo <- wa.map[wa.map$CITY == "Seattle" & wa.map$NAME == "Industrial District", ]
Saya dapat merencanakan tanpa masalah
plot(sodo)
points(df$Latitude ~ df$Longitude, col = "red", cex = 1)
Saya mencocokkan proj4
string dari shapefile ke data.frame saya
CRSobj <- CRS("+proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0 ")
df@proj4string <- CRSobj
over(df, sodo)
Ini hanya memberi saya banyak NA
nilai. Saya sudah mencoba jawaban ini
spp <- SpatialPoints(df)
spp@proj4string <- CRSobj
over(spp, sodo)
tetapi masih mendapatkan NA
nilai saja . Ada ide apa lagi yang harus saya coba?
Saya menggunakan pendekatan yang mirip dengan jawaban yang diterima di posting ini tetapi tidak pernah benar-benar puas dengan itu jadi saya mencari alternatif dan menemukan perpustakaan sf .
Dan menggunakan perpustakaan ini Anda kemudian dapat menulis kode seperti ini:
Keluaran:
Saya memposting kode ini pada posting lain yang merupakan pertanyaan serupa, di sini: Identifikasi titik yang mengandung poligon dengan paket R sf
sumber