Нанесение точек на карту в R

Я успешно загрузил шейп-файл областей NYC PUMA в R с помощью инструментов карты и хочу нанести на него 55 точек, которые у меня есть в другом файле, следующим образом:

X   Y   pumace10    events_2008 events_2009
-73.9092456917  40.8916125162   3701    2   0
-73.8617096298  40.8899373255   3702    0   0
-73.8010284966  40.8460832277   3703    1   1

Однако точки не будут отображаться.

Сначала я делаю это, чтобы построить шейп-файл:

plot(nycs)

И он отображает шейп-файлэто шейп-файл

Затем я пытаюсь нанести точки сверху, но независимо от того, что из следующего я делаю, это всегда терпит неудачу:

points(nyc_data$X,nnyc_data$Y,pch=20,col="red")

or

plot(nyc_data, pch=16, col='firebrick',add=TRUE)

or

plot(nyc_data$X,nyc_data$Y,pch=20,col="red")

(этот последний отображает данные на новом графике, который представляет собой просто разброс X-Y, а не накладывается на шейп-файл)

Любые идеи, как это сделать?

РЕДАКТИРОВАТЬ, файлы добавлены (надеюсь, изменены на рабочие файлы!):

Информация о шейп-файле: https://www.sendspace.com/file/wbqrpb Файл точек: https://www.sendspace.com/file/9yrrbu


person the_t_test_1    schedule 28.02.2017    source источник
comment
Файлы формы и точек добавлены выше.   -  person the_t_test_1    schedule 01.03.2017
comment
...и файлы dbf/prj.   -  person the_t_test_1    schedule 01.03.2017


Ответы (1)


В любом случае, вы могли бы отправить файлы, которые вы используете?

Я предполагаю, что у вас есть одна из двух проблем:

1) либо фрейм пространственных данных «точки», либо файл NYC PUMA не имеют системы отсчета координат.

2) у них обоих есть системы отсчета, но они разные.

Скорее всего, ваша проблема в том, что у точек отсутствует система отсчета.

РЕДАКТИРОВАТЬ:

Проблема в том, что два набора данных находятся в разных координатах, и я не уверен, что такое система координат для точек. Вот мой код. Проблема в том, что CRS для точек явно не является ни обычной широтой/долготой, ни проекцией, используемой в шейп-файле. Если у вас есть дополнительная информация об источнике точек данных, возможно, мы сможем увидеть, какую проекцию они используют.

library(sp)
library(maptools)
library(rgdal)
library(rgeos)

Points=read.csv("nyc_data_sample.csv",stringsAsFactors=F)
shapefile=readOGR("shapefiles","nyu_2451_34512")



Points_Shape = SpatialPoints(Points[,c("X","Y")],proj4string=CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
#Points_Shape = SpatialPoints(Points[,c("X","Y")],proj4string=CRS(proj4string(shapefile)))

Points_Shape = SpatialPointsDataFrame(Points_Shape,Points)
person Mauricio Romero    schedule 28.02.2017
comment
Я думал, что сделал это, но теперь вы заставили меня усомниться в этом... Я загрузил файл формы и точек выше ^ - person the_t_test_1; 01.03.2017
comment
Есть ли в вашем шейп-файле файлы .prj, .dbf и т. д.? также не работает ваш .shp. - person Mauricio Romero; 01.03.2017
comment
Да, теперь они тоже подключены. - person the_t_test_1; 01.03.2017
comment
не уверен, что вы читаете вторую часть моего комментария. ваш .shp не работает. он не открывается ни в R, ни в Qgis - person Mauricio Romero; 01.03.2017
comment
Он работает как у меня, так и в R, я загрузил его через nycs=readShapePoly(/home/nyc/02_project/data/acs/shapefiles/nyu_2451_34512.shp,proj4string=crswgs84,verbose=TRUE) - person the_t_test_1; 02.03.2017
comment
Это не работает. Я использовал ту же команду + попробовал readOGR. Скорее всего, загруженный файл не совпадает с файлом на вашем компьютере. - person Mauricio Romero; 02.03.2017
comment
Это странно - я проверил загруженные файлы, и вы правы, извините. Понятия не имею, почему... во всяком случае, обновил файлы выше, и они должны работать нормально (я проверял). Спасибо за ваши усилия и надеюсь, что это работает :) - person the_t_test_1; 03.03.2017
comment
Есть подвижки в этом? Я проверил, и файлы работают, но все еще не могу построить :/ - person the_t_test_1; 06.03.2017
comment
Я скачал данные (сейчас работает). Проблема в том, что они приходят в разных координатах. Вот мой код - person Mauricio Romero; 06.03.2017
comment
Файл точек представляет собой геокодированные адреса через Bing (WGS84?), а шейп-файл получен из колледжа Баруха CUNY (может быть, EPSG: 2263. NAD83 / Нью-Йорк, Лонг-Айленд, согласно файлу .xml?)... - person the_t_test_1; 06.03.2017
comment
Какой код вы использовали для геокодирования адресов? Они не в широте/долготе (посмотрите на цифры, это просто невозможно) - person Mauricio Romero; 07.03.2017
comment
Вы абсолютно правы - мне очень жаль, что я ввел вас в заблуждение... точки на самом деле генерируются из центроидов полигонов через QGIS! Возможно, мне нужно изменить настройки, по которым я их генерирую? - person the_t_test_1; 07.03.2017
comment
Вероятно, проблема просто в том, что вам нужно знать, какая проекция используется... вот и все. В настоящее время координаты есть, но без системы отсчета (она же проекция) они бессмысленны. - person Mauricio Romero; 07.03.2017