我在1983年的状态平面坐标系中有以下坐标数据集。所有坐标都位于长岛区(3104)。
dput(example)
structure(c(1008031L, 1000852L, 1001869L, 1005306L, 986887L,
998031L, 1018703L, 1014319L, 1016186L, 1006977L, 1006891L, 1000883L,
1001403L, 999812L, 1010077L, 1015918L, 984241L, 1013735L, 986848L,
998243L, 1007312L, 1005663L, 992415L, 999771L, 1006787L, 987215L,
990271L, 1015773L, 999342L, 1007245L, 1007098L, 996980L, 1006886L,
999643L, 1008769L, 1016489L, 1004212L, 986848L, 1001512L, 1002584L,
1001753L, 1004625L, 990725L, 1013435L, 1010795L, 1007509L, 1009419L,
NA, 1009731L, 999007L, 999007L, 1000195L, 985863L, 990064L, 1008192L,
1008306L, NA, 1003280L, 1006541L, 1001264L, 1003844L, 1008345L,
987951L, 999104L, 1009013L, 998201L, 984182L, 1004940L, 1004513L,
999659L, 1018204L, 1005918L, 1008158L, 999629L, 982208L, 1008008L,
983985L, 1003591L, 992033L, 1012144L, 1008285L, 1004196L, 999937L,
1007579L, 1001610L, 1013897L, 985504L, 1003588L, 1000088L, 1002230L,
999304L, 1001393L, 997666L, 999148L, 997501L, 1004670L, 994699L,
1005950L, 994821L, 998160L, 233036L, 228179L, 190702L, 186668L,
173599L, 234924L, 241414L, 182198L, 178657L, 178140L, 242280L,
236356L, 235184L, 238138L, 181374L, 245648L, 149582L, 211309L,
212883L, 176387L, 243183L, 237170L, 149315L, 188471L, 242047L,
215403L, 203844L, 240835L, 233575L, 234932L, 166665L, 174885L,
193881L, 228852L, 244547L, 247336L, 178750L, 212883L, 232231L,
248715L, 182080L, 242885L, 204176L, 251857L, 183147L, 245160L,
235573L, NA, 243613L, 229814L, 229814L, 229856L, 212233L, 225331L,
245037L, 245316L, NA, 229886L, 243541L, 232832L, 250988L, 235949L,
220453L, 192913L, 242619L, 173610L, 150037L, 169914L, 180635L,
229932L, 239783L, 190990L, 244973L, 243379L, 170319L, 246638L,
205857L, 242274L, 215119L, 236944L, 245256L, 183865L, 238365L,
183413L, 241367L, 238753L, 216029L, 249617L, 230093L, 176647L,
227192L, 200533L, 177016L, 187285L, 170971L, 233870L, 176744L,
179753L, 177866L, 227234L), .Dim = c(100L, 2L), .Dimnames = list(
NULL, c("xcoord", "ycoord")))
我需要在lat./long中设置坐标。格式或wgs84。
有人可以告诉我这是怎么做到的吗? 谢谢你的帮助。
答案 0 :(得分:4)
您可以使用rgdal
和sp
执行此操作。
library(rgdal)
library(sp)
# I made a guess at the PROJ4 string that your data was in. This is using SRID: 2831
long.island.proj4<-CRS("+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
# Remove the missing values in your data, and convert to SpatialPoints
sp.points<-SpatialPoints(example[complete.cases(example),],proj4string=long.island.proj4)
# Project to lat/long
spTransform(sp.points,CRS('+proj=longlat'))
答案 1 :(得分:4)
rgdal
的替代方案是proj4
包。它具有transform
功能。我猜测使用的投影是http://www.spatialreference.org/ref/epsg/32118/
library(proj4)
dat <- structure(c(1008031L, 1000852L, 1001869L, 1005306L, 986887L,
998031L, 1018703L, 1014319L, 1016186L, 1006977L, 1006891L, 1000883L,
1001403L, 999812L, 1010077L, 1015918L, 984241L, 1013735L, 986848L,
998243L, 1007312L, 1005663L, 992415L, 999771L, 1006787L, 987215L,
990271L, 1015773L, 999342L, 1007245L, 1007098L, 996980L, 1006886L,
999643L, 1008769L, 1016489L, 1004212L, 986848L, 1001512L, 1002584L,
1001753L, 1004625L, 990725L, 1013435L, 1010795L, 1007509L, 1009419L,
NA, 1009731L, 999007L, 999007L, 1000195L, 985863L, 990064L, 1008192L,
1008306L, NA, 1003280L, 1006541L, 1001264L, 1003844L, 1008345L,
987951L, 999104L, 1009013L, 998201L, 984182L, 1004940L, 1004513L,
999659L, 1018204L, 1005918L, 1008158L, 999629L, 982208L, 1008008L,
983985L, 1003591L, 992033L, 1012144L, 1008285L, 1004196L, 999937L,
1007579L, 1001610L, 1013897L, 985504L, 1003588L, 1000088L, 1002230L,
999304L, 1001393L, 997666L, 999148L, 997501L, 1004670L, 994699L,
1005950L, 994821L, 998160L, 233036L, 228179L, 190702L, 186668L,
173599L, 234924L, 241414L, 182198L, 178657L, 178140L, 242280L,
236356L, 235184L, 238138L, 181374L, 245648L, 149582L, 211309L,
212883L, 176387L, 243183L, 237170L, 149315L, 188471L, 242047L,
215403L, 203844L, 240835L, 233575L, 234932L, 166665L, 174885L,
193881L, 228852L, 244547L, 247336L, 178750L, 212883L, 232231L,
248715L, 182080L, 242885L, 204176L, 251857L, 183147L, 245160L,
235573L, NA, 243613L, 229814L, 229814L, 229856L, 212233L, 225331L,
245037L, 245316L, NA, 229886L, 243541L, 232832L, 250988L, 235949L,
220453L, 192913L, 242619L, 173610L, 150037L, 169914L, 180635L,
229932L, 239783L, 190990L, 244973L, 243379L, 170319L, 246638L,
205857L, 242274L, 215119L, 236944L, 245256L, 183865L, 238365L,
183413L, 241367L, 238753L, 216029L, 249617L, 230093L, 176647L,
227192L, 200533L, 177016L, 187285L, 170971L, 233870L, 176744L,
179753L, 177866L, 227234L), .Dim = c(100L, 2L), .Dimnames = list(
NULL, c("xcoord", "ycoord")))
lonlat <- project(dat,
'+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ',
inverse=T)