0
我有一个由二维浮点数组表示的高程图。来自边界的区域集合
有此地图,其边缘我已经包含在其中包含的边缘的小区的列表的单个载体(由它们的x
和y
坐标值确定)的区域。
边缘单元不知道它们与哪个区域相关联,也没有在矢量内连续的边缘单元必须在地图中彼此相邻。
我希望能够根据这些信息(整个地图的边缘单元列表,它们可能不会相邻)唯一地标识每个区域。
我曾想过尝试从一个边缘单元开始并遍历边缘,但是封闭空间可能包含应该排除的区域(本身包含湖泊的岛屿周围的湖泊)。我曾考虑过使用某种桶填充,但这会破坏宝贵的高程数据,我不想创建第二个数组来存储信息。
任何思考一个有效的方式来解决它?
我原本不愿意使用额外的内存来解决问题,但似乎这将是解决问题的最优雅和最快捷的方式(使用位域),所以我会使用它。 – Richard 2012-02-23 06:40:34
是的,可能更安全的切换符号位与位运算符比否定浮点值,因为-0仍然是0. – 2012-02-23 08:23:55
哦,我的意思是我会使用2d布尔数组。但你提出了一个很好的观点,我可能会忽略这一点! – Richard 2012-02-25 22:25:23