【发布时间】:2021-11-24 12:49:21
【问题描述】:
根据documentation,R 中的传单支持投影坐标参考系统。但是,我无法完成这项工作。
给定投影坐标系 EPSG:27700(称为 myprojectedsfobject)中的任何 sf 多边形对象,运行屏幕截图下方的代码块会给出代码中注释的错误。
crs <- leafletCRS(
code = "EPSG:27700",
proj4def =
"+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs")
leaflet(options = leafletOptions(crs = crs)) %>%
addPolygons(data = myprojectedsfobject, label = ~htmlEscape(NAME_3), fill = FALSE)
#Warning messages:
#1: sf layer is not long-lat data
#2: sf layer has inconsistent datum (+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 #+y_0=-100000 +ellps=airy +units=m +no_defs).
#Need '+proj=longlat +datum=WGS84'
任何人都可以帮助如何在 R 的传单中正确实现投影坐标系吗?
【问题讨论】:
-
为什么不直接转换成长纬度数据呢?
myprojectedsfobject %>% st_transform(4326) -
公平的挑战,但这是安全关键信息,其中由于转换导致的位置不准确可能是一个问题。另外,数据集很大,我不希望增加额外的处理开销。此外,我想与英国国家网格投影中的机载图像集成,这会导致另一个数据集的转换问题。简短的回答:设置投影坐标系会更容易。
-
我和 OP 有完全相同的问题,Jumble 的回答帮助解决了这个问题 - 已投赞成票。