У меня есть несколько фреймов данных в R. Первый фрейм данных содержит вычисленную выпуклую оболочку набора широт и длинных координат по рынку (любезно предоставлено chull в R). Это выглядит так:
MyGeo<- "Part of Chicago & Wisconsin"
Longitude <- c(-90.31914, -90.61911, -89.37842, -88.0988, -87.44875)
Latitude <- c(38.45781, 38.80097, 43.07961, 43.0624,41.49182)
dat <- data.frame(Longitude, Latitude, MyGeo)
Второй имеет почтовые индексы по широте и продольным координатам (любезно предоставлено сайтом переписи населения США). Это выглядит так:
CensuseZip <- c("SomeZipCode1","SomeZipCode2","SomeZipCode3","SomeZipCode4","SomeZipCode5","SomeZipCode6","SomeZipCode7")
Longitude2 <- c(-131.470425,-133.457924,-131.693453,-87.64957,-87.99734,-87.895,-88.0228)
Latitude2 <- c(55.138352,56.239062,56.370538,41.87485,42.0086,42.04957,41.81055)
cen <- data.frame(Longitude2, Latitude2, CensuseZip)
Теперь я считаю, что первая таблица данных предоставляет мне многоугольник или границу, которую я должен использовать, чтобы идентифицировать почтовые индексы, попадающие в эту границу. В идеале я хотел бы создать третью таблицу данных, которая выглядит примерно так:
Longitude2 Latitude2 CensusZip MyGeo
-131.470425 55.138352 SomeZipCode1
-133.457924 56.239062 SomeZipCode2
-131.693453 56.370538 SomeZipCode3
-87.64957 41.87485 SomeZipCode4 Part of Chicago & Wisconsin
-87.99734 42.0086 SomeZipCode5 Part of Chicago & Wisconsin
-87.895 42.04957 SomeZipCode6 Part of Chicago & Wisconsin
-88.0228 41.81055 SomeZipCode7 Part of Chicago & Wisconsin
По сути, я хочу определить все почтовые индексы, которые располагаются между синим (см. Изображение, которое можно нажимать ниже) длинной и латовой точками. Хотя это показано ниже, я на самом деле ищу таблицу, описанную выше.
Однако ... У меня проблемы с этим ... Я попытался использовать приведенные ниже пакеты и скрипт:
library(rgeos)
library(sp)
library(rgdal)
coordinates(dat) <- ~ Longitude + Latitude
coordinates(cen) <- ~ Longitude2 + Latitude2
over(cen, dat)
но я получаю все NA
с.