首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用rgdal将EPSG:4326坐标转换为EPSG: 3857 in r?

如何使用rgdal将EPSG:4326坐标转换为EPSG: 3857 in r?
EN

Stack Overflow用户
提问于 2019-01-09 23:57:10
回答 1查看 2K关注 0票数 1

我设法将我在EPSG:4326中投影的坐标集转换为EPSG:3857,但是,结果与我在

虽然r中提供的EPSG系统的细节(参见下面的脚本)与https://epsg.io/transform#s_srs=4326&t_srs=3857&x=14.5172200&y=46.0658300软件中的描述相匹配,但也可以直接在ArcGIS中找到。

我已经用以下代码尝试过了:

代码语言:javascript
复制
library("rgdal", lib.loc="~/Library/R/3.4/library")


orig_coords <- data.frame(lat=c(46.065830, 46.042211, 46.094612), lon=c(14.517220, 14.487756, 14.597046))
coordinates(orig_coords) <- c('lat', 'lon')

#Determine the projection of the lat-long coordinates, by default it is EPSG:4326
proj4string(orig_coords) <- CRS("+init=epsg:4326")
print(summary(orig_coords))

#Convert the coordinates to the used metric system (EPSG:3857)
Metric_coords<-spTransform(orig_coords,CRS("+init=epsg:3857"))
print(summary(Metric_coords))    

正确的坐标应该是

代码语言:javascript
复制
5790904.807 1616049.538;
5787116.145 1612769.621;
5795523.844 1624935.728;

相反,我得到了:

代码语言:javascript
复制
lat - lon;
[1,] 5128025 1633624;
[2,] 5125395 1630236;
[3,] 5131229 1642804;

我找不到问题出在哪里。

EN

回答 1

Stack Overflow用户

发布于 2019-06-25 21:13:38

我相信CRS("+init=epsg:3857")必须由大写的CRS("+init=EPSG:3857")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54113896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档