CASS5.0与GIS的接口
7.1 GIS﹙地理信息系统﹚简介地理信息系统﹙Geographic Information System﹚ 是集地球科学、信息科学与计算机技术为一体的高新技术,其作为有关空间数据管理、空间信息分析及传播的计算机系统,现已广泛应用于土地利用、资源管理、环境监测、城市与区域规划等众多领域,成为社会可持续发展的有效的辅助决策支持工具。
在众多的地理信息软件中,影响最广、功能最强、市场占有率最高的产品首推美国环境系统研究所﹙ESRI﹚开发的ARC/INFO系统。
7.2 GIS﹙地理信息系统﹚对数字地图的要求
GIS的广泛应用对数字地图提出了新的要求。首先一个最基本的要求就是数字地图中的地物空间数据只能以“骨架线”数据的形式出现,不能附带地物符号。“骨架线”是南方测绘仪器公司在CASS 4.0中就已经实现了的概念。在CASS5.0中骨架线得到了进一步的完善,它不仅是数字地底层概念,同时也使数字地图中地物的编辑更加直观与实用。GIS对数字地图的要求还与GIS软件平台有关,Arc/info是一个典型的地理信息系统软件,本章介绍地理信息系统与CASS5.0的接口将主要以Arc/info为例。下面以Arc/info为例说明GIS对数字地图的基本要求。
Arc/info系统提供了用于地理数据的自动输入、处理、分析和显示的强大功能。它有点、线、面三种要素。点、线地物的性质由这些地物的代码表示;面状地物如房屋,区域填充由周围边界及中间的一个标识点﹙称为"label"点﹚构成,属性由标识点的代码表示。
Arc/info具有强大的地理分析及处理功能,因而对数据的要求也很高。下面是几类常见数据错误:
1.地物放错图层。指地物符号未放到指定层。如:深圳国土地理信息系统分为七个层,分别对应七大类地物,房屋应放于B层。如果放于L层,GIS就会有错误标识。
2.代码值错误。指代码不合理,如代码为零。
3.地物属性错误或不合理。如高程点高程为零、房屋层数为零等都会有此类错误标识。
4.多边形标号错。指一个多边形内无标识点或有多于一个标识点的情形。后一种情况常发生在一个多边形有多个标识点或多边形未闭合的情况。
5.悬挂点和伪节点
﹙1﹚悬挂点形成原因:
①同图层线划相交,应在交点处各自断开,否则就有悬挂点。
②定位不准,未接上或未相交。CASS提供点号或捕捉精确定位,基本可避免。如不慎出现,用关键点编辑及捕捉或延伸、裁剪即可消除。
﹙2﹚伪结点形成原因:
同类线划间的交点处再无第三条线交于此﹙同类线划指代码相同的线﹚。两条同类线划间不能有结点,必须连续。三条及三条以上的同类线划交于此点则是合理的伪结点。
GIS对数字地图还有很多其他要求,这里不再赘述。欲深入了解请参阅有关书籍。
从上面的叙述可知GIS对数字化图的精确性、准确性有很高的要求。不同于一般的机助制图。
面状区域的闭合以及检查和消除不合理的悬挂点、伪结点是GIS主要要求,CASS5.0中可以自动断开同层相交线、自动识别去除不合理伪结点,并且提供了检查悬挂点及伪结点的功能,已基本上解决了上述问题。针对其他要求CASS5.0也可以很好地予以解决。
7.3 CASS5.0与GIS的接口方法
7.3.1 交换文件接口
CASS5.0为用户提供了文本格式的数据交换文件(扩展名是“.CAS”)。该文件包含了全部图形的几何和属性信息,其格式见《参考手册》附录A。通过交换文件可以将数字地图的所有信息毫无遗漏地导入GIS。这就为用户的各种应用带来了极大的方便。DWG文件一般方便于用户作各种规划设计和图库管理,CAS文件方便于用户将数字地图导入GIS。用户可根据自己的GIS平台的文件格式开发出相应的转换程序。
CASS5.0的数据交换文件也为用户的其它数字化测绘成果进入CASS5.0提供了方便之门。CASS5.0的数据交换文件与图形的转换是双向的,CASS5.0在它的操作菜单中提供了这种双向转换的功能,即“数据处理”菜单的“生成交换文件”和“读入交换文件”功能。也就是说,不论用户的数字化测绘成果是以何种方法、何种软件、何种工具得到的,只要能转换(生成)为CASS5.0的数据交换文件,就可以将它导入CASS5.0,供数字化测图工作利用。
7.3.2 DXF文件接口
AutoCAD是世界上最流行的图形编辑系统,其系统的灵活性、广泛的开放性受到用户的一致好评。它的图形交换格式已基本成为一种标准,受到了其他系统的广泛支持、兼容。
CASS5.0采用AutoCAD 2002为系统平台,提供标准的ASCII文本格式的DXF数据交换文件。DXF文件的详细结构请参考其他有关AutoCAD的书籍。通过DXF文件可实现与大多数图形系统的接口。
接口时编辑CASS5.0的系统(SYSTEM)目录下的INDEX.INI文件,将各符号对应的接口代码输入INDEX.INI相应位置。该文件记录每个图元的信息,不管这个图元是不是骨架线,所谓图元是图形的最小单位,一个复杂符号可以含有多个图元,文件格式如下:
CASS5.0编码,主参数,附属参数,图元说明,用户编码
图元只有点状和线状两种,如果是点状图元,主参数代表图块名,附属参数代表图块放大率;如果是线状图元,主参数代表线型名,附属参数代表线宽。具体各图元的编码见《参考手册》附录A。
“用户编码”提供给定义了自己的编码的用户,可用“数据处理”下的“生成用户编码”功能将“用户编码(接口代码)”写入每个图元的“厚度”属性中(可一次全部添加)。如图7-1所示为深圳地形图陡坎符号属性框:
图7-1 深圳某地形图陡坎属性框
CASS系统的“文件” 菜单的“文件输入/输出”项的“DXF输入”、“DXF输出”功能提供双向的图形数据﹙DXF文件﹚交换。输入DXF后既转换为CASS的DWG图形文件。
标准版CASS5.0同时提供交换文件、DXF文件接口功能。
7.3.3 E00文件接口﹙用于Arc/info系统﹚
GIS版CASS5.0特别提供E00文件接口功能。
文本格式的E00文件是Arc/info系统自定义的标准数据交换格式,与其Coverage﹙图层文件﹚完全对应,GIS版CASS5.0直接解读E00文件。避免了转换间的地物遗失。
符号化后进行编辑,入库也直接提交E00文件,较提交DXF文件入库,节省时间、快捷简便。﹙DXF转成Arc/info的Coverage文件要10-20分钟,E00文件只要不到一分钟。﹚
接口时编辑CASS5.0的系统(SYSTEM)目录下的INDEX.INI文件,将各符号对应的接口代码输入INDEX.INI相应位置,编辑方法同DXF文件接口。“ARC/INFO接口”菜单的“生成ARC/INFO文件”功能将图面写成E00文件,用户编码(接口代码)写入E00文件的对应属性。
由于Arc/info系统对数据有很高的要求,如地物放错图层、代码值错误、面状地物不封闭即有悬挂点、伪节点等错误均不能允许,故对入库图的精确性、准确性有很高的要求,不同于一般的机助制图。所以针对Arc/info须开发很多检查、编辑功能,欲深入了解与Arc/info系统的接口请阅读下一节CASS5.0与用Arc/info开发的深圳国土地理信息系统—SUPLIS的接口介绍。
7.3.4 MIF/MID文件接口(用于MAPINFO系统)
CASS5.0还提供MIF/MID文件的接口。MAPINFO的数据存放在两个文件内,MIF文件中存放图形数据,MID中存放文本数据。CASS5.0的成果可以生成MIF/MID文件,直接读入到MAPINFO。
点击“数据处理/图形数据格式转换/MAPINFO MIF/MID格式”,系统会弹出一个对话框,输入要保存的文件名后,按“保存”键即可完成文件的生成。
7.3.5 国家空间矢量格式
CASS5.0支持国家空间矢量格式。GIS软件种类众多,范围广泛,为了使不同的GIS系统可以互相交换空间数据,在世界范围内都制定了很多标准。我国也对国内的GIS软件制定了一个标准,也就是国家空间矢量格式,并要求所有的GIS 系统都能支持这一标准接口。
点击“数据处理/图形数据格式转换/国家空间矢量格式”,系统会弹出一个对话框,输入要保存的文件名后,按“保存”键即可完成文件的生成。
7.4与深圳市地理信息系统—SUPLIS接口
7.4.1 系统简介
GIS--地理信息系统(作为有关空间数据管理、空间信息分析及传播的计算机系统)现已广泛应用于土地利用、资源管理、环境监测等部门。深圳市采用Arc/info建立了完善的国土地理信息系统—SUPLIS,是国内同类系统中较早开发研究、较完善的系统之一。深圳市所有地形图都须提交其市信息中心入库检查。
由于Arc/info用点与线的代码表示地物符号,所以白纸图进入Arc/info时要将白纸图扫描后再用Coreldraw等工具矢量化入库,费时费力。随着数字化测量的日趋完善和普及,各开发商开始探索由数字化图直接转入Arc/info的入库技术。经过近一年的研究,南方公司开发出了用于深圳市使用的数字化地形地籍成图系统GIS版CASS5.0,实现了与Arc/info的成功接口。
注意:本节约定
①.“菜单名---二级菜单名---选项”,指某下拉菜单的二级菜单的某选项,如:“数据处理---展点---高程点”指数据处理菜单展点项高程点命令。
②.无二级菜单则为“菜单名---选项”指,如:“数据处理---查看实体编码”指数据处理菜单展点项高程点命令。
③.“选项”特指“ARCINFO接口”菜单的选项。如“自动生成点线地物”指“ARCINFO接口”菜单“自动生成点线地物”项。如图7-2所示:
图7-2 ARC/INFO接口菜单﹙部分﹚
针对入库时的要求及常见错误,GIS版CASS5.0提供了丰富的作图功能及检查功能:
1.直接解读SUPLIS系统的E00文件。E00文件是Arc/info系统自定义的标准数据交换格式,与其Coverage﹙图层文件﹚完全对应,直接解读,避免了转换间的地物遗失。
2.符号化后进行编辑,入库时也直接提交E00文件,较提交DXF文件入库,节省时间,快捷简便。﹙DXF转成Arc/info的图层文件要10-20分钟,E00文件只要不到一分钟。﹚
3.代码说明:两套代码,CASS自身代码称为属性﹙“数据处理---查看实体属性” 可查看﹚,Arc/info代码存于thickness中﹙“编辑---图元编辑…”可查看﹚。“自动生成点线地物”前除label点及老图地物外,新画地物Arc/info代码均为零。入库时CASS自动转成Arc/info代码,但必须有CASS代码,利用屏幕菜单所绘的地物都自动带有CASS代码。
4.图层说明:SUPLIS系统共有七个图层﹙coverage﹚,分别为a,b、e、f、l、p、t。CASS系统提供对应入库层,b、e、f、l、p、t及17a等带a图层入库。符号的label点及骨架线存于这些层中。,其他图层为符号位层。
5.提供点号或捕捉等定位模式,精确定点。
6.面状区域自动添加label点。
7.提供检查悬挂点、伪结点功能,自动去除伪结点。
8.同图层相交线划自动断开。
9.测不到的点提供边长交会、前方交会、边角交会、量算定点(根据角度及边长定点)、多功能复合线(内有隔点垂直、微导线等功能)以及多种捕捉功能(可捕捉端点、最近点、交点、垂点等)精确定位。
7.4.2 工作流程绘图部分
1.定显示区定显示区的作用是根据输入坐标数据文件的数据大小定义屏幕显示区域的大小。
2.读入图形操作:点击“读入ARCINFO文件”项。
功能:读入指定的E00文件,生成含有Arc/info代码的点和线。
3.符号化。
操作:点击“符号化”项。
功能:CASS根据Arc/info代码加入对应符号且自动生成CASS代码,如果是点状地物则调入相应的图块,如果是线状地物则变成相应的线型。
4.修补测时准备工作:“截取图框线”将图框线网格点另存为其他文件,“图形改白色”可将图中所有实体变成白色以便与新测地物相区别。新测图不必进行此操作。
5.图形存盘
6.展点成图为了更加直观地在图形编辑区内看到各测点之间的关系,可以先将野外测点点号在屏幕中展出来。
操作方法:
﹙1﹚先移动鼠标至屏幕的顶部菜单“绘图处理”项按左键,这时系统弹出一个下拉菜单。
﹙2﹚再移动鼠标选择“展点”项的“野外测点点号”项按左键。输入对应的坐标数据文件名,如C:\CASS5.0\DEMO\STUDY.DAT后,便可在屏幕展出野外测点的点号。
﹙3﹚根据外业草图,选择相应的地物符号在屏幕上将平面图绘出来。
地物绘制技巧
7.使用点号定位和捕捉模式,可令定点精确
8.点状地物的绘法:
点状地物包括入库用到的单点和作为符号的图块,作图时先生成图块,入库前用“自动生成点线地物”功能生成单点。
9.房屋、围墙的绘法:
﹙1﹚四点闭合房屋画完后,提示:"房屋结构"、"层数",输入后自动注记并添加label点。
﹙2﹚有公共边房屋,可用“分解b层复合线”分解开,删除一条公共边,保留一条。也可第一栋按封闭房屋画法,但必须从公共边画起,再用“单点断线”﹙dd命令﹚断开公共边;另一栋用“工具---多功能复合线”﹙df命令﹚画,不画公共边,结束输入thickness代码,值为10,用“手工加label点”添加label点并注记。
﹙3﹚删除房屋一定要将label点一起删除,同层同结构label点才可复制。
﹙4﹚其他线划与围墙相交,必须要交到其白色线﹙骨架线﹚上;相接,必须要接到其白色线﹙骨架线﹚端点上,否则出现悬挂点。
10.线状地物绘法:
﹙1﹚直线部分与圆弧部分分两次绘制。圆弧部分选择拟合,再用“整理拟合复合线”变为折线。
﹙2﹚分次绘时要用捕捉或点号精确定位,首尾要相接。
﹙3﹚花圃边界可用“工具---多功能复合线”﹙df命令﹚绘制,lineweight为0,thickness为10。
﹙4﹚水域边界线要保持封闭。
11.填充绘法:
﹙1﹚边界要在B、L层或0层,线划首尾严密相接,形成封闭区域。
﹙2﹚“面状区域添加label点”自动复制异层公共边,添加label点并自动填充;或者“手工加label点”并手工填充。如果异层公共边线型变化必须手工复制。
﹙3﹚删除区域填充时一定要将label点一起删除。
12.高程点及等高线:
﹙1﹚“绘图处理W---展 点---高程点”展绘高程点。
﹙2﹚等高线绘法请参阅用户手册第三章第三节“绘制等高线”。
﹙3﹚等高线保持连续,入库图不执行各种切除等高线穿地物、注记命令,打白纸图前先备份,再操作。
13.注记:
除房屋自动注记外其他都用屏幕右侧菜单“文字注记---注记文字”功能注记。注记的图层和大小按深圳地形图注记要求图形编辑技巧请参阅用户手册第三、四章。
入库操作部分
14.修改复合线高,将除t层外的所有pline线高变为0。
﹙1﹚锁定t层;
﹙2﹚,地物编辑---批量修改pline线高”,输入0,提示:Select Objects,输入all,回车,“文件---已有图中加入CASS环境”,解锁t层。
15.“自动生成点线地物”。
功能:赋予符号Arc/info码,点状地物生成单点。
命令区提示:“Select objects:”时输入“all”选择全部或用鼠标选择实体。
16.“同层相交线断开”。断开相同图层相交线。
17.“自动去除伪结点”。
去除两条同码线划相交处的伪结点﹙thickness代码相同为同码线划,注意未“自动生成点线地物”前thickness代码均为零,都为同码线划﹚。三条或三条以上同码线划间的结点是合理的。
入库检查部分
18.“图层查看”可单独查看各层,“图面恢复”可打开全部图层。
19.“pdmode”命令再输2,再输“regen”命令,将点形状改成十字形;可方便于分层查看label点添加情况。也可“检查面状区域”逐个检查各面状区域。如十字形太密太大,局部放大后再输“regen”命令可变小。
20.b层要检查房屋是否封闭﹙必须全封闭﹚,label点是否加齐,废label点是否删除干净。
21.l层也要检查填充、水域是否封闭﹙填充有时须“复制异层公共边”,水系有时须添加辅助封闭线﹚、label点是否加齐、废label点是否删除干净。
22.“显示悬挂点和伪结点”可查出图中的悬挂点及伪结点。
方框表示悬挂点,圆圈表示伪结点,错误标识都放在error图层,一层查完,“编辑---删除---实体所在图层”删除error层,以免将该层错误标识显示到其他层。“地物编辑---批量缩放---符号”,输入“error”,输入缩放比,可改变错误标识的大小。﹚
“自动去除伪结点”自动全部去除伪结点。或“用Pedit”命令,输入j,选择要连接的线,手工接为一体。
悬挂点形成原因及消除:
﹙1﹚同层线划相交,各自一定要断开,首尾相接。一条未断,另一条就有悬挂点。“同层相交线断开”自动全部断开,“单点断线”手工断开。
﹙2﹚定位不准,未接上或未相交。用点号或捕捉精确定位连接,就可避免。如不慎出现,用关键点编辑及捕捉或延伸、裁剪即可消除。
﹙3﹚各类线状符号相交一定要交到骨架线上,相接,必须要接到各自骨架线上。如:其他线划与围墙相交,必须要交到其白色线﹙骨架线﹚上,并断开;相接,必须要接到其白色线﹙骨架线﹚端点上。
﹙4﹚线划与其他线既不接又不交,其端点显示悬挂点,为合理的悬挂点。
23.公共边处理:
﹙1﹚ 同一图层,只画一条。如房屋间、道路与花圃间。
﹙2﹚ 不同图层,用“复制异层公共边”复制公共边到另一层。﹙须在“自动生成点线地物”后方可﹚。
24.接边处理
﹙1﹚“工具---插入图”将接边图插入;
﹙2﹚“工具---分离图块”将其打碎,才可编辑接边图;
﹙3﹚接边后用“窗口内图形存盘”或“批量删剪---窗口删剪”截取,截一幅图后,回退,直到完全恢复,再截另一幅。如要编辑图须“文件---已有图中加入CASS环境”;
﹙4﹚打开所截图,插入图框线文件,并打碎;
﹙5﹚b,e,f,l.p,t等层检查图廓是否完整。
入库接口部分
25.生成E00文件入库。
1﹚“自动生成点线地物”,“同层相交线断开”,“自动去除伪结点”。
2﹚“生成arc/info文件”。 生成E00文件。
26.生成DXF文件入库操作:﹙E00文件、DXF文件选择一种入库即可﹚。
﹙1﹚“按图层输出”,生成7个DWG文件。
﹙2﹚依次调入7个DWG文件,用“生成DXF文件”生成R12格式的DXF文件。
27.总检查。将新E00文件读入或调入DXF文件,符号化后与原图比较。
28.绘图仪出白纸图
﹙1﹚ 备份文件。原文件入库,对备份文件进行出图前整理。如修剪等高线等。
﹙2﹚ pdmode命令,选1,再regen,将label点隐藏。
﹙3﹚ 修补测时打分色图时,用“有色地物改红色”将新测地物改为红色,旧图已改为白色,即可计算修补测的工作量。
﹙4﹚出图。
7.4.3,ARC/INFO接口”菜单命令及命令别名详解菜单命令
1.“自动生成点线地物”
功能:赋予符号Arc/info码,点状地物生成单点,面状地物生成label点。
2.“手工加label点”
命令区提示:输入图层:
操作:输入图层名,如:T,回车。
命令区提示:输入点位:
操作:在面状区域内任选一点:,回车。
命令区提示:输入THICKNESS代码:
操作:输入THICKNESS代码,如:130200,回车。
3.“面状区域添加label点” 并选择对应类型。
命令区提示:在面状区域内任选一点:
操作:在区域点击鼠标。
系统自动识别封闭的边界,如有其他层组成边界会自动复制公共边。
命令区提示:是否填充符号`:(1)否(2)是<2>:
操作:输入“1”,不填充,输入“2”,自动填充,默认为填充。
4.thickness代码选项:
﹙1﹚“查看”。查看地物thickness代码。
﹙2﹚“加入”。添加地物thickness代码。
﹙3﹚“检查”。检查图形所有地物的thickness代码,有错误地物复制到error层标识备查。
5.“显示悬挂点和伪结点”
命令区提示:在面状区域内任选一点:
操作:在区域点击鼠标。
功能:查出图中的悬挂点及伪结点。
方框表示悬挂点,圆圈表示伪结点,错误标识都放在error图层
6.“自动去除伪结点”
7.“检查面状区域”
命令区提示:选择一根边界线:
操作:选择区域边界。
﹙1﹚如遇分支不能识别方向,系统会提示:选择一根线
操作:选择区域边界,指定方向。
﹙2﹚如遇悬挂点,系统弹出提示框,如图7-3所示:
图7-3 遇悬挂点提示框
8.“检查重复点”
功能:检查入库层同一点位是否同时有多个点,并汇报点数。
9.“检查T层高层”
功能:检查所有T层高程点的高程,如为零高程自动移动到error层,并汇报点数,以便检查修改。
10.“分色图”
选项:
﹙1﹚“图形改白色”。所有符号改白色。
﹙2﹚“彩色地物改白色”。所有彩色符号颜色都改为红色。
﹙3﹚“掏出label点”。将所有label点截取存盘。
11.“图框修饰”
功能:将各层图框线在与其他同层线划相交点处断开。
12.“单点断线”
命令区提示:选择要断开的线状地物:
Select objects,
操作:选择要断开的线划,回车选择完毕命令区提示:指定断开点:
操作:指定断开点。﹙最好用捕捉定位。﹚
功能:将线划从指定断开点打断。
13.“同层相交线断开”
功能:程序自动在交点处断开同层相交线划。
14.“分解b层复合线”
命令区提示:请选择B层房屋线:
Select objects:
操作:选择B层线划。回车功能:将线划从结点断开,分解成独立直线划。
15.“线状地物属性复制”
命令区提示:选取源地物:
操作:选择要被复制属性﹙Arc/info代码﹚、线型的线划命令区提示:选择目标线划:
操作:选择被改变到属性﹙Arc/info代码﹚、线型的线划功能:将源地物Arc/info代码、线型复制给目标线划。
16.“拷贝异层公共边”
命令区提示:选择被复制的线:
操作:选择线划。
功能:异层线划共边,复制公共边
17.“截取图框线”
弹出对话框,如图7-4示:
操作:输入图框存放的文件名及路径。
功能:截取各图层的图框线及F层网格点。
图7-4 保存图框线对话框
18.“整理拟合复合线”
命令区提示:Select objects,
操作:点取欲拟合的复合线功能:拟合线变为折线(Arc/info不识别曲线,必须用程序自动内插点转为折线)。
19.“图层查看”
功能:分层查看,其他图层关闭,ERROR层﹙错误标识存放层﹚不会关闭。
20.“图面恢复”
功能:可打开全部图层。
21.“生成arc/info文件”。
功能:生成七个入库图层的E00文件。
22.“按图层输出”
命令区提示:输入文件目录:
操作:输入文件目录名,如C:\E00DATA
命令区提示:输入图号:
操作:输入图号,如:03434。
命令区提示:请稍侯!
功能:系统将各图层分别生成七个DWG文件,文件名:层名﹙A,B,E等﹚+图号+后缀﹙DWG﹚
23.“生成DXF文件”
功能:系统生成DXF文件,文件名相同,后缀变为DXF。
24.“读入ARCINFO文件”
命令区提示:请输入目录名:
操作:输入E00文件目录名,如:C:\CASS5.0\E00DATA
命令区提示:请输入图号:
操作:输入图号,如:02532。
命令区提示:注记(1)不按子类读入(2)按子类读入<2>
操作:如E00文件中文字注记按带子类的形式存放,选“1”,否则选2,默认按子类读入。
25.“图形符号化”。
功能:读入ARCINFO文件只读入符号的骨架线及点,此功能根据代码用对应符号重绘图形。
常用命令及别名:
z放大 p移屏 c复制 m移动 r重画屏幕 e删除 f多能复制
fw 画房屋 fx输封闭房屋信息并注记
w 画围墙 kk画陡坎,输1未加固,输2加固
df 多功能复合线 sl手工加label点 al封闭复合线加LABEL点
dd 单点断线 fb分解b层复合线 cd检查面状区域悬挂点及label点
ct 线状地物属性复制﹙thickness代码、图层﹚
dm 图元编辑,可编辑图层、线型、thickness代码
pdmode 改点形状,0点、1隐藏、2十字形命令中,捕捉 nea最近点 end端点 int交点
regen 刷新屏幕,如陡坎无毛刺等符号不显示时局部放大再使用
plinewid 改变默认线宽