我可以编写我的代码逻辑来缓冲多段线或缓冲多段线的起点和终点。使用这些点会更容易,因此它是首选方式。
从逻辑上讲,我的推理告诉我缓冲一个点会更快,因为它总是一个完美的圆。但是缓冲 2 个点仍然会比缓冲 1 个折线更快吗?我的直觉说是的。
任何意见?
我可以编写我的代码逻辑来缓冲多段线或缓冲多段线的起点和终点。使用这些点会更容易,因此它是首选方式。
从逻辑上讲,我的推理告诉我缓冲一个点会更快,因为它总是一个完美的圆。但是缓冲 2 个点仍然会比缓冲 1 个折线更快吗?我的直觉说是的。
任何意见?
我很确定点缓冲速度更快。缓冲多段线需要创建偏移平行线,然后将它们合并成一个环 - 更多的计算。
尽管有 kirkktx 和我的逻辑过程,但显然我们的理论并不成立。我在 500 条折线上运行了一些基准测试:在我的机器上缓冲折线大约需要 900 毫秒。并且仅缓冲每条折线的 FromPoint 大约需要 1000 毫秒。因此缓冲 1 个点而不是折线仅快 10% 左右。这令人困惑。这意味着当我为每条折线缓冲 2 个点时,所需的时间几乎是缓冲折线本身的两倍。
还取决于您使用哪种方法来制作折线或点的缓冲区。使用地理处理工具比直接使用ITopologicalOperator.Buffer()
ArcObjects 的方法要慢。