Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:拓扑异常错误_R_Geospatial_Sp - Fatal编程技术网

R:拓扑异常错误

R:拓扑异常错误,r,geospatial,sp,R,Geospatial,Sp,我试图在两个多边形之间进行gDifference,但我得到了一个错误: Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, drop_not_poly, "rgeos_intersection") : TopologyException: Input geom 0 is invalid: Self-intersection at or near point. 所以我这样做了: polygone1 <- gBuffer(polygo

我试图在两个多边形之间进行
gDifference
,但我得到了一个错误:

Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, drop_not_poly, "rgeos_intersection") : TopologyException: Input geom 0 is invalid: Self-intersection at or near point. 
所以我这样做了:

polygone1 <- gBuffer(polygone1, byid=TRUE, width=0)
polygone2 <- gBuffer(polygone2, byid=TRUE, width=0)
res <- gDifference(polygone1, polygone2)

有办法解决这个问题吗?使用ArcGIS中的擦除功能执行同样的操作非常好。

您看到答案并阅读其中的参考资料了吗?您是否使用
gIsValid
检查了所有功能是否有效?你试过移除或纠正无效的吗?是的,我试过了。所有功能均有效您是否可以提供多边形数据,以便我们查看?您看到答案并阅读其中的参考资料了吗?您是否使用
gIsValid
检查了所有功能是否有效?你试过移除或纠正无效的吗?是的,我试过了。所有的功能都是有效的。你能提供你的多边形数据吗?这样我们就可以看一看了?
Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, drop_lower_td, "rgeos_difference") : 
  TopologyException: EdgeRing::computePoints: found null Directed Edge