[发明专利]一种陆图shp数据格式与内部数据格式的转换方法在审
| 申请号: | 202111554444.6 | 申请日: | 2021-12-17 |
| 公开(公告)号: | CN114427855A | 公开(公告)日: | 2022-05-03 |
| 发明(设计)人: | 贾宇;丁琰;张明辉;郭鹍;张旭 | 申请(专利权)人: | 中船航海科技有限责任公司 |
| 主分类号: | G01C21/00 | 分类号: | G01C21/00;G01C21/32 |
| 代理公司: | 上海智力专利商标事务所(普通合伙) 31105 | 代理人: | 周涛 |
| 地址: | 200136 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 shp 数据格式 内部 转换 方法 | ||
1.一种陆图shp数据格式与内部数据格式的转换方法,其特征在于,该方法包括以下步骤:
S1.陆图总控信息写入:构造.rec文件,写入海图数据,所述海图数据包括图廓点、比例尺、投影方式和大地坐标系,然后读取相应数据写入到系统头区的相应字段,所述系统头区数据格式为dat;
S2.遍历各图层:遍历包含全图层的陆图shp数据的文件,每层根据层名确定层号后,根据索引头确定数据类型,然后分层进行相应转换;
S3.匹配特征值:从dbf文件中读取对应的数据字段,确定特征值后写入缓冲区,然后将缓冲区数据写入临时索引文件;
S4.制作dat文件:将临时索引文件和数据文件整合后写入dat文件,释放缓冲区;
S5.图层显示:读取S4中所得dat文件,并在显示底板上叠加显示图层;
S6.地图适配:修改基准维度、图廓点、比例尺和数据坐标以使地图适配显示底板。
2.根据权利要求1所述的一种陆图shp数据格式与内部数据格式的转换方法,其特征在于,在陆图总控信息写入前,还包括以下步骤:
T1.初始化:定义总控文件句柄、shp及dat数据文件路径、缓冲区和数据结构,所述总控文件为存储陆图数据的文件包,所述数据结构包括点、线、面;
T2.进行图层映射:对采集的陆图数据用软件打开验证数据显示的精确性,打开其dbf文件查看其属性,根据其属性查询海图数据字典,所述属性包括几何属性和物标类型,所述几何属性包括点、线和面,所述物标类型包括居民地、水系和铁路,将陆图的图层映射到海图相应的图层;
T3.定义图层数组:按照海图数据字典定义图层数组,所述图层数组用于存放各图层的层名信息。
3.根据权利要求2所述的一种陆图shp数据格式与内部数据格式的转换方法,其特征在于,所述步骤S2的具体方法包括以下步骤:
B1.遍历.shp文件路径下所有文件,采用正则表达式的方式读取存放筛选后的shp数据的文件夹,从图层数组定义的第一层开始匹配,在匹配到相应图层时开始解析该图层;
B2.打开目标图层下的.shp、.shx和.dbf三个文件,读取数据文件头和索引文件的文件头,根据索引文件读取图形文件内容,并将读取到的图形信息存入到缓存区中,所述图形信息包括序号、维数和坐标;
B3.根据读取到的数据文件头确定图形类型,所述图形类型包括点、线和面,进入到该类型图形转换的函数模块,然后将读取到的图形信息写入相应的缓冲区里,校验数据准确性;
B4.根据读取到图形信息中的坐标数据判断其数据类型,所述数据类型包括经纬度和弧度,若是经纬度坐标则手动转换为屏幕坐标,将屏幕坐标写到数据文件中。
4.根据权利要求1所述的一种陆图shp数据格式与内部数据格式的转换方法,其特征在于,所述步骤S3的具体方法包括以下步骤:
Q1.打开dbf文件;
Q2.读取dbf中的数据字段,并对照数据字段确定要素类型,同时遍历各要素;
Q3.查询海图字典,根据要素类型确定对应的特征值;
Q4.将特征值写入缓冲区;
Q5.检查是否读取全部要素,若是,则进行下一步骤,若否,则重复步骤Q2-Q4;
Q6.将缓冲区数据写入临时索引文件。
5.根据权利要求2所述的一种陆图shp数据格式与内部数据格式的转换方法,其特征在于,根据定义的图层数组,在进行步骤S5时,读取的图层数据根据图层数组的序号在显示底板上依次叠加显示,若目标图层遮挡其他图层,则重新定义目标图层数组,修改其序号,使得在进行图层数据读取时目标图层优先读取显示,直至所有图层依次显示无遮挡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中船航海科技有限责任公司,未经中船航海科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111554444.6/1.html,转载请声明来源钻瓜专利网。





