矢量电子地图(精选七篇)
矢量电子地图 篇1
公众版矢量电子地图是提供公众需求使用的电子地图, 其源数据为经保密技术处理后提供的地理空间框架数据库。本文讲述在ArcGis9.3软件中进行数据处理、AI模板制作, 并采用任务规划方式, 在Adobe Illustrator制图软件中进行自动配图、地图编制和数据切片的过程。
2、地理空间框架数据库源数据处理
2.1 数据提取
以1:500基础地理数据为例, 简单介绍矢量电子地图数据的提取过程。一般大比例尺矢量电子地图在有些方面还是不能完全满足电子地图的数据要求, 这就需要我们对保密处理后的地理空间框架数据库进行进一步的整理。1:500基础地形数据按照国家标准分为控制点、水系、居民地及附属设施、道路、管线、境界、地质地貌、植被8大类, 而公众版矢量电子地图不涉及控制点、管线、地质地貌类等涉及国家机密的基础数据, 在ArcGis9.3软件中, 只提取公众版矢量电子地图需表达的POI兴趣点、道路、水系、居民地、体育场、植被等主要框架数据进行分层存储、检查和管理。具体分5大类, 每大类细分为点层、注记点层、线层和面层。如表1所示:
为便于后期配图使用, 需建立与AI模板代码的对应关系, 如:在每个图层中都建立属性字段为“CODE”, 根据基础地理信息要素分类与代码表把对应类要素的代码填入相应的“CODE”中。
2.2 显示比例文字注记
为了实现全国各地建立的地理信息公共服务平台中的电子地图可以按显示比例无缝对接, 国家统一规定设置了电子地图的显示比例, 从1:295, 829, 355.45到1:564.25分20级瓦片切片显示。通过缩放的形式显示不同的地图注记、符号、地理实体, 每放大一级, 显示地图的内容和复杂程度都不一样, 从简单到复杂、从概略到细致逐级深入展现, 因此在大比例数据的基础上按地物的重要性逐级提取小比例尺的数据。
在ArcMap中设置兴趣点POI、道路中心线、河流面层需要标注的文字字段、注记大小、标注方式、沿线标注的间隔等, 并按不同比例尺要求转换成文本注记。
3、矢量电子地图制作
3.1 AI模板制作
AI模板是根据《地理信息公共服务平台电子地图数据规范》制作各个等级与版本的配图模板, 是整个矢量电子地图配图的核心环节。在Adobe Illustrator制图软件中, 各类要素的颜色、注记字体、字体大小、字距间隔、点状地物符号大小、图形样式都是根据地图数据规范来制作, 具体分为点符号、文本注记、图形样式三大类, 其中图形样式包括各类线型符号和面状符号, 并根据基础地理信息要素分类与代码表添加各要素的唯一代码。如图1所示, 模板中各类符号的样板。
3.2 任务规划
用吉威公司开发的电子地图配置任务规划工具 (EMapPlanTool) , 以电子地图瓦片格网作为规划依据, 将当前级别的地理空间框架数据库进行工程范围划分 (*.XML) , 在规划过程中, 图层显示顺序按照从上往下为注记-->点状要素-->线状要素-->面状要素, 线状要素排列遵循规则为从上往下为居民地-->道路-->植被-->河流, 个别地物需做特殊的压盖处理, 如桥梁、涵洞、道路面上的花圃等要按地物表现形式调整压盖顺序。
3.3 Adobe Illustrator中配图及整饰
在二次开发的Adobe Illustrator配图平台上, 利用AI模板进行智能化的快速配图。配图内容包括制图比例尺设置, 根据地理空间框架数据库中的属性字段“CODE”与AI模板中的代码一致性, 用任务分配工程范围划分 (*.XML) 文件, 使数据库中各个图层的图形、符号自动挂接显示, 然后进行图面整饰处理。
3.4 瓦片数据
最终矢量数据是通过吉威开发的插件进行瓦片裁切, 瓦片数据的组织方式采用数据集、层、行目录结构描述, 图片为jpg格式, 大小为256*256png。如图2所示
3.5 成果展示
图3、图4为笔者采用上述制作方法制作的汕头公众版矢量电子地图的最终成果与地理空间框架源数据对比图。
4、结语
矢量电子地图制作不同比例尺的数据, 基于Geoway自主研发的数据库引擎连接框架数据库, 采用专业印版软件Adobe Illustrator作为制图软件, 优点是能够一键化快速制图并体现电子地图美观、清晰的制图效果, 缺点是不能与地理空间框架库同时互动运用, 从而增加了工作量。
参考文献
[1]汤国安, 杨晰, 2006ArcGIS地理信息系统空间分析实验教程.北京:科学出版社.
[2]陈志强.电子地图数据组织与制作技巧探讨[J].城市勘测, 2005.14.
[3]CH/Z9011—2011《地理信息公共服务平台电子地图数据规范》.
[4]Adobe Illustrator CS2软件用户手册, 2012.04.
地图矢量数据处理研究 篇2
地图矢量数据处理研究
本文以1:250万中华人民共和国大型挂图的制作研究中的数据格式转换为实例,重点讨论全数字制图环境下多源海量数据的提取和格式转换等问题,为数字地图新产品的开发提供了数据基础.根据制图基础数据的特点确定了把源数据Coverage层转化为CorelDraw能接收的DXF格式的数据转换方法,详细讨论了利用Arc/Info进行矢量数据的`转换、投影变换的过程,包括数据合并、投影变换、数据提取、点状要素处理、拓扑关系的建立、比例尺控制、图层套和、数据输出等处理.
作 者:何宗宜 谭芬 魏秀琴 HE Zong-yi TAN Fen WEI Xiu-qin 作者单位:武汉大学资源与环境科学学院,武汉,430079刊 名:测绘科学 ISTIC PKU英文刊名:SCIENCE OF SURVEYING AND MAPPING年,卷(期):31(6)分类号:P282关键词:数字地图制图 Arc/Info ArcToolbox 数据格式转换 投影变换
矢量电子地图 篇3
珠江三角洲毗邻港澳,地缘优势得天独厚,其内河航运在华南地区综合运输体系中扮演着非常重要的角色,是广州、深圳等沿海港口的主要集疏运方式,主要为沿海港口服务,其中广州港约1/3的集疏运任务由内河承担。根据广东省内河航运发展规划,“十一五”期间,广东省将建设和完善以“三纵三横三线”为骨干航道的珠江三角洲现代化航道网。计划至2010年,1000吨以上内河航道里程达到1080公里,约占全省内河航道里程的9%。珠三角内河航道的重要性和发展前景不言而喻。内河电子地图是航运管理部门对内河航道进行日常管理、水上安全监管等工作的重要基础资料。
在内河船舶监督预警通信管理系统中,设计和制作内河航道矢量电子地图是管理软件子系统的一个重要组成部分。目前电子地图的设计在陆地交通的应用较广泛,但由于内河航道地理复杂,范围广泛[1,2],而现有的内河航道特别是珠江三角洲地区,电子地图未完全实现矢量化,且成本高昂,不能满足本系统的应用要求,因而自主开发了珠三角内河航道电子地图矢量化设计方法,通过图像处理的算法,按“点线面”三个层面采集数据,实现在小区域的航道图能够自主采集河道地理数据,并形成矢量化的航道电子地图。
图像处理是从三维环境的图像抽取、描述和解释信息的过程,可以划分为感觉、预处理、分割、描述、识别和解释6个主要部分[3,4],而电子地图的设计分为数字化预处理和矢量化两个作业流程[5]。按照上述流程,通过不同的算法和数据库,开发完成了珠三角航道电子地图,该方法也可应用于其他内河航道电子地图的设计。
二、航道地图的预处理
获取理想的高质量图像是进行图像处理与分析的重要一步,采用非矢量化的内河航道平面图(可由高精度纸质航道图扫描获得),通常包含各种各样的随机噪声和畸变,可采用图像预处理技术,增强高层次视觉的分析和识别能力。对原始图像中的噪声和畸变进行消除或修正,突出有用信息,抑制无用信息,使输出图像的质量得到一定程度的改善,便于计算机对图像分析、识别和理解。
(一)处理窗口和阈值的确定
为提高系统处理速度,可采用缩小处理窗口的方法,以去除冗余信息,减小后续处理的数据量。缩小窗口就是要找出一个完整包含航道图像又尽可能小的矩形。此矩形由左上角Left Top(ilt,jlt)和右下角Right Bottom(irb,jrb)确定。本系统中采集的每幅地图的经纬度区间为30′×20′,为适应计算机屏幕,按照每分18个像素点计算,则每幅图像像素点为540×360,数据量约为512KB。
在窗口的确定过程中,首先必须区分本区域航道点和背景点,利用像素灰度级对像素进行分类,这是基于假设图像中每个区域是由许多灰度级近似的像素组成。航道和背景灰度级有明显的差别时,在图像的灰度直方图中会有明显的峰值,只要适当选取阈值,即可对图像进行分割。灰度直方图是用以表示图像灰度分布统计特性的图表,它包含图像丰富的信息。
(二)自调整阈值法
由于扫描航道图时光照条件的影响,航道平面图中存在灰度值差异,所以应根据灰度值差异自动调整阈值T,其选择方法是求出背景最大灰度值Fbmax,再加上估计标准差δ,即T=Fbmax+δ。设背景图像的灰度直方图中,每个灰度级出现的频数为P(i),则在P(i)不为0的灰度级中最大的一个为Fbmax。
其中X∈[0,1,2,…255],EX为样本X的数学期望,EX2为X2的数学期望,DX为方差。
(三)图像滤波
实际获得平面航道图都会受到干扰而含有噪声。引起噪声的原因很多,例如数字化过程中的量化噪声。图像在生成和传输过程中,也会受到各种噪声的干扰和影响使图像的质量变差[6]。反映在图像上,噪声使原本均匀和连续变化的灰度突然增大或减小,形成一些虚假的边缘轮廓,或者表现为一些孤立的像素点,其灰度值与其邻域像素的灰度值有显著不同。为降低噪声对地图精度的影响,采用领域平均法对图像进行滤波处理。
领域平均法是一种局部空域处理算法,设一幅图像F(x,y)为M×N的阵列,滤波后的图像为G(x,y),它的每个像素的灰度值由其领域像素灰度值的平均值决定,即
式中x=0,1,…,M-1,y=0,1,…,N-1,S是以x、y为中心的领域的点的集合,m是S内的总点数。这种滤波算法简单、计算机速度快;但它的主要缺点是在降低噪声的同时,使图像的边缘模糊。为了减小这种效应,可采用阈值法,根据下列准则形成滤波的图像:
式中T′是一个规定的非负阈值,当一点和它们的领域平均值不超过某个阈值T′时,仍保留这点的灰度值,这样使滤波后的图像比领域平均法模糊度减小。当某些点的灰度值与各领域的灰度值差别较大时,必是噪声,则以领域平均值代替,可较好地改善滤波效果。
三、航道地图的矢量化
根据图像的直方图,取代表航道线形等对象所处的灰度区域,在图像灰度变换的基础上,进行二值化和多值化处理,选择值为1的像素点,采用二次插值、三次插值等近似算法进行拟合[7],采样并提取该点的经纬度等位置信息,实现图像的边缘追踪。航道图的矢量化过程如图1所示,形成航道地理数据库如图2所示。
航道图像近似于由椭圆和直线构成的环路,其中对于椭圆曲线的拟合,采用在插值约束条件下相邻两段曲线曲率半径r之差的平方和最小的方法[8],即
上式的最小值求解采用共轭梯度法,先沿函数值下降最快的规定方向,然后沿与该方向共轭的方向进行搜索,能够迅速达到最优点。
按照上述设计原则,应用C++Builder开发了内河航道矢量化电子地图的应用软件系统,通过模拟航迹,并加以关键点的注释,较好地实现了内河航道电子地图的设计。
四、实验结果
为检验所开发的珠江三角洲内河航道电子地图的精度,应用自主设计的内河船舶监控系统和船载远程终端,进行实际测试。2008年8月,实验时以“新鹤山”号高速客轮,搭载远程终端沿珠江三角洲鹤山至香港段内河航道航行,通过GPRS移动通信网络向监控系统发送GPS位置信息,并通过监控中心实时监视内河船舶的运行轨迹,以测试系统的实际应用性能和航道电子地图的精度。监控实验自动发送位置信息的间隔时间为1min,监控界面为自主开发的珠江三角洲内河航道电子地图。
由监控界面可以看出,内河航道电子地图(鹤山-香港段)能够较好地实时跟踪实际航迹,航道电子地图界面友好、特征突出、运算效率高、数据库的更新和维护简便,满足本项目系统的实际应用要求。
五、结语
应用数字图像处理的方法,实现了内河航道电子地图的预处理和矢量化,并成功地应用于“内河船舶监督预警通信管理系统”项目。试验结果表明,所绘制的珠江三角洲内河航道矢量化电子地图,精度和实时性满足应用要求,该方法可实际应用于内河航道电子地图的设计和制作。目前本系统的地理信息包括航道的经纬度、障碍物、水文等,航道水深仅按平面图标注划分为4个等级,还有其他信息如桥梁、沉船等障航物的信息采样和注释还有待深入研究。
参考文献
[1]李兴锋.基于S-57国际标准的电子地图显示与导航系统[D].西安电子科技大学,2007.
[2]沈庭芝,方子文.数字图像处理及模式识别[M].北京:北京理工大学出版社,1997.
[3]阎顺玺,王晓雷,刘严萍.导航电子地图的设计与制作[J].交通科技与经济,2008,10(3).
[4]宁永香,刘召芹,谢彩香.基于空间认知理论的移动导航电子地图设计[J].测绘工程,2007,16(2).
[5]李曙光,荆便顺,尹如军,等.交通电子地图设计和制作[J].西安公路交通大学学报,2001,21(1).
[6]梅琪,哈力旦.A,帕力旦.吐尔逊.二维图像的基本处理与边缘检测[J].新疆大学学报,2008,25(2).
[7]花存宏,曾文华,龚丽芳.通用型矢量电子地图系统的设计与实现[J].现代测绘,2005,28(5).
矢量电子地图 篇4
1 矢量地图绘制
利用面向对象的程序设计和C++类的组织方法,组织建立一个基本矢量图形的图形元素类。该系统能够处理线类、圆类、圆弧类、多边行类,针对每类图形元素组织建立起对其进行管理的类,并把每个图形元素作为一个独立的对象来管理。
1.1 设计图形元素的基类
对各类图形元素进行分析,可以发现各类图形元素具有一些相同的属性和操作功能,如图形元素的颜色、线宽、线型、所在图层等属性,把这些元素中共性的属性和操作,组织放在一个图形元素基类中,用ClassWizard增加一个新类CDraw,作为图形元素的基类,同时将其头文件和实现文件选择CMapDOC中,CDraw类定义如下:
1.2 设计各类图形元素
对于点类图形元素,其基本类型特征是各个图形元素相互独立,且每个图形元素具有有限的固定的特征点。下面以直线的添加介绍添加图形元素类的方法,在ClassWizard创建一个管理直线的类Cline,类的基类是CDraw图1所示操作。
点击确定按扭后,加入成员变量得如下结果:
这样一个Cline类就创建完成,同上所示依次添加其他的图形元素。因为线类元素包括多种,如连续直线,混合线等,一条直线可能有两个以上顶点,定义个POINT动态指针数组来存储顶点坐标:
CPoint*m_PointList;
并在析构函数中:delete m_PointList;
1.3 图形参数类设计
在矢量图形系统中,图形参数集中存储,在以上定义的图形元素基类CDraw中,成员变量m_ColorPen、m_ColorBrush等存储的是在颜色列表的序列号,m_Layer中存储的也是在图层列表中的序列号。现在建立一个专门管理诸如图形颜色、图层等方面的信息。在头文件Mapdoc.h中CMapDoc类之前定义,定义图形参数类CGraphPara如下:
2 矢量地图文档组织管理
2.1 矢量图形文档
管理矢量图形系统图形数据的方法即文档管理机制,这种机制就是通过图形元素类创建很多图形元素对象,每个图形元素对象作为一个整体来组织存储空间的分配、存取等各种管理功能。
管理一个矢量图形系统文档的思路是:每个图形元素是图形元素类创建的一个对象,在MFC中有一个类模板CTypedPtrArray可以用它来创建一个管理对象的各类图形元素管理类指针对象。在程序中,可以派生几个CObArray对象分别管理几类图形元素。在文档类中创建几个管理图形元素对象指针的CObArray对象如下:
为了实现文档的管理功能,在文档类中定义几个函数,分别用来增加各类图形元素的操作功能:
2.2 矢量图形视图
利用虚函数来实现各种图形元素的绘制功能。在图形元素CDraw中抽象定义一个进行绘制的函数:
3 打开和读取DXF文件
AutoCAD作为目前最流行的图形软件,其应用范围非常广泛,开发自主的矢量图形系统与AutoCAD图形文件的接口意义十分重大,其实质就是读取AutoCAD的DXF文本文件。这就要掌握DXF文件的格式,编程解析DXF文件,获取各图形参数。这部分知识已在很多书刊中已有介绍,笔者在这里不再赘述,读者可参阅相关资料。
4 结束语
矢量地图库是电子地图的基础,其核心部分是对图库的管理。本文主要探讨了利用Visual C++6.0 MFC可视化开发环境,分析AutoCAD图形DXF文本文件数据格式,通过编程直接阅读源代码;获取线、圆、点、图层、颜色、线型等实体数据,通过提取图形元素并将信息存储,绘制矢量图形模块;再用MFC绘图类,根据图形元素的信息在屏幕上显示出来。系统主要包括:DXF文件的读取模块,此模块主要包括对AutoCAD图形数据库中信息表达一种索引标记的标记和数据表达规则进行提取,并对提取的信息进行保存。绘图模块,包括对存储的图像信息进行分类的绘制,分别解析为直线、圆、圆弧等图形元素,并通过每种图形元素的特定绘图函数在屏幕上绘制。地图的显示模块,此模块主要包括对已经绘好的电子地图进行放大、缩小、漫游功能的实现的控制操作。本文所述的软件已用于基于GPS的自动导航系统中。
摘要:电子地图是GIS的重要组成部分,利用Visual C++6.0解析AutoCAD DXF数据格式,通过编程直接阅读文本数据,获取各实体数据并存储,绘制矢量图形将信息在屏幕上显示出来,与GPS结合,实现车辆自动导航驾驶。
关键词:VisualC++,矢量地图,AutoCAD
参考文献
[1]黄庆生.VISUAL C++6.0学习教程[M].北京:北京大学出版社,1999.
[2]张成才,孙喜梅,朱陶业.AutoCAD的DXF文件格式及其转换接口研究[J].微型电脑应用,2001(8):54-55.
[3]张卫峰,林端敏.AutoCAD软件的DXF接口技术[J].机械与电子,2004(11):78-80.
[4]景雪琴.VC++类和文件技术在AutoCAD二次开发中的应用[J].微机发展,2005(8):137-138.
基于点模式匹配的矢量地图水印算法 篇5
数字矢量地图作为一种数字内容同样存在版权保护问题,由于原始矢量地图数据的获取多是通过大地测量、航空像片测图、对现有地图数字化及对已有数据进行更新等方法实现的,成本较高。矢量地图能在不影响质量的前提下随意进行缩放、旋转和其他几何变换处理,矢量数字地图作为GIS的重要组成部分在各个领域内广泛应用。因此对矢量地图的版权保护的工作显得更加重要。
数字水印技术是一种将特制的、不可见的标记利用数字内容内嵌的方法隐藏在数字内容中,由此来确定版权拥有者、认证数字内容来源的真实性、识别购买者,提供关于内容的其他附加信息,确认所有权认证和跟踪侵权行为。针对矢量数字地图的数字水印所做的工作相对较少[1],二维矢量地图的数字水印算法目前主要有基于数据变换域[2,3]的方法,以及基于空间域[4,5,6]的水印算法等。文献[3]对矢量图形的顶点进行小波变换,然后在第二级和第三级对角线子图中嵌入水印。文献[4]对嵌入水印信息前的矢量地图在一定的精度范围内做压缩处理,因此可以很好的抵抗压缩攻击。此外,也出现一些在其他方面的水印算法,如文献[7]提出将水印嵌入到参数化后的多边形角度或圆的角度参数中,文献[8]提出了一种基于中国剩余定理的水印方法。本文提出了一种基于点模式匹配的矢量地图水印算法,该算法通过匹配被检测的矢量地图与含水印的矢量地图的关键顶点得到它们之间的配准函数,最后与原矢量地图比较可以计算得到嵌入的水印信息图像。利用图像特征点匹配进行水印同步的算法是近年来的研究热点[9],但是还没有将点模式匹配应用到矢量地图水印算法中来。
1 点模式匹配
1.1 基本原理
点模式匹配是两个点集之间的匹配,图1显示了利用点模式匹配进行图像匹配的流程,其中模板图像的预处理和特征点集提取可离线完成。
点模式匹配是目前最常用的匹配方法,它是指对于两个含有不同数量的对应点集P={p1,p2,…,pm}和Q={q1,q2,…,qn},可以通过某些变换(如平移变换、旋转变换、伸缩变换)将它们匹配起来。也就是要确定一个配准函数G(tx,ty,f,θ),使得在两个点集中尽可能多的点之间存在稳定的一一对应关系,其中f是两幅图像的伸缩系数,θ是偏转角度,tx和ty分别是沿x轴和y轴的位移。配准函数将点p=(xp,yp)T映射为点q=(xq,yq)T,即满足:
现在已有很多学者对此进行了研究并提出了众多方法。以Hough变换[10]为基础的模式匹配方法把点模式匹配转换成检测Hough空间中的峰值参数,并用多种方法来降低匹配的计算复杂度,但这种方法对于较大的图像形变效果不佳,计算量较大,而且当特征点较少(少于30个)时,很难在Hough空间里积累起足够的数据来保证一个可靠的匹配。还有一些比较有特色的方法,如三角匹配的算法[11]和聚类算法[12]等,虽然这些方法都能处理点模式之间的平移变换、旋转变换和伸缩变换,但计算代价大,仍然是有待解决的问题。
文献[13]提出的快速点模式匹配算法,计算效率较高。该算法中,主要研究如何求得各个点的匹配点对和变换参数f与θ,如果在不考虑tx和ty的影响的情况下,那么可以快速计算得到变换参数f与θ。算法的主要过程如下:(1)计算得到最大匹配点对数,以及变换参数f与θ,这两个参数能使得点集P和Q存在最大程度的匹配的点;(2)在已经求的参数的条件下,求出在点集P和Q中的匹配点对;(3)计算最佳的匹配参数,使得点集P和Q匹配存在最小的误差。
1.2 点模式匹配的算法介绍
若P和Q为同一矢量地图在分别经过网络发布前后得到的不同点模式特征空间,则对该矢量地图中的某一特征点必然分别对应P中的pi与Q中的qa,pi与qa间必存在某一配准函数G(tx,ty,f,θ),使qa=G(pi),且其他特征点在微小弹性形变和噪声影响下以一定失真阈值范围同时满足该配准条件,即应满足有接近特征点总数的匹配支持,并且在此时任一对在登记条件G下对应的点的匹配支持相同,故寻找特征点对的最大匹配支持,只需找出P中的任一点pi对Q中所有的qa的匹配支持的最大值。
在本文背景下,首先不考虑tx和ty的影响,从而待定的参数只有f和θ,所以此时配准函数可以用G(f,θ)表示。CHANG首先利用聚类的方法确定匹配两个点集的f和θ,然后根据参数f和θ找出所有的匹配点对,最后由最小二乘法精确地确定出匹配参数tx、ty、f和θ。
2 水印算法
2.1 水印信息的预处理
原水印信息图像为二维正方形矩阵,如图2(a)所示,记为R,矢量地图如图2(b)所示,记为M。
设正方形图像二维矩阵为An×n,变换函数w()为对正方形矩阵进行对角映射,记变换后的图像为B,即B=w(A),此时,bij=auv,u=n-i+1,v=n-j+1。
2.2 特征点的提取
矢量地图的数字水印嵌入过程一个关键步骤就是特征点的提取,矢量地图作为一种特殊格式的数据信息文件,其实体的顶点一般是嵌入水印的特征数据。设从矢量地图M的顶点数据中提取关键特征点组成的新矩阵记为P,关键特征点提取函数记为v(),即P=v(M)。因此,我们可以从矢量地图M的顶点数据中提取部分关键数据重新构造特征顶点数据矩阵P。如图3所示,特征顶点由以下几项组成:(1)普通对象,是以点的方式存储的,比如一些文字或者图标;(2)线性对象,是以顶点序列的方式存储的,比如一些线段或者多面体;(3)参数对象,是以部分参数的方式存储的,比如圆或椭圆,这些实体仅仅存储部分顶点,例如一个圆,存储圆心和半径就可以了。
具体的特征点提取过程如图4所示,对矢量地图关键点的提取过程中,一个顶点只能提取和存储一次,而且这些顶点必须和原始对象一一对应,只有这样,才能重新恢复所有的矢量地图数据结构。
2.3 水印嵌入过程
根据前面的结果,我们现在规定水印图像为R,矢量地图为M,含水印的矢量地图为M′,以及常数C,此常数C必须受到矢量地图的最大误差容限限制。水印的嵌入算法如下步骤:
Step1 从特征顶点的矩阵P中分别就x、y坐标分离出顶点坐标值,用Ax和Ay表示。
设t表示矩阵P中顶点坐标的个数,n表示矩阵P中顶点pi=(xi,yi)的下标,那么:
Step2 对水印信息图像R进行扩维成n×n,扩维后的图像用E表示。
Step3 前面2步已经得到了关键顶点坐标序列Ax和Ay,以及扩维后的水印信息图像E,可以用下面的式子进行水印信息嵌入:Bx=CE+Ax,By=Cw(E)+Ay。
Step4 合并Bx和By就可以得到嵌入水印的矢量地图,记为M′。
水印嵌入过程的具体流程如图5所示。
2.4 水印提取过程
水印的提取过程是采用点模式匹配算法将被检测矢量地图滤除掉可能的攻击,然后与原矢量地图进行对比,从而得到水印图像。
需要检测的矢量地图为N,那么我们在水印的提取过程中可以寻求点模式匹配的配准函数G,此函数把矢量地图N,经过变换G,可以得到近似的含水印信息矢量地图,即M′=G(N)。
Step1 首先将水印信息嵌入到矢量地图中,得到含有水印信息的矢量地图M′,根据前面描述的关键顶点提取方式分别从含水印的矢量地图M′和被检测矢量地图N中提取关键顶点,P=v(M′),Q=v(N),然后通过点模式匹配算法将M′和被检测矢量地图N进行比较,得到配准函数G(tx,ty,f,θ),使得P≈G(Q)。
Step2 这一步我们将从原矢量地图中提取关键顶点,即从v(M)中得到Ax和Ay;同样地,从v(G(N))中得到的Bx和By。通过比较Ax、Ay和Bx、By可以判断被检测地图是否为原矢量地图,因此我们必须计算G(N)并和原始的矢量地图比较。提取水印D可以用下面的公式得到:
Step3 最后,我们从上面的步骤得到的水印图像是n×n的矩阵,因此必须恢复到原来大小的灰度图像,得到水印信息S,从而我们可以判断被检测矢量是否含有水印信息,如果有水印信息,那么可以判断矢量地图的版权所有。
水印提取过程的具体流程如图6所示。
3 实验结果及分析
3.1 水印的攻击
大部分攻击方式是修改嵌入水印信息后的矢量地图,主要的攻击方式分以下几种:
几何变形攻击 对矢量地图进行旋转、缩小会影响到水印信息,但是这些攻击方式只是一些简单的变换,采用点模式匹配算法可以很轻松的抵抗这些攻击。
剪切攻击 这种攻击方式是剪切矢量地图或者将矢量地图的某些实体删除。但是,如果删除过多实体,那么提取的水印会受影响,比如过多的顶点信息被忽略,那么提取的水印图像信息会产生一个“空洞”现象。一般水印信息图像比矢量地图小,丢失的信息可以从其他重复区域得到,从而可以恢复水印信息图像。
增加实体的攻击 点模式匹配算法同样可以解决实体增加的攻击方式,因为这些增加的实体在原矢量地图中没有匹配的顶点。
文件格式转换攻击 矢量地图在商业用途中,其文件经常会从一种数据格式转换成另一种数据格式,在这种情况下,往往会对矢量地图的大部分坐标数据有所改变,如果对于矢量地图数据的修改在误差容限允许范围内,那么这种攻击后的矢量地图仍然有使用价值的。点模式匹配算法能处理这种方式的攻击,因为在数据格式转变之后,算法仍能匹配部分顶点坐标,忽略那些不能匹配的顶点坐标。
3.2 实验结果
实验结果通过相似度NC来检测原始水印和提取水印的相似性。NC定义如下:
其中,w(i,j),w*(i,j)分别表示两幅图像在(i,j)处的灰度值。
对嵌入水印信息的矢量地图分别进行旋转45°和缩小为原来的80%,提取的水印结果分别如图7的(a)、(b)所示。
对嵌入水印信息的矢量地图分别进行移动顶点、减少顶点和增加顶点,提取的水印结果与原始水印信息图像相似度如表1所示。
从表1可知,随着顶点编辑数的增加,相似度NC的值逐渐偏离1.0,当顶点编辑数目超过总顶点数目40%时(正常的编辑不会超过这个比例),相似度NC的值与1.0之差的绝对值可能会超过0.15。我们假设能提取有效水印信息时,其相似度阈值范围是0.85-1.15,那么,当我们提取出的水印信息与1.0之差的绝对值超过0.15,我们将认为提取出的水印信息无效。从表1还可以看出,顶点增加、顶点删除和顶点移动对相似度的影响程度是不同的,顶点移动的影响最大,顶点增加的影响最小。
矢量地图中的噪声主要来自于某些日常操作,例如数据在两种不同的矢量地图数据格式之间进行转换时,由于二者支持的数据单位或精度不同,转换后的数据会产生微小的差异,我们把这种差异看做噪声扰动。另外,加性噪声攻击虽然有可能是一种蓄意攻击方式,但对于攻击者而言并非一个好的选择,因为无法确保叠加噪声之后的数据可用性。因此,本文仅考虑较小幅度的零均值加性噪声攻击,实验结果如表2所示。
矢量地图的顶点数据压缩攻击,表3数据表示的是矢量地图在不同程度压缩下,提取出的水印信息与原始水印信息相似度对比。
4 结 语
本文提出了一种针对二维矢量地图的水印算法。在水印的提取过程中,采用点模式匹配算法滤除掉可能对含水印矢量地图的攻击,最后将得到的矢量地图与原始矢量地图进行比较从而提取出水印信息。本文的水印算法可以抵抗各种常见的攻击方式,比如矢量地图变形、矢量地图实体的删减或增加、矢量地图顶点移动、叠加噪声以及轻微的矢量地图顶点压缩。本文算法的实验所采用的是1∶25万矢量地图数据,算法同时也适用于其他比例尺的矢量数据,算法本身和地图数据的比例尺没有直接关系,但是由于不同比例尺的数据误差容限不同,因此在嵌入水印时应确保误差严格限定在数据的精度范围内。
摘要:提出一种基于点模式匹配的矢量地图水印算法。该算法将灰度图像嵌入到矢量地图的特征顶点中,嵌入时通过控制误差容限,保证水印的不可见性。水印的提取过程采用点模式匹配算法,通过匹配被检测的矢量地图与含水印的矢量地图的关键顶点得到它们之间的配准函数,最后与原矢量地图比较可以计算得到嵌入的水印信息图像。实验证明该算法对平移、旋转、缩放等攻击都能起到很好地抵抗,具有较高的安全性。
矢量电子地图 篇6
随着科技的不断进步, 人们的生活发生了翻天覆地的变化。尤其是近年来移动技术的发展, 手机已经从最初的一种单纯的通信工具转变成如今集通信、工作、娱乐等功能为一体的综合设备。由于人类日常生活的85%以上的行为都与地理位置有有关, 使得基于位置的服务自然地成为了手机用户的基本需求之一。
与PC相比, 手机屏幕小、处理器速度慢、存储受限及其操作系统种类繁多, 如Palm、Symbian、Windows CE和Linux系统。要在这样环境中开发程序, 对程序设计师来说的确是一个很大的挑战。J2ME具有开放、平台无关性、类库和程序资源丰富等优势, 由此得到了大多数手机厂商的支持。
1 开发环境
Java 2 Micro Edition (J2ME) 是sun公司专门为了满足那些使用有限的资源、有限的网络连接以及有限的图形界面能力的电子和嵌人式设备开发的, 包括手机、PDA、智能化电器、数字机顶盒和汽车导航系统等。它是一种以广泛的消费性产品为目标的高度优化的Java运行环境。J2ME在结构上分为CDC (Connected Device Configuration) 连接设备配置和相应的Foundation Profile规范, 以及CLDC (Connected Limited Device Configuration) 有限联接设备配置和相应的MIDP规范。MIDP (Mobile Information Device Profile) 是移动信息设备规范的简称, 规范具体定义了J2ME适用的硬件和软件框架, 并提供了这个框架要实现的基本功能及其标准接口, 应用开发者可以基于这个框架开发出各种应用。
2 地图数据
目前地图数据格式主要有矢量数据和栅格数据。栅格数据结构实际就是像元阵列, 每个像元由行列确定它的位置。由于栅格结构是按一定的规则排列的, 所表示的实体位置很容易隐含在网络文件的存储结构中, 且行列坐标可以很容易地转为其它坐标系下的坐标。矢量数据结构是另一种最常见的图形数据结构, 即通过记录坐标的方式, 尽可能地将点、线、面地理实体表现得精确无误。其坐标空间假定为连续空间, 不必象栅格数据结构那样进行量化处理。因此矢量数据能更精确地定义位置、长度和大小。两种数据结构相比较, 矢量数据量小, 在坐标位置搜索、计算多边形形状面积等方面更为有效, 对于拓扑关系的搜索则更为高效, 网络信息只有用矢量才能完全描述。由于手机内存及处理器的限制, 数据处理量越少越好, 同时手机电子地图主要是针对城市, 其道路网比较复杂, 利用矢量数据可以有效的进行地理信息查询, 本文使用ESRI公司定义的Shape文件。
Shape格式是Arc GIS应用最广泛且唯一完全公开的数据格式, ESRI Shapefile由一个后缀名为shp的主文件、一个后缀名为shx的索引文件、一个后缀名为dbf的d BASE表组成, 且3个文件具有相同的文件名。shp主文件描述了其对象类型及每个空间对象记录值;shx索引文件记录了每个空间对象在主文件中的起始与偏移地址;dbf表文件记录了每个空间对象的属性特征。shp主文件由文件头、记录头、记录内容构成, 其中文件头固定长度为100字节, 记录头固定长度为8字节, 记录内容长度取决于Shape实际数据;shx索引文件文件头和主文件的文件头定义一致, 其记录包括各为4字节的在主文件中对象的偏移量和内容长度;dbf文件由头文件和实体内容组成。
由于图形文件shp和属性文件dbf记录一一对应, 所以作为手机的地图文件, 只需要使用后缀名为shp和dbf的文件, 从而减少手机对数据的存储量和读取量。
3 功能及实现
本文主要讨论手机端矢量地图软件的实现, 地图数据将存储在手机中, 避免了上网产生的不必要费用, 满足大众的需要。手机端矢量地图软件主要负责地图显示, 缩放, 漫游和查询等基本功能。
3.1 程序流程
在MIDP中, MIDlet Suite作为应用程序的基本单位, 应用程序管理器JAM (Java Application Manager) 负责手机内的MIDlet Suite以图形化是方式呈现, 让用户可以选择要执行的MIDlet。每个MIDlet都要继承javax.microedition.midlet.MIDlet类, MIDP规范定义了MIDlet的生命周期, 以及可以存在的三种状态, 即paused, active和destroyed。每一个MIDlet在任何时刻只可能处于其中的一个状态。图1说明了MIDlet状态改变情况:
本程序由Start App方法启动, 首先从本地读取地图文件, 使用Canvas作为场景, 这时需要调用Graphics类, 通过Graphics提供的一些方法来绘制地图中的元素, 并使用Canvas类中的paint () 事件处理程序, 将系统输入的Graphics对象予以绘制。Command Listen监听键盘事件, 并调用相应的程序来完成地图缩放、漫游和查询等功能。
3.2 地图的绘制
受手机操作系统多样化、CPU及内存有限等情况的限制, 在手机本地完成地图引擎工作量大, 为了减小存储数据量, 不得不采取裁剪GIS数据库的做法来完成。首先在PC端使用GIS软件arc Info进行处理地图数据, 采用其提供综合工具进行简化, 在一定程度上可以降低shp文件的数据量, 其次, 由于J2ME中线是没有宽度的, 如果以线表示街道并在手机上绘制出来的地图美观程度会大打折扣, 同时街道也没有主次之分, 影响了用户对地图的解读。结合实际情况综合考虑, 将街道划分为主街道, 次街道和最次街道。使用Arc Info按街道的三个等级建立缓冲区, 再从整个地图面中裁剪掉这些缓冲区, 则空出来的部分就可以形象的表示街道的宽度, 而用线表示的街道及其属性则可以读到手机地图中作为街道名显示和查询的依据。
地图数据在手机中的显示主要是MIDP低级UI的使用, 这里就必须要用到Canvas这个抽象类, Canvas的核心是paint () 这个方法, 这个方法就是负责绘制屏幕上的画面, 每当屏幕需要重新绘制时, 就会产生重绘事件时, 系统就会自动调用paint () , 并传入一个Graphics对象, 而矢量地图中的点、线、面及文字等矢量对象都将在Graphics对象提供的一些方法予以绘制和渲染。对于J2ME读取dbf文件的中文字符在手机中显示时会出现乱码的问题, 解决办法是在程序中对读取的字符进行编码转换, 例如
3.3 地图的操作
任意比例的缩放地图充分体现了电子地图图形显示上相对传统纸质地图的优越性, 而矢量结构保证了在地图缩放显示时, 图元的各个部分以一定比例的缩放。
窗口, 即逻辑坐标作画的区域;视口, 用于设备坐标显示图形的区域。地图的缩放取决于手机屏幕坐标与逻辑坐标单位距离的对应关系, 通过改变窗口和视口尺度的比例, 也就实现了地图的缩放。
地图漫游的实质是视口的原点与窗口原点的映射关系的改变, 在实际应用中, 为了方便用户操作, 可以设置手机1到9除5以外的按键为漫游方向, 并在各个方向上设置相对于原点的偏移量 (Offset X, Offset Y) , 在地图显示时, 在坐标上加两个方向的偏移量, 再调用repaint () , 即可实现地图漫游。
手机地图查询的基本功能主要有位置定位, 周边查询和最短路径查询等。例如, 用户可以按照属性查询地图元素的位置或选择地图元素来查询其属性, 要查询某银行位置时, 用户输入或从列表选择该银行, 程序按用户输入或选择的条件对属性数据进行遍历, 如果找到匹配则调用相应函数, 把满足该属性对应的图形要素显示到手机屏幕上, 如图2。由于使用的地图是矢量结构, 其拓扑关系可以完整的描述网络关系, 则从起点到目的地的最短路径即可方便的计算出来并显示到手机屏幕中, 如图3所示, 蓝色线路即为小西门到陆军讲武堂的最短路径。
4 结论
纸质地图为我们的生活提供了方便, 但其信息查找不便一直困扰着我们。本文开发以J2ME为平台的手机矢量地图, 从本地读取地图数据, 通过相关操作实现地图浏览、漫游和查询等功能。用户可以随时随地通过手机浏览城市地图, 迅速定位地图上关心的地方, 给手机用户全新的生活体验。
摘要:针对Java手机的应用, 基于J2ME技术对手机实现矢量地图显示, 及地理信息等功能进行了分析和实践。
关键词:手机,J2ME,矢量地图
参考文献
[1]邬伦等.地理信息系统——原理、方法和应用[M].北京:科学出版社, 2005, 1.
[2]李研.J2ME技术开发与应用[M].北京:机械工业出版社, 2006, 5.
[3]ESR公司.ESRI Shapefile Technical De-scription White Paper http://www.esri.com/li-brary/whitepapers/pdfs/shapefile.pdf.
[4]程恺, 李博, 杜晓飞.基于J2ME手机矢量地图及定位技术的应用研究[J].计算机时代, 2006 (12) :31-33.
[5]屠银辉.手机GIS软件的研发[D].中国学位论文全文数据库.
矢量电子地图 篇7
关键词:数据库,标准化,矢量数字地图生产
1 信息化测绘趋势研究
测绘行业矢量数字地图的生产随着测量工具和各项IT技术的发展正在经历从数字化测绘向信息化测绘跨越的转变这些变化, 主要体现在以下几个方面。
(1) 在数据生产模式上由过去单纯生产电子地图到为GIS生产的格式统一信息丰富的数据图的变化, 过去生产电子地图仅仅面向打印出图, 只要图形符号正确就可以了, 但是现在GIS的数据不仅要求数据本身包含越来越多的属性内容, 同时也要求数据本身有统一的格式和规范。 (2) 在数据管理模式上, 由过去简单的文件管理到为基础GIS系统提供底层数据支持的空间数据库管理的变。 (3) 在数据的利用模式上, 由过去对电子地图“符号化”的识别, “量算型”利用到对数据“全信息化”统计分析利用的变化。
传统方法对电子地图的利用无非就是人工进行符号识别, 或者在图上获取量算出来的数据, 信息传递的过程既原始, 又容易出错, 而通过建立空间数据库的方法, 无论对数据的属性提取还是大范围的统计分析和利用, 既提高数据利用的速度, 同时大大提升了数据本身的使用价值。
以上这些问题的产生, 深刻反应了数据生产和数据管理之间的主要矛盾, 即生产的无序性导致了管理的不可控性, 要顺利解决这个矛盾, 则要从数据生产的基本活动环节中针对数据管理的基本标准进行有效调整和改造, 即面向数据建库的标准进行成图软件的相应定制和组织数字化地形图的生产。
2 传统数据采集建库中的普遍问题
通常的基础空间数据建库, 其生产环节和数据管理环节是截然分开的, 数据生产通常只遵照一个制图标准, 并没有将其看作是GIS系统中要求的对象, 因而在数据采集的阶段, 不会去考虑数据对象中内在的逻辑关系, 比如图形本身的拓扑关系、符号与属性一致性关系等, 所以当这样的数据生产出来后, 数据的管理者还要对这些数据进行再次整理, 使之符合数据入库的标准, 往往还要再开发一个数据检查整理的软件工具, 花费大量的人力和财力对数据进行加工整理。
GIS建库中数据质量不好是最突出的问题。这个质量问题除了通常数据采集过程中产生的各种误差外, 主要是数据不一致和不完整性的误差。
在G I S的应用发展过程中, 不同的单位、不同的行业可能采用了不同的GIS软件。然而, 令人可怕的是由于受技术和其它因素的影响, 不同的软件采用不同的数据源, 不同的数据格式, 这就造成了不同的GIS应用系统之间数据难以共享、重复采集、重复建立系统的局面。这也可能是数字城市建设中面临的主要问题之一。
面对这种现状, 在数字城市建设中, 除了要研究解决作为平台的GIS软件之间的数据共享之外, 还应该要求作为前端的数字测绘能适应GIS系统的数据需求, 确保数字测绘与GIS系统的数据的共享。
目前国家生产建设的速度一日千里, 除了对基础数据的现势性要求非常高, 还要由基础的空间数据库进行对未来城市发展进行辅助决策。尽管现在数据采集的手段非常先进, 但由于刚才前面提到的两个问题, 数据生产与管理并没有很好的结合, 数据管理单位没有很好的把数据建库标准导入到实际的数据生产中去, 数据生产中“无法可依”, 没有详尽严格的数据建库标准进行约束, 当然难以生产出高质量的成果。
所以, 只需对数据生产和数据建库管理的环节进行有效流程再造, 使数据的生产和建库管理形成一个统一整体的系统, 这就是面向数据建库标准进行数字地图生产的方法。
3 面向数据建库标准组织数据生产的流程研究
面向数据建库标准进行数字地图生产的方法强调生产过程中的标准意识, 按“事后控制不如事中控制, 事中控制不如事前”的原则, 将原来数据加工整理的工作有效的分配到生产进行当中, 首先确定数据建库标准, 然后按照建库标准来定制数据生产的新标准 (有别于地形制图标准) , 要满足这个新的标准, 则数据采集软件要进行必要的定制, 而且为了检验数据是否能达到这个标准, 还要定制自动化的检查程序, 这样, 作业单位就可以一边生产, 一边检查, 有错的地方马上纠正, 相比原来那种事后进行加工整理的办法, 其效率大大提高。
4 实施标准化数据生产的意义
面向数据建库标准来组织数字地图生产的方法, 不仅仅解决了困扰GIS建设多年的数据问题, 从长远来说, 还有更多实际意义。
(1) 数据易于共享, 避免重复。
制定了数据建库标准之后, 为将来的数据生产提供了一个可执行的标准, 则无论用何种数据采集软件, 何种GIS支持平台, 只要标准一致, 在基础空间数据库的支持下, 这些数据就可以在跨平台的条件下进行共享, 也就避免了各个建设部门都要重复进行数据采集的现象。
(2) 数据更新顺畅, 提高效率。
传统方式进行数据建库尽管可以将现有的问题数据进行加工整理并入库, 但始终不能从根本上解决数据问题产生的根源, 当数据要更新时, 更新的数据还是要进行一次加工整理的工作。而面向数据建库标准来组织数字地图生产的方法实施后, 无论是修补测数据还是新测数据, 都能直接面向数据建库标准, 整体上大大提高了整个行业数据生产更新共享和管理的效率。
参考文献
[1]肖计划, 刘海砚, 栾晓岩.地理信息生成与地图制图一体化概念模型研究[J].科技资讯, 2007 (6) .