|||
环境信息经验一:等值线程序
八十年代末期从事环境影响评价工作时,一个困难是没有绘图软件(程序),地图和等浓度线画起来难度大。1989年自行开发完成了等值线程序,得到了很多应用。为了提高计算速度,程序是FORTRAN写的,计算应该连接的各点坐标,记录在数据文件中。然后通过BASIC程序,调用这个数据文件,结合地图,调用绘图仪输出。之后又改写为C++语言模块,放在环境信息系统中应用。原因是地理信息系统(GIS)非常商业化,而环境信息系统常常主要应用GIS中的地图功能,“嵌入式”是经常选择。这时GIS往往不含等值线作图部分,这时自己开发的等值线模块就有用了。
这里提供思路和源程序,供有兴趣的青年人应用。
近几年没有再仔细调研过等值线程序的国内外文献,以前做过,感觉我的方法是比较好的。想过发文章,一直懒,最终也没有写好,没有发表过。曾经想称为:“全局定位型矩形网格等值线算法"
思想:如图1,如果已经有计算好的网格浓度,用颜色深浅表示。
图中有4种不同深浅的颜色(应用计算机很容易分辨的)。如果等值线就按这4个值,每个值有几条线,在哪里,已经一目了然了。因此可以利用这一步,可能联结的每条等值线上的点坐标,对应的网格点“点对”。然后按这些记录下来的“点对”数据,一条一条地排序判断,连接次序,计算真正需要的点坐标。
这个算法的优点是,不可能发生连接误差:交叉或遗漏。缺点是要先计算网格点浓度,精度受到网格疏密的限制,因此也受到计算语言软件数组大小的限制。经验是,81´81的网格在一般情况下足够了。图中是23´23。计算结果如图二:
附源程序:FORTRAN, BASIC, C++。 供参考,是1994年的,去掉了一些不必要的字符。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-20 23:29
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社