开篇:润墨网以专业的文秘视角,为您筛选了一篇GIS地图文件在路网生成算法中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘 要:本文主要研究了基于gis和SQL Server的路网自动生成算法。文章首先分析了MapInfo数据格式的特点,并针对此特点通过MapX交换格式文件提取得到GIS属性信息,建立路网拓扑并存储于SQL Server数据库。然后通过SQL语句从数据库中动态获取所需数据,建立动态路网拓扑结构。
一、引言
空间数据的拓扑关系模型是地理信息系统的重要部分,当前商用地理信息系统中,主要采用 "空间实体+空间索引" 和POLYVRT结构两种模型[1]。MapInfo采用称作"空间实体+空间索引"的的拓扑关系模型。下面就对此两种模型拓扑关系模型做简要分析[2],并以mapinfo文件格式为例进行实际分析。
二、GIS数据模型分析
GIS数据模型一般分为空间实体模型+空间索引模型的拓扑关系模型与基于POLYVRT结构的拓扑关系模型两种。空间实体是由点、线、面三种基本类型组成[3],而每种空间实体内部包含其自身的各种空间属性,通过这种方式每个空间实体模型内部维护了自身空间信息,进而建立了空间的拓扑属性,例如MapX中的GetPart()等方法便可获得具体对象的空间属性。
POLYVRT是由美国计算机图形与空间分析实验室(Laboratory for Computer Graphics and Spatial Analysis)研制的一种以弧段(ARC)(或链段)为基础的拓扑数据结构。弧段可以有任意多个中间节点但只有两个端点,同时弧段有左右两个多边形。以上两种数据模型最大的区别在于两者对于模型的拓扑关系的存储。基于以上分析,现有的基于关系数据库的地理信息系统全部采用空间实体模型,本文中所使用的MapInfo也正是建立在这样一种空间实体模型之上。
表1 模型分析
三、mid/mif文件分析及提取
*.mif和*.mid这两个文件都为文本性质的文件,用户可以通过相应的文件读写方法实现对文件内容的读写[4]。GIS地图数据转为SQL Server数据整体流程图如下图1所示。
图1 GIS地图数据提取流程图
1)在MapInfo中打开要转换的数据图层(*.tab)文件,然后利用MapInfo "导出交换文件"的功能生成相应的mid/mif数据文件。
2)判断是否为合法的文件格式,得到mid/mif文件的文件描述符,设置起始图元id为-1。
3)得到下一个图元id,判断id是否正确,如果不正确,则退出,否则进入第四步。
4)得到id对应图元对象,判断图元类型。
5)若为点图元,则直行此步骤。根据图元对象,得到具体点的经纬度坐标,与点名称,将数据写入数据库。
6)若为线图元,则直行此步骤。根据图元对象,得到具体起始点的经纬度坐标,与点名称,将数据写入数据库。
7)返回第二步继续操作。
四、实现
伪代码如下:
打开mif/mid文件
得到起始图元id
while(id != -1) {
根据id得到图元对象feature;
得到图元类型type;
switch(type) {
case折线:{
得到折线中点的个数ncount;
取得起点和终点坐标及相关mapid信息;
存入数据库;
Break;}
case 点:{
得到折线中点的个数ncount;
取得起点和终点坐标及相关mapid信息;
存入数据库;
break;}
得到下一个图元id;}
五、结果
根据以上分析本文对MFI格式地图进行测试,下图4以西安市南二环中段的道路为例,展现了该道路分别在GIS、mif、和SQL数据库中的三种不同表示方式,从而有利于动态路网的生成。
图2 三种地图表示比较
参考文献:
[1]李劲东,基于GIS的长线局光缆抢修流程优化研究[D].华南理工大学,2007.
[2]张巨,刘雨. MapInfo空间数据库技术分析[J].微型电脑应用,1999,(10).
[3]陈晟,景宁,等.空间数据库实例分析[J].计算机工程与应用,1998,(9).
[4]张燕梅,赵伟,MapInfo通用数据交换格式的解析与应用[J].编程语言,2009,(21).
作者简介:程鑫(1990.10-),男,陕西西安人,长安大学信息工程学院,交通信息工程及控制,2012级硕士研究生;张恒(1990.1-),男,陕西西安人,长安大学信息工程学院,智能交通与信息系统工程,2012级硕士研究生;徐昊(1990.8-),男,陕西西安人,长安大学信息工程学院,通信与信息工程,2012级硕士研究生。