还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
、概述
11.1文件组成MAPGIS数据文件主要包括工程文件文件和工程内各工作区的文件工作区是MAPGIS提出的一个概念,简单地说,工作区就是一个数据池,存放实体的空间数据、拓扑数据、图形数据和属性数据,每一个工作区都对应于一个MAPGIS数据文件数据文件主要有以下几种a点工作区(.MPJ文件)工程文件,存放工程中所有的工作区文件a点工作区(.WT文件)点(PNT)A线工作区(.WL文件)线(LIN)、结点(NOD)A区工作区(.WP文件)线(LIN)、结点(NOD)、区(REG)A网工作区(.WN文件线(LIN)、结点(NOD)、网(NET)A表工作区(.WB文件)无空间实体,仅有表格记录
1.2数据类型A点元点元是点图元的简称,有时也简称点,所谓点元是指由一个控制点决定其位置的有确定形状的图形单元它包括字、字符串、文本、子图、圆、弧、直线段等几种类型它与“线上加点”中的点概念不同A弧段弧段是一系列有规则的,顺序的点的集合,用它们可以构成区域的轮廓线它与曲线是两个不同的概念,前者属于面元,后者属于线元A区/区域区/区域是由同一方向或者首尾相连的弧段组成的封闭图形A结点结点是某弧段的端点,或者是数条弧段间的交叉点A属性就是一个实体的特征,属性数据是描述真实实体特征的数据集显示地物属性的表通常称为属性表,属性表常用来组织属性数据、工程文件
22.1基本构成工程文件数据由头信息+各工作区信息数据构成,其中头信息是0-1112字节,各工作区信息是400各字节,按顺序首尾存放在文件中线总数1-44IntDataHeader
[1]加这个偏移量是线号的存储线号存储位置5-84Int起始位置区颜色9-124Float填充图案号13-142Short图案图15-184Float图案宽19-224Float笔宽23-242Short图案颜色25-284Int透明输出291Byte图层30-312Short区域的线号信息一系列整数值
2.2头信息头信息存储位置为0-1112字节,主要存储包含的工作区文件数、图形范围、比例、位移等信息内容字节位置字节数类型说明文件标记0-78Char
[8]GDMPD29文件类型8-114int9文件数12-131short文件的图形范围14-4532Double XMin,YMin,XMax,YMax文件的环境46-685640结构文件的标题686-74560Char
[60]图层字典位置746-7494int首文件存放指针750-7534int位移X754-7618double位移Y762-7698double比例X770-7778double比例Y778-7858double旋转角度786-7938double版面宽794-8018double版面高802-8098doublePrjType810-8112short首图例存放指针812-8154int工程预设的地图参数816-984169结构UnUsed985-1112128Char
[128]无用
2.3工作区信息头信息后是各工作区信息,从1113字节开始,每400字节存储一个工作区信息,主要包括各工作区的类型、文件名、范围等信息内容字节位置字节数类型说明文件类型01byte PNT/LIN/REG/MSIIMG文件状态11byte文件名(全路径)2-129128Char
[128]文件的描述130-257128Char
[128]图形范围XMin258-2658double图形范围Win266-2738double图形范围XMax274-2818double图形范围Wax282-2898double用户自定义类型290-2901byteGroupCode291-2911byte网络数据的数据源292-32332Char
[32]单机文件此项为空最小显示比例324-3318double小于MinDispRate,不显示最大显示比例332-3398double大于MaxDispRate,不显示字段动态标注340-3401byte是否进行字段动态标注,以及是否尾随放大标注字段名称341-36121Char
[21]标注字高362-3654float标注颜色366-3672short标注字体368-3681byte图例分类信息369-3691byte保留370-39930Char
[30]、工作区文件
33.1基本构成工作区文件主要有点工作区文件(*.WT)、线工作区文件(*.WL)、区域工作区文件(*,WP)等几种,不同工作区文件构成有一些不同,但是大体结构是一致的,普通包括三大部份:A文件头信息包括文件类型、数据区头信息的起始位置等A数据区头信息存储各种结构的数据的字节起始位置和总字节数A数据区存储点、线、区域、属性等各种数据数据读取时首先读文件头信息,通过文件头信息中数据区头信息的起始位置读取数据区头信息,在数据头信息中存储各数据区的起始位置和总字节数,通过这些信息找到各数据区位置获取数据
3.4文件头各种工作区文件WP WLWT的头信息基本都是一样的,从0字节开始,到数据区的起始位置处,存放文件标记、文件类型、数据区起始位置,各数据区的数据总数、工作区图形范围等信息内容字节位置字节数类型说明GDMPD20WL文件头标识0-78Char
[8]GDMPD22WTGDMPD21WP文件标识8-114Int0-LIN1-PRT2-REG数据区头的起始位置,从这个整数指向的字起始位置12-154Int节位置存储数据区头信息16-19此处的整数不知道意义20-259未知,好像没什么用存储有11个整数,表示各种数据的总数260-3030-线数260-263104h2-节点数268-271lOCh4-区数276-279114h其余未知图形范围304-3358*4XMin YMinXMax YMax
3.5数据区头信息数据区头信息包含工作区文件中各种数据的起始位置和数据总的字节数,为表述方便,下文中以Datalleader标识每一个数据头信息10字节,如29020000E4000000FF FF其中a0-3数据区的起始位置a4-7数据区总字节数a8-9结束标记FF FF数据区头信息普通存储有这样的头信息11个摆布,WP WLWT文件数据都是各有所区别,但是相同类型数据存放位置基本一致,如无论是WL文件还是WP文件,第一个头信息存储都是线弧段信息,各数据区域的位置大致如下A DataHeader
[0]线信息位置WPWL点信息位置WTa DataHeaderEl]线坐标点位置WP WL点字符串位置WTA DataHeader
[2]线属性位置WPWL点属性位置WTA DataHeader
[3]线拓扑关系的位置DataHeader
[4]节点信息的位置A DataHeader
[5]节点属性A DataHeader
[6]A DataHeader
[7]A DataHeader
[8]区信息位置A DataHeader
[9]区属性位置a DataHeader[
103.6点数据点数据存在于WT文件中,从DataHeader
[0]+93开始读,每93个字节存储一个点信息由于MapGIS的点数据包括字符串、文本、子图、圆、弧等几种类型,各种类型数据存储结构不一致,结构如下内容字节位置字节数类型说明公用部份开始标记0101字符串总数1-22short如果点类型是字符串,存储字符串信息位字符偏移量3-64Int置DataHeader[l]+偏移量-总数坐标X7-148double坐标Y15-228double0一字符串厂子图2-圆点类型31-311byte3-弧4-图象5-文本透明输出32-321byte图层73-742short颜色75-784int0-字符串部份字符串string DataHeader[l]+偏移量-总数字符高度33-364float字符宽度37-404float字符间隔41-444float字符串角度45-484float中文字体49-502short西文字体51-522short字形53-531byte罗列54-541byte1-子图部份子图号33-364Int子图高37-404float子图宽41-444float子图角度45-484float线宽49-524float辅色53-564Int2-圆部份半径33-404float边线颜色41-444int线宽度45-484float标识49-491byte1二填充圆0二空心圆3-弧部份?半径33-408double起始角度41-444float终止角度45-484float线宽度49-524float4-图片部份?文件名string DataHeader
[1]+偏移量-总数字符高度33-364float字符宽度37-404float字符串角度41-444float5-文本部份(多行)?文本字符串string DataHeader
[1]+偏移量-总数字符高度33-364float字符宽度37-404float字符间隔41-444float字符串角度45-484float中文字体49-502short西文字体51-522short字形53-531byte行间距54-574float版面高度58-614float版面宽度62-654float罗列661byte线数据在WL和WP文件中都有,主要包括线信息、坐标信息,对于WP文件还有线与区域的拓扑关系
1、线信息存储位置Datalleader
[0].DataOffset+59字节数57格式内容字节位置字节数类型说明未知?0-34未知?4-74线点数8-114IntDataHeader[l]加这个偏移量是坐标的存储坐标存储位置12-154Int起始位置未知?16-194线型号20-212Short辅助线型号22-221Byte覆盖方式23-231Byte线颜色号24-274Int线宽28-314Float线种类32-321ByteX系数33-364FloatY系数37-404Float辅助色41-444Int图层45-484Int49-52453-
5642、坐标存储位置Datalleader
[1].DataOffset+每条线坐标存储位置字节数16(两个八位的浮点数)格式:X坐标0-7Y坐标8-
153、拓扑关系存储位置DataHeader
[3].DataOffset+24字节数24(前16位有效,共四个整数)格式前节点号0-3后节点号4-7左区号8-11右区号12-
153.6结点数据结点是某弧段的端点,或者是数条弧段间的交叉点,结点数据区由结点基本信息加一系列结点线号信息组成,基本信息起始位置为DataHeader
[4].DataOffset+55,每一个接点55个字节,格式内容字节位置字节数类型说明节点坐标X0-78Double节点坐标Y8-158Double节点所在的线总数24-252shortDataHeader
[1].DataOffset加偏移量存储节点线段的存储位置26-272short结点相关的线段信息,每一个线段号为4字力々静粕结点线信息
3.7区域数据区域是由同一方向或者首尾相连的弧段组成的封闭图形,所以MapGis的区域数据是基本信息和一系列线信息中线的顺序号(整数)组成基本信息的起始位置为DataHeader
[8].DataOffset+40,每一个结点基本信息共40字节,格式内容字节位置字节数类型说明标记位01Byte01。