我一直在使用以下代码来阅读人口普查数据并为每个人口普查区域生成质心数据。我想通过Foursqaure API进行一些抽样来从中抽取纬度和经度,这需要经度和纬度。我注意到这段代码让我回到了与纬度经度不同的坐标系。知道我是如何能够提取纬度经度无论是转换坐标还是通过不同的函数?
#load libraries-----------------------------
library(rgdal)
library(sp)
library(GISTools)
library(ggplot2)
#load census tact file------------------------
tracts = readOGR("nycb2010.shp", layer="nycb2010")
#extract centroids
centroids = as.data.frame(getSpPPolygonsLabptSlots(tracts))
#map new data
ggplot() + geom_polygon(data=tracts, aes(x=long, y=lat, group=group), fill="black", colour="grey90", alpha = 1)+
geom_point(data=centroids, aes(x=V1, y=V2, group = 1, color = 'red'), size = .1)
答案 0 :(得分:0)
您可以使用函数spTransform
更改空间数据的坐标系,如下所示:
library(sp)
library(rgdal)
lat_long = CRS("+init=epsg:4326")
tracts_lat_long <- spTransform(tracts, lat_long)
proj4string(tracts_lat_long)
[1] "+init=epsg:3035 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"