1、2.2头信息头信息存储位置为0-1112字节,主要存储包含的工作区文件数、图形范围、比例、位移等信息。内容字节位置字节数类型说明文件标记0-78Char8GDMPD29文件类型 8-114int9文件数 12-131short文件的图形范围 14-4532Double (XMin, YMin, XMax, YMax)文件的环境 46-685640结构文件的标题 686-74560Char60图层字典位置746-749首文件存放指针 750-753位移X 754-761double位移Y 762-769比例X 770-777比例Y 778-785旋转角度 786-793版面宽 794-801版面
2、高 802-809PrjType 810-8112首图例存放指针 812-815工程预设的地图参数 816-984169UnUsed 985-1112128Char128无用2.3工作区信息头信息后是各工作区信息,从1113字节开始,每400字节存储一个工作区信息,主要包括各工作区的类型、文件名、范围等信息。bytePNT/LIN/REG/MSIIMG文件状态 文件名(全路径) 2-129文件的描述 130-257图形范围XMin 258-265图形范围YMin 266-273图形范围XMax 274-281图形范围YMax 282-289用户自定义类型 290-290GroupCode 29
3、1-291网络数据的数据源292-323Char32单机文件此项为空最小显示比例324-331小于MinDispRate,不显示最大显示比例332-339大于MaxDispRate,不显示字段动态标注340-340是否进行字段动态标注,以及是否跟随放大标注字段名称 341-36121Char21标注字高 362-365float标注颜色 366-367标注字体 368-368图例分类信息 369-369保留 370-39930Char303、工作区文件3.1基本构成工作区文件主要有点工作区文件(*.WT)、线工作区文件(*.WL)、区域工作区文件(*.WP)等几种,不同工作区文件构成有一些不同
4、,但是大体结构是一致的,一般包括三大部分: 文件头信息:包括文件类型、数据区头信息的起始位置等 数据区头信息:存储各种结构的数据的字节起始位置和总字节数 数据区:存储点、线、区域、属性等各种数据数据读取时首先读文件头信息,通过文件头信息中数据区头信息的起始位置读取数据区头信息,在数据头信息中存储各数据区的起始位置和总字节数,通过这些信息找到各数据区位置获取数据。3.4 文件头各种工作区文件(WP WL WT)的头信息基本都是一样的,从0字节开始,到数据区的起始位置处,存放文件标记、文件类型、数据区起始位置,各数据区的数据总数、工作区图形范围等信息。文件头标识GDMPD20(WL)GDMPD22
5、(WT)GDMPD21(WP)文件标识Int0-LIN 1-PRT 2-REG起始位置12-15数据区头的起始位置,从这个整数指向的字节位置存储数据区头信息?16-19此处的整数不知道意义20-259未知,好像没什么用260-303存储有11个整数,表示各种数据的总数0-线数 260-263 104h2-节点数 268-271 10Ch4-区数 276-279 114h其余未知图形范围304-3358*4XMin YMin XMax YMax3.3 数据区头信息数据区头信息包含工作区文件中各种数据的起始位置和数据总的字节数,为表述方便,下文中以DataHeader标识。每个数据头信息10字节,
6、如:29 02 00 00 E4 00 00 00 FF FF其中 0-3 数据区的起始位置 4-7 数据区总字节数 8-9 结束标记(FF FF)数据区头信息一般存储有这样的头信息11个左右,WP WL WT文件数据都是各有所区别,但是相同类型数据存放位置基本一致,如无论是WL文件还是WP文件,第一个头信息存储都是线(弧段)信息,各数据区域的位置大致如下: DataHeader0:线信息位置(WP WL)点信息位置(WT) DataHeader1:线坐标点位置(WP WL)点字符串位置(WT) DataHeader2:线属性位置(WP WL)点属性位置(WT) DataHeader3:线拓扑
7、关系的位置 DataHeader4:节点信息的位置 DataHeader5:节点属性 DataHeader6: DataHeader7: DataHeader8:区信息位置 DataHeader9:区属性位置 DataHeader10:3.4点数据点数据存在于WT文件中,从DataHeader0+93开始读,每93个字节存储一个点信息。由于MapGIS的点数据包括字符串、文本、子图、圆、弧等几种类型,各种类型数据存储结构不一致,结构如下:公用部分开始标记 01字符串总数1-2如果点类型是字符串,存储字符串信息位置:DataHeader1+ 偏移量 总数字符偏移量 3-6坐标X 7-14坐标Y1
8、5-22点类型31-310-字符串 1-子图 2-圆 3-弧 4-图象 5-文本透明输出32-32图层73-74颜色75-780-字符串部分字符串string字符高度 33-36字符宽度 37-40字符间隔 41-44字符串角度 45-48中文字体 49-50西文字体 51-52 字形 53-53排列 54-541-子图部分子图号 子图高 子图宽 子图角度 线宽 49-52辅色 53-562-圆部分 ?半径 33-40边线颜色 线宽度 标识 49-491=填充圆 0=空心圆3-弧部分 ?起始角度 终止角度 4-图片部分 ?文件名5-文本部分(多行) ?文本字符串字符高度字符宽度字符间隔字符串角
9、度中文字体西文字体51-52字形行间距54-57版面高度58-61版面宽度62-65排列663.5线数据线数据在WL和WP文件中都有,主要包括线信息、坐标信息,对于WP文件还有线与区域的拓扑关系。1、线信息存储位置:DataHeader0.DataOffset+59 字节数:57格式:未知? 0-3 4-7线点数 坐标存储位置 DataHeader1加这个偏移量是坐标的存储起始位置线型号 20-21Short辅助线型号 22-22Byte覆盖方式 23-23线颜色号 24-2728-31Float线种类 X系数 Y系数 辅助色 图层 ?2、坐标DataHeader1.DataOffset+每条
10、线坐标存储位置 16( 两个八位的浮点数) X坐标0-7 Y坐标8-15 3、拓扑关系DataHeader3.DataOffset+24 24( 前16位有效,共四个整数) 前节点号0-3后节点号 4-7左区号 8-11右区号 12-153.6 结点数据结点是某弧段的端点,或者是数条弧段间的交叉点,结点数据区由结点基本信息加一系列结点线号信息组成,基本信息起始位置为DataHeader4.DataOffset + 55,每个接点55个字节,格式:节点坐标X Double节点坐标Y 8-15节点所在的线总数 24-25节点线段的存储位置 26-27DataHeader1.DataOffset加偏移量存储结点相关的线段信息,每个线段号为4字节的整数结点线信息一系列整数值3.7 区域数据区域是由同一方向或首尾相连的弧段组成的封闭图形,所以MapGis的区域数据是基本信息和一系列线信息中线的顺序号(整数)组成。基本信息的起始位置为DataHeader8.DataOffset + 40,每个结点基本信息共40字节,格式:标记位线总数1-4线号存储位置5-8DataHeader1加这个偏移量是线号的存储起始位置区颜色9-12填充图案号13-14图案高15-18图案宽19-22笔宽23-24图案颜色25-282930-31区域的线号信息分类: 国产GIS(SuperMap、MapGIS
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1