缓冲折线以创建多边形的有效算法?

时间:2009-01-28 12:51:03

标签: c# geometry geospatial virtual-earth

我需要编写一些代码来缓冲一条线来创建一个多边形,如下所示。

http://www.sli.unimelb.edu.au/gisweb/BuffersModule/Buff_line.htm

从按照概述的步骤开始,我可以在简单的线条周围创建多边形,这些线条不会交叉自己或者曲线太紧,但是因为我试图缓冲的线条是波浪形的飓风轨道,所以它真的不够好。

我知道SQL Server 2008中有一个可以执行此操作的功能,但我担心目前还不行。

有人能指出我可以遵循的更完整算法的方向,或任何可以帮我解决这个问题的背景信息吗?

1 个答案:

答案 0 :(得分:4)

虽然这在GIS中被称为缓冲,但显然算法算术的数学家称之为Minkowski sum。谷歌搜索由算法专家Steven Skiena发现this page,它链接到几个算法实现和一些书籍。希望这可以帮助!

它现在(3月9日)链接到的算法实现之一是CGAL,一个开源C库。