Daily Archives: July 24, 2007

CLUE-S土地利用模型与其它应用程序的集成问题

CLUE-S是针对小区域的土地利用空间变化模拟模型,手上的CLUE-S v2.3从西北师大ZB
教授处得到。不过也是个DEMO版,有一些限制,比如最多允许12种土地利用类型、只支
持最多3个region,模拟区域也被限制为400×400网格大小。模型并不复杂,参数也很
简明,不过数据集的制备估计是很讨厌的一件事。好在空间格网可以通过ArcView来转
成ASCII grid,其它文本配置文件就得自己准备了。
CLUE-S只是提供了土地利用变化空间格局的模拟能力,完整的模拟能力还需要借助于一
些传统的社会经济模型。CLUE-S要求提供的土地利用需求情景文件,就需要依靠其它模
型获取未来各年的各种土地利用类型的面积大小。CLUE-S依靠这个文件来使模拟结果收
敛。
我们要做的是集成工作,希望将CLUE-S与其他应用程序集成到一个统一的框架内。基本
没有参考资料。查看了一下CLUE的官方网站,提到如果想集成,需要跟他们进行合作,
意味着我们得掏钱请他们来做。从程序角度看,CLUE-S的图形界面写的十分糟糕,存在
很多明显的BUG。尽管不能拿到他们的源代码做更多的紧密集成,但也未必是不可能
做,尽管从技术上对我们有些难度。
存在的集成技术问题有:
1)如何通过我们的程序来调用CLUE-S界面上的命令,比如执行,比如选择合适
scenario;
2)如何有效快捷的生成CLUE-S需要的数据文件;
问题1解决方案是window hook,即通过win api寻找clue-s窗口,通过PostMessage等
api发送相关消息。技术上有很多文献可供参考,比如
http://www.codeproject.com/win32/manipwindows.asp 提到的例子。一个现成的工具
如微软的Spy++采用的就是同样的hook技术。Hook被很多游戏外挂和病毒程序所使用。
问题2解决方案依赖于对每个参数文件格式的理解,好在它的帮助写的不错,看起来很
清楚。我们如果能提供一个好的辅助工具更容易形成参数文件,应该是个不错的工作。
希望在2周内能完成这些工作并集成到HDSS(基于插件的黑河流域水土资源决策支持系
统)。

早上搞笑的一件事

LD开车载女儿上学,经过渭源路-东岗西路的丁字路口时,需要左拐弯进渭源路。红灯
停,等待。岂料周围的车已经走停了两回,这边的左拐弯转向指示灯还没有动静,后面
压了一大溜的长队。115公交都压了两辆在后面了。我们正在讨论怎么这指示灯坏了
吗? “碰碰碰”有人敲窗抗议来了,道,再向前开一点,离线太远了,指示灯不亮。
正在怀疑中,有这么高级的东西,我们居然都不知道。这时一货车不耐烦已经超过我们
前面,才一会,左转指示绿灯亮了。晕倒,居然不知道这么高科技术的东东,也没见哪
个教练在俺们学车的时候指点一下。
送完孩子,走路回。再经路口,发现一需左转的出租车,离路口距离停的比我们还远
(没有停止线可供参考,司机师傅也不知道,我们稍找回点平衡。),于是我们使劲盯
着出租车看,果然好长时间持续红灯,但出租车一看不对劲,慢慢向前移动,第二个周
期时,绿灯亮了。出租车可能发现我们使劲看着他,以为我们要坐车,掉头冲我们来
了,我们没理会,他跟在后面打喇叭。再没理会,才走掉。