图4 固定线型符号填充效果图 图5 按建筑物走向填充效果图 4.2 电力线符号化技术
运用ARCGIS定制的线型符号对电力线进行符号化时,往往在拐点处不能保证有一个电线杆符号,这与现实不相符合,不符合制图要求。此技术解决了这个问题,其技术原理为:先选择电力线上的所有拐点,并在相邻两点之间内按一定的间隔插入点,并计算小箭头的位置和方向,然后对这些点和小箭头以Element方式添加到Map的图形容器中,实现对电力线的符号化。电力线符号化效果对比图如下图6,图7。
图6 ArcGis9.0定制的电力线符号效果图 图7本技术实现的电力线符号效果图 4.3 线状要素的散列式自动注记技术
在地图制图规范中,散列式注记要求注记沿地物的自然形状线排列,并且能够依打印区域内地物长度选择字间的距离和标注的数目,目前ArcEngine还不支持这一注记方式,本技术解决了这个问题。本技术的算法如下:①裁剪打印图幅内的线状要素,②从矢量数据集中读取线状要素的注记名称并计算注记名称的字符数M,③根据制图的规范要求和线状地物的长度计算标注数N,④在线状地物要素上选取(M+1)*N 个标注点,⑤沿着线状要素的方向,在各个标注点标注对应的单个字符,如果地物为河流,按从左到右,从上到下的原则标注。
境界线自动标注及其避免标注压盖技术
为了实现境界线自动标注,设计标注信息结构体如下:
struct BndryLabelInfo {
IPointPtr pLabelPt; //标注点位置 地理坐标 CString strFirstLabel; //左标注或上标注
BOOL bIsDrawFirstLabel; //左标注或上标注是否画出 CString strSecondLabel; //右标注或下标注
BOOL bIsDrawSecondLabel;//右标注或下标注是否画出
BndryLabelLocation LabelLineLocation; // 标注位置(图幅的上、下、左、右) CString strType;//分界点类型(省界,地市界, 县界,乡界) };
其算法流程如下:
①计算境界线与内图廓四边的所有交点,把交点的标注点位置pLabelPt,标注位置LabelLineLocation,分界点类型strType信息存放到数组BndryLabelInfos数组中。 ②遍历所有的交点,搜索交点所在的行政区域,并赋值给strFirstLabel和bstrSecondLabel变量。(此过程首先要对交点生成一个10米的缓冲多边形,然后查找与多边形相交的行政区域,并计算搜索到的两个多边形的左右,上下空间关系)。
③把BndryLabelInfos数组中标注点pLabelPt转换成页面坐标。
④对数组BndryLabelInfos,先按LabelLineLocation的Top,Bottom,Left,Right进行排序。然后在同一标注位置中,按从左到右,从上到下的关系进行排序。
⑤根据标注的长度计算标注点与内图廓四个交点经纬度和相邻标注点的标注的重叠情况。如果重叠,置bIsDrawFirstLabel 或 bIsDrawSecondLabel 为False;
⑥ 用AddBndryLabelText方法把标注以TextElement的形式添加的Layout图形容器中。
5 结束语
基于ArcEngine机助制图系统是以关系数据库为基础,它不受地形图分幅和比例尺的限制,具有高度的灵活性和强大的选择性,能够按需选择打印区域、打印图层和图例,彻底改变了传统的制图工艺,此系统的实现与开发使得地图的整饰输出简单化、自动化,提高了作业员生产地图的效率,可以在较短的时间内完成更多的任务,大大的提高了生产力。功能丰富的GIS技术为数字制图提供了一个高效实用的平台,它必将对地图制图技术带来更深远的影响。
参考文献:
[1] 张慧芝,马伟华. 数字制图的特点及应用[J]. 干旱区研究,2001年6月第18卷第1期. [2]王丹. 面向未来的数字制图[J]. 北京测绘,1999年第一期:12-16. [3] ESR I Corp. ArcGIS Engine开发指南.
[4] 赵军喜,高博. 数字地图制图中的地图输出设计[J]. 测绘学院学报,2000年12月第17卷第
4期.
作者简介:
陈济民(1981-),男,助理工程师,2006年6月毕业于南京师范大学,获得GIS硕士学位,现从事GIS系统等软件开发工作,曾在公开期刊上发表论文6篇.通讯地址:郑州市城东路112号 黄委信息中心遥感处, 450004,电子信箱:chenjimin132@163.com。
高庆方(1964-),男,教授级高级工程师,长期从事数字摄影测量、遥感、地理信息系统等专业工作,研究方向包括地理信息采集、信息传输、数据处理、数据库建设、信息系统开发等。
李长松(1978-),男,河南林州,武汉大学工程硕士,工程师。主要研究方向为空间数据库构建,数据转换。
刘学工(1960-),男,山东利津人,教授级高级工程师,曾在人民黄河、中国水利等公开期刊上发表论文多篇。