【问题标题】:How to plot SP object as SF, in R leaflet如何在 R 传单中将 SP 对象绘制为 SF
【发布时间】:2021-06-02 20:54:18
【问题描述】:

我刚开始使用 GIS,所以请不要吝啬。

我正在尝试绘制不同的 shp 文件,但是这个特定的文件没有绘制到我使用传单包构建的交互式地图上。

文件本身可以很好地加载到 R 中,但是当我将它插入我的地图时,它看起来超级缩小并且看起来像 this

所以我运行了这段代码“属性(几何)” 这出现了-

$generic
[1] "geometry"
attr(,"package")
[1] "sp"

$package
[1] "sp"

$group
list()

$valueClass
character(0)

$signature
[1] "obj"

$default
`\001NULL\001`

$skeleton
(function (obj) 
stop("invalid call in method dispatch to 'geometry' (no default method)", 
    domain = NA))(obj)

$class
[1] "standardGeneric"
attr(,"package")
[1] "methods"

在我看来,我正在处理“sp”而不是“sf”.. 需要对此做些什么吗?

另外这部分“stop(”invalid call in method dispatch to 'geometry' (no default method)”看起来也很奇怪。

你能帮我解决这个问题吗?

我正在尝试使用传单中的“addPolygons”函数进行绘图。

非常感谢!

【问题讨论】:

    标签: r leaflet gis shapefile sf


    【解决方案1】:

    您似乎使用rgdal::readOGR() 来读取shapefile;它产生一个Spatial 对象(在 {sp} 领域,而不是 {sf} 领域)。

    我建议您考虑使用sf::st_read() 将 shapefile 导入 R;那么它应该表现得更好。

    【讨论】:

    • 非常感谢您的回复-我使用“sf::st_read”函数导入文件,导入时shp文件本身很好,但是当我将它加载到我的交互式地图上时完全搞砸了一切。一切都被超级缩小了……你知道为什么会这样吗?
    • 我在原帖里加了一张照片,给大家看看!
    • @Hibyetree 这是默认值 - 整个世界,没有显示数据。常规情节有什么表现吗? sf::st_crs() 告诉你什么?它应该是 EPSG:4326 (= WGS84),如果不是,则将对象通过管道传输到 st_transform(4326)
    • 是的 - 当我运行 CRS 时,我得到这个:" +proj=aea +lat_0=0 +lon_0=25 +lat_1=20 +lat_2=-23 +x_0=0 +y_0=0 +datum =WGS84 +units=m +no_defs " ,当我在上面运行类函数时,我得到了 "sf"、"tbl_df"、"tbl" 和 "data.frame"。
    • 是的 - 常规图确实显示了一堆地图,所以它有效.. 只是当我尝试将它添加到我的传单地图时,它会像这样缩小:(不知道为什么“ sp”的东西也在那里..
    猜你喜欢
    • 2020-08-14
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多