制图模型是根据投影原理制作的零件、部件、结构等的模型。用作机械、土建等工程制图学科的直观教具。
制图建模一词是C.DanaTomlin和Joseph K.Berry(1979)提出的,用以指明应用命令组合来回答有关空间现象问题的处理。制图模型是针对原始数据(也包括导出数据和中间地图数据)进行一系列交互有序的地图操作来模拟空间决策的处理。
制图模型是将所研究的数据以及分析过程用图形来表示。它的目的就是要在研究当中帮助分析人员组织及规划要完成的分析过程,并且指出用了完成这一分析过程所需的数据。另外,它也用于说明文档中的素材以及分析研究中的参考。
在创建制图模型过程中,我们发现了一种非常有用的方法,即从最终结果开始,然后按照反向的方式一步一步地走回当前已有的数据。这样做可以保证避免发生已有数据影响到最终结果的倾向。因此这个过程以定义一个最终结果为开始。它会出现什么样的数值?这些数据都意味着什么?哪些数据是必须的?这些数据是如何派生而来的?以下的例子将说明其过程。
假定我们想要显示出所有坡度大于20°的地区,我们会这样问自己,要生成这样一幅图像,哪些数据是必须具备的。如要生成一幅坡度大于20°的图像,反映所有坡度的数据库里有这样的图像吗?如果没有,要生成一幅所有坡度的图像,需要什么样的数据?一幅高程数据图像可用于生成坡度图像。那么,这幅高程数据图像有没有呢?如果没有的话,生成该图像需要何种数据?这一过程一直持续,直到我们有这些数据为止。
这些已有的数据可能已经是数字化的形式,或者可能是以纸张地图的形式,或是表格的形式。后两者均需要数字化。假如所需数据并不存在,可能需要采取一种方法,以便使用其他的数据图层,或者某些数据图像的组合方式来替代。
一旦设计好制图模型,就可以运行这些模型并得到输出数据图层。在IDRISl32的第二个版本中提供了图形化建模环境——Macro Modeler(宏语言建模器)模块。Macro Modeler用于创建与运行模型。但是,当在Macro Modeler中创建模型时,必须清楚使用哪个模块来生成输出数据。事实上,它需要用户从已有数据到最终产品建立模型。因此,首先以示图的形式创建概念制图模型,然后在Macro Modeler中建模。在Macro Modeler中建模允许用户修改模型错误及参数,然后重新运行整个模型,而不必手工地运行其中每个单独的模块。
在示意流程图中,我们通常总是在模型的左侧以最终结果作为开端,如何向右进行,鉴于其连贯性,我们遵从了有关符号学方面的某些常规。数据文件的表现形式如下图1所示。栅格图层文件由长方形组成:矢量图层文件由三角形组成;数值文件由椭圆形组成;而表格文件则由一个叠起一角的书页形式表示。在数据库中,我们用带有下划线的数据名称来识别单个的字段。文件名写在符号的内部。
在Macro Modeler中,模块用平行四边形来表示,模块的名称用粗体显示在平行四边形中。模块用箭头连接输入与输出的文件。当需要输入两个文件时,将来自这两个文件的箭头合并成一个箭头,指向模块的符号。
下图显示了用于计算上面例子的制图模型。从一个名为elevation的数值高程模型开始,slope模块用于创建该图像的输出文件slopes。该图像中包含坡度值,并使用reclass模块创建最终点图像high slopes,该图像显示了坡度大于20°的区域。
下图也显示了一个非常简单的制图模型的例子。该模型的两个输入文件分别是area与population栅格图层,使用oVerlay(除法选项)模块生成一人口密度栅格图像pop_density。
模型是用来表示实际的或抽象的物体和现象。现实世界中的地理实体可以用形象的直观的三维空间图形的模型加以表达。地理实体的模型就其复杂程度而言,可以分为三类:线框模型、面模型和实体模型。
面模型是在线框模型的基础上增加了有关面与边的拓扑信息而得,主要使用多边形、曲面等物体的各个表面单位来表示其形体特征。这种模型给出了顶点的几何信息及边与顶点、面与边之间的二层拓扑信息。下表在线框模型的基础上给出了该地物的面模型表示法。与线框模型相比,面模型具有较丰富的形体信息,但它并未指出该物体是实心还是空心,哪里是物体的内部和外部等信息,因此仅适用于描述物体的外壳。
实体模型常用多面体、球体、锥体等基本体素及并、交、差等运算来描述物体,模型复杂,但信息完整。表示实体模型的方法有很多种,如基本体素引用法、单元分解法、空间位置枚举法、扫描表示法、结构实体几何法以及边界表示法等,这里给出几种表示方法。
(1)体素模型CSG(constructive solid geometry):即结构实体几何法,一个复杂实体可表示成为一些简单实体的某种组合操作。这些简单实体称为体素。组合操作有并(union)、交(intersection)、差(difference)等,分别用“∪”、“∩”和“-”操作符来表示。每一体素在参与组合操作之前必须经历某种变换(包括比例、平移、旋转等),使它从被定义的状态变换到被组合状态。组合而得的中间实体在参与更高层组合之前也可能要经过类似的变换。系统可以通过用户指定的尺寸、形状、位置、方向等来定义一组基本体素,然后对这些参数检查其合理性。一般情况下,体素本身是通过一组由曲面所定义的半空间的交来表示的。
(2)边界表示法B-Reps(boundary representation):在边界表示法中一个实体通过包围它的曲面片或平面多边形(统称面片)的集合(边界)来表示,一个实体的边界必须将实体内部的点和外部的点区分开来,因此实体的边界完整地定义了该实体。一个实体的边界表示必须满足一定的条件。比如:定义一个实体的边界的面片的个数有限;任意一个面片都是它的边界的子集;所有面片的并集定义该实体的边界;一个面片是它的扩展曲面或平面的一部分;一个面片的范围有限且是同构的;等等。
以立方体和圆柱体两个实体来说,它们都有有限个面;立方体的边界可以很容易地通过边分成六个平面片;圆柱体的边界可以比较任意地分成一些圆筒形曲片和上下两个平面片。在立方体和圆柱体中没有哪一个面能单独定义一个完整的物体,即每一面片都是完整边界的子集。每一面片又是它的扩展曲面(平面)的定界区域。如立方体的每一平面片是一个无限平面的定界区域;圆柱体的圆筒形曲面也是无限长圆筒的定界区域。
平面片可以用边界线来表示,但曲面片需要较多的信息来表示。例如它可以是由一组特征点来定义的Bezier曲面,再加上一个由特征多边形定义的位于该曲面的封闭曲线。一个物体的边界可以通过多种方式表示成为一些面、边和顶点的组合,边界表示并不唯一。
(3)四叉树和八叉树:四叉树和八叉树分别是用层次式的二维或三维空间子域划分来代替大小相等、规则排列的二维或三维单元阵列的一种高效方法。
为了完成对流程模型的验证,我们将考虑3个基本的模型及其流程图例子。我们的样品情况具有分离的题目并在建立模型和绘制流程两方面使用了相当不同的方式。这将给你许多有选择性的观念。
我们以鹿栖息地质量描述性模型开始(Carlson and Fleet,1986),见下图3。这个简化模型基于有无对鹿生存至关重要的某些要素:水体的能力和供放牧和藏身的植被。水体能力基于水体或水文图层,而放牧和藏身基于植被生长图层。牧草通常从叶子落到地上的木质植物获得。于是,必需的饲料和藏身因素基于将植被覆盖重新分类成木质灌木丛、树木等有用植被类型和无用的草本和草地。这个模型对于必需的精确植被类型和是否能饮用水体的类型,在某些程度上是含糊的。还有,很容易想像,怎样用动物学/行为方面的知识,从可用的图层获取这些因素(如动物需要食物、藏身和饮水)。
模型的第二部分设计是基于土地景观单元构成的空间分布的栖息地质量确定的。这里主要考虑的是大小,综合各个景观单元部分或地块(如边界),形成整体。事实上,这是一个将土地景观空间变量应用到单个种类栖息地的精彩易懂的例子。模型最终的部分总计栖息地质量部分的分离土地景观部分和得分,或者在这种情况下,通过平均对它们分级,获取混合的栖息地质量。这一次,怎样合并简单的子模型实现相对复杂的鹿栖息地模型十分显然。通过分离各个系列的操作和各个土地景观部分,我们可很容易地生成单独的模型。
第二个模型是一个更规则性的模型,它试图定义能够接受足够盛行风吹拂安装风力发电机的区域部分(Carlson和Fleet,1986),见下图4。只有两个基本图层:地形高程数据和植被群落。地形图层揭示出地形坡面的方位和坡向,并被依次(对风力发电机)从最佳到最差归类。当然,水平地面总的说来最有利,因为没有障碍,而在我们的例子中,由于盛行风来自北西方向,第二个最佳方向便是北西。当远离北西方向,受益降低。
我们需要考虑的另一个因素是到障碍物的距离——通过使用功能距离操作很容易获得在这个模型中使用了称为“辐射”的命令。发电机要求的高度h',基于障碍物高度和计算的距离,是—个障碍高度与障碍高度减去发电机高度除以距离之间的简单差额。模型假定塔的高度将不高于80英尺,通过从地形中减去其值,再将与塔高度无关的地点划分级别。最终,模型将与塔高无关的地点分级,再结合坡向,获取对风力发电有效的位置。事实上,比起流程图,它更像是算法。尽管转换经典流程图和算法处理二者相对容易,许多人觉得更适合这种食谱方式。