资源简介
在GIS领域,拓扑(topology)算法是一个很重要的算法。它把平面上的线段、折线,自动连接成网络,进而构成封闭的区域。 从而形成面和面之间、面和线之间、线和结点之间等各种空间关系。 通过这个算法,可以把给定区域内的线的集合构成网络或面,因此拓扑是数据处理、空间分析领域的一个极为重要的运算工具。几乎所有的重要的GIS系统都提供这样的算法。然而即使是最出名的系统,提供的算法仅是让用户使用而已。本文根据作者多年的经验,总结出这样一套C语言的算法,不敢说是目前出现的最好的算法,起码在互联网上,搜索不到比这个更精炼和优美的算法实现。
代码片段和文件信息
/****************************************************************************************
* list.c *
* Generic sequential linked list node structure -- can hold any type data. *
* cheungmine *
* Mar. 22 2008. All rights reserved. *
****************************************************************************************/
#include “list.h“
void
list_traverse(list_t *in_list pfunc_list_callback pfcb)
{
listnode_t* node;
if (pfcb) {
node = in_list->head;
while (node) {
(*pfcb)(node);
node = node->next;
}
}
}
list_t*
list_create()
{
list_t *li
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6284 2008-11-08 16:05 topo\list.c
文件 4454 2008-11-08 16:05 topo\list.h
文件 28350 2009-05-10 13:20 topo\rtree_2d.c
文件 6366 2008-07-21 15:42 topo\rtree_2d.h
文件 2352 2008-07-15 11:55 topo\test.c
文件 5019 2010-05-12 10:59 topo\test_topo\test.c
文件 882 2008-07-19 10:45 topo\test_topo\test_topo.sln
..A..H. 13312 2010-06-25 20:35 topo\test_topo\test_topo.suo
文件 4365 2008-07-21 15:43 topo\test_topo\test_topo.vcproj
目录 0 2010-06-25 20:36 topo\test_topo
文件 32753 2008-12-27 14:01 topo\topo.c
文件 6203 2008-08-02 16:40 topo\topo.h
文件 57506 2008-07-27 23:49 topo\topo.lin
文件 2116 2009-05-23 11:14 topo\unistd.h
目录 0 2009-05-23 11:14 topo
----------- --------- ---------- ----- ----
169962 15
- 上一篇:C链表实现一元多项式的相加
- 下一篇:最短哈密顿回路算法C语言实现
评论
共有 条评论