Menambahkan data ke objek spasial

Memvisualisasikan Data Geospasial di R

Charlotte Wickham

Assistant Professor at Oregon State University

Data pendapatan dari ACS

str(nyc_income)
'data.frame':    288 obs. of  6 variables:
 $ name    : chr  "Census Tract 1, New York County, New York" 
 "Census Tract 2.01, New York County, New York" 
 "Census Tract 2.02, New York County, New York" 
 "Census Tract 5, New York County, New York" ...
 $ state   : int  36 36 36 36 36 36 36 36 36 36 ...
 $ county  : int  61 61 61 61 61 61 61 61 61 61 ...
 $ tract   : chr  "000100" "000201" "000202" "000500" ...
 $ estimate: num  NA 23036 29418 NA 18944 ...
 $ se      : num  NA 3083 1877 NA 1442 ...
Memvisualisasikan Data Geospasial di R

Data poligon tract

str(nyc_tracts, max.level = 2)
Kelas formal 'SpatialPolygonsDataFrame' [paket "sp"] dengan 5 slot
  ..@ data       :'data.frame':    288 obs. dari  9 variabel:
  ..@ polygons   :Daftar 288
  .. .. [list output truncated]
  ..@ plotOrder  : int [1:288] 175 225 97 209 249 232 208 247 244 207 ...
  ..@ bbox       : num [1:2, 1:2] -74 40.7 -73.9 40.9
  .. ..- attr(*, "dimnames")=Daftar 2
  ..@ proj4string:Kelas formal 'CRS' [paket "sp"] dengan 1 slot
Memvisualisasikan Data Geospasial di R

Data poligon tract

str(nyc_tracts@data)
'data.frame':    288 obs. dari  9 variabel:
 $ STATEFP : chr  "36" "36" "36" "36" ...
 $ COUNTYFP: chr  "061" "061" "061" "061" ...
 $ TRACTCE : chr  "001401" "002201" "003200" "004000" ...
 $ AFFGEOID: chr  "1400000US36061001401" "1400000US36061002201" 
 "1400000US36061003200" "1400000US36061004000" ...
 $ GEOID   : chr  "36061001401" "36061002201" "36061003200" "36061004000" ...
 $ NAME    : chr  "14.01" "22.01" "32" "40" ...
 $ LSAD    : chr  "CT" "CT" "CT" "CT" ...
 $ ALAND   : num  93510 161667 217682 178340 124447 ...
 $ AWATER  : num  0 0 0 0 0 0 0 0 0 0 ...
  • Tujuan: Menambahkan estimasi pendapatan median ke data frame ini
Memvisualisasikan Data Geospasial di R

Korespondensi antara poligon dan data

four_tracts
class       : SpatialPolygons 
features    : 4 
extent      : -73.99022, (xmin)
              -73.97875, (xmax)
              40.71413,  (ymin)
              40.73329   (ymax)
coord. ref. : +proj=longlat +datum=NAD83
              +no_defs +ellps=GRS80 
              +towgs84=0,0,0 
sapply(four_tracts@polygons,
       function(x) x@ID)
"156" "157" "158" "159"
four_data
    TRACTCE
159  004000
158  003200
157  002201
156  001401
Memvisualisasikan Data Geospasial di R

Korespondensi antara poligon dan data

SpatialPolygonsDataFrame(Sr, data, match.ID = TRUE)

SpatialPolygonsDataFrame(four_tracts, four_data)
class       : SpatialPolygonsDataFrame 
features    : 4 
extent      : -73.99022, -73.97875, 40.71413, 40.73329  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0 
variables   : 1
names       : TRACTCE 
min values  :  001401 
max values  :  004000
Memvisualisasikan Data Geospasial di R

Korespondensi antara poligon dan data

SpatialPolygonsDataFrame(Sr, data, match.ID = TRUE)

SpatialPolygonsDataFrame(four_tracts, four_data)@data
    TRACTCE
156  001401
157  002201
158  003200
159  004000
Memvisualisasikan Data Geospasial di R

Korespondensi antara poligon dan data

SpatialPolygonsDataFrame(four_tracts, four_data, match.ID = FALSE)@data
    TRACTCE
159  004000
158  003200
157  002201
156  001401

Korespondensi kini hilang!

Memvisualisasikan Data Geospasial di R

Menambahkan data baru

  • Setelah dibuat, tidak ada pemeriksaan agar data tetap cocok dengan poligon
  • Buat ulang objek dengan sangat hati-hati mencocokkan poligon ke baris yang benar
  • sp::merge(), merge() untuk objek sp
Memvisualisasikan Data Geospasial di R

Ayo berlatih!

Memvisualisasikan Data Geospasial di R

Preparing Video For Download...