我目前正在尝试让sf :: st_make_valid()函数在R 3.3.3(Windows)下运行。
我的问题是sf包不是针对liblwgeom库构建的。要在windows下安装liblwgeom,我尝试安装osgeo4w,根据其安装选项列出liblwgeom库。仍然,在通过osgeo4w安装程序安装liblwgeom之后,sf无法识别liblwgeom库。
关于有效功能的sf文档: 仅当包与liblwgeom链接时才可用,目前情况并非如此 二进制CRAN分布;有关如何使用的说明,请参阅包源代码存储库 安装liblwgeom
有什么建议吗?
install.packages("sf")
library(sf)
Linking to GEOS 3.5.0, GDAL 2.1.1, proj.4 4.9.3
如果sf识别出liblwgeom库,则应在加载sf包时指明它。
任何人都有过如何在sf包中启用st_make_valid功能以及如何在Windows上安装liblwgeom的经验?
答案 0 :(得分:3)
如果您安装了rtools,您现在应该可以通过从https://github.com/r-spatial/lwgeom/安装包lwgeom
来获得此功能
答案 1 :(得分:1)
我一直在尝试让这个工作。不幸的是,开发人员确实not currently know最好的方法是让这个工作按照要求运行。
一个对我有用的解决方案,主要是根据您尝试使用st_make_valid
的几何类型,使用st_buffer(x, 0.0)
。这在this blog post中有更详细的描述。据我所知,它将所有几何点与零距离替换为几何,并尝试解决会使多边形无效的事物。我用它来处理多边形中的自相交。