DB32T 3867-2020 三维地理信息数据服务规范_第1页
DB32T 3867-2020 三维地理信息数据服务规范_第2页
DB32T 3867-2020 三维地理信息数据服务规范_第3页
DB32T 3867-2020 三维地理信息数据服务规范_第4页
DB32T 3867-2020 三维地理信息数据服务规范_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ICS35.240.70A 75DB32江苏省地方标准DB 32/T 38672020三维地理信息数据服务规范Specification for 3D geographic information data service 2020- 10 - 13发布2020 - 11 - 13实施江苏省市场监督管理局发布DB32/T 38672020目次前言II引言III1 范围12 规范性引用文件13 术语和定义14 缩略语35 基本要求36 数据服务内容37 数据服务结构48 数据服务接口48.1 获取场景元数据(GetCapabilities)48.2 获取场景数据(GetScene)58.3 获取

2、要素信息(GetFeatureInfo)10附录A (规范性附录) 三维地理信息数据服务返回异常信息表13附录B (资料性附录) 要素表14附录C (资料性附录) 属性表16附录D (资料性附录) 地物瓦片格式规范18参考文献22前言本标准按照GB/T 1.12009给出的规则起草。本标准由江苏省自然资源厅提出并归口。本标准起草单位:江苏省测绘研究所。本标准主要起草人:丁龙远、吕志慧、李佩、邱天、张凯、朱周华。引言随着以激光扫描、移动测量和倾斜摄影测量等为代表的新型三维地理信息数据获取手段的快速发展,大规模、高精度、低成本的三维数据获取成为现实,大幅降低了三维数据应用建设成本。伴随大规模三维数

3、据的不断积累,三维数据的规范管理和共享成为三维地理信息发展的重要趋势。本标准有助于解决海量多源异构数据的可重用性、高效可视化、共享和互操作等难题,对于推动我省三维地理信息数据共享和深入应用有重要意义。21三维地理信息数据服务规范1 范围本标准规定了三维地理信息数据服务的基本要求、内容、结构和接口。本标准适用于三维地理信息数据整合和共享。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。DB32/T 34122018 地理信息公共服务平台 公开版电子地图处理规程ISO/I

4、EC 9075(所有部分) 信息技术 数据库语言 结构化查询语言(SQL)(Information technology - Database languages SQL)3 术语和定义下列术语和定义适用于本文件。3.1服务 service实体通过接口提供功能的可区分部分。GB/T 176942009,B.4273.2瓦片 tiles又称切片,是一种地理信息数据表达和存储的数据单元。3.3瓦片集 tileset按一定空间结构组织的瓦片集合及其元数据信息。OGC 18053r2,4.93.4包围体 bounding volume三维地理信息数据缓存单元的边界范围。3.5三维地理信息模型 thre

5、e-dimensional model on geographic information能可视化反映相关地理要素在立体空间中的位置、几何形态、表面纹理及其属性等信息,包括各种主要地理信息的外部及地下空间,不含地上各建(构)筑物地理信息内部。CH/T 90152012,定义3.23.6点云 point cloud 以离散、不规则方式分布在三维空间中的点的集合。CH/T 80232011,定义3.123.7地形模型 terrain model用于表示地面起伏形态的三维模型。CJJ/T 1572010,定义实景影像 real scene image与人眼视觉感知一致,反映地理场景真

6、实的空间关系、时间以及人文社会环境信息等的一种近地面数字影像。GB/T 356282017,定义3.13.9地物瓦片集 feature tileset存储三维地理信息模型及地上各建(构)筑物地理信息内部模型的瓦片集。3.10实景瓦片集 real scene tileset存储实景影像模型的瓦片集。3.11影像瓦片集 image tileset存储正射影像数据的瓦片集。3.12纹理 texture反映地理要素(不含地形)表面纹理和色泽特征的贴图影像。CH/T 90152012,定义3.113.13三维地理信息场景 three-dimensional scene on geographic inf

7、ormation三维地理信息模型及地上各建(构)筑物地理信息内部模型的集合。4 缩略语下列缩略语适用于本文件。JSON:一种轻量级的数据交换格式(JavaScipt Object Notation)REST:表述性状态传递(Representational State Transfer)URL:统一资源定位符(Uniform Resource Locator)WMTS:网络地图瓦片服务(Web Map Tile Service)5 基本要求5.1 空间参考系坐标系采用2000国家大地坐标系(CGCS2000)。采用依法批准的独立坐标系时,应与CGCS2000建立转换关系。高程系统采用正常高系统

8、,高程基准采用1985国家高程基准。采用依法批准的独立高程基准时,应与1985国家高程基准建立转换关系。5.2 时间参考系日期采用公历纪元,时间采用北京时间。5.3 JSON存储本文件中涉及的JSON格式存储应满足以下条件:a) 使用UTF-8编码,不带BOM头;b) JSON对象中名称应是唯一的。6 数据服务内容三维地理信息数据服务用于在接口层面向外部应用程序提供数据,提供的数据内容包括但不限于以下方面:a) 服务发现,用于询问三维地理信息数据服务所具备的能力,并检索该服务所提供的定义三维地理信息场景类型的应用模式;b) 服务查询,允许基于客户端定义的有关三维地理信息场景特性的约束条件,从数

9、据存储中获取相应的三维地理信息场景或场景特性的值。服务发现包括获取场景元数据接口,用于获取可以机读(或者人读)的关于服务信息内容以及可接收的请求参数值的描述。服务查询包括获取场景数据接口和获取要素信息接口。获取场景数据接口用于向客户端返回指定三维地理信息场景或场景的指定子集。获取要素信息接口用于向客户端返回指定三维地理信息场景中具体要素的详细信息。例如,一个典型的应用情形是按位置查地物属性。当收到服务发现或服务查询请求时,服务应满足请求进行数据输出,或产生服务异常。7 数据服务结构三维地理信息数据服务应采用REST架构,提供基于HTTP协议的应用编程接口,接口涵盖针对三维地理信息数据服务的三种

10、主要操作,包括获取场景元数据(GetCapabilities)、获取场景数据(GetScene)、获取要素信息(GetFeatureInfo)操作。客户端向服务端发出GetCapabilities请求,应检索得到三维地理信息场景数据目录的最新列表。客户端通过执行一个或多个GetScene请求,应获得输出的三维地理信息场景数据瓦片集信息。客户端通过GetFeatureInfo操作,应可查询获得三维地理信息数据的要素信息,具体取决于服务功能和客户端提供的输入信息。三维地理信息数据服务的结构图如图1所示。图1 三维地理信息数据服务结构图8 数据服务接口8.1 获取场景元数据(GetCapabilit

11、ies)8.1.1 概述获取三维地理信息数据场景元数据信息,包括场景标识、场景名称、版本、上传者、时间以及场景数据图层元数据信息等。8.1.2 请求获取场景元数据(GetCapabilities)的请求参数见表1。表1 获取场景元数据请求URL的参数表属性类型描述约束条件servicestring服务标识必选requeststring请求服务操作名称,非空取值为“GetCapabilities”必选versionstring请求版本必选formatstring客户端可以接受的响应格式,如果省略或服务器不支持,使用MIME类型“application/json”返回场景元数据文档可选update

12、Sequencestring场景元数据文档的版本。整个服务场景元数据文档有任何变动时,该值应自增可选8.1.3 响应如果请求有效,根据请求参数返回一个场景元数据信息的响应,否则就返回一个服务的异常。响应的场景元数据见表2。服务返回异常信息表见附录A。表2 三维地理信息数据场景元数据表属性类型描述sceneIDstring场景标识sceneNamestring场景名称sceneVersionstring场景服务版本sceneProviderstring场景服务上传者timechar场景服务发布时间layersobject场景数据图层元数据信息表2中场景数据图层元数据layers具体内容见表3。表

13、3 场景数据图层元数据表属性类型描述layerIDstring场景数据标识layerNamestring场景数据名称hrefstring场景数据相对于服务的位置boundingBoxstring场景图层数据的最小范围viewablebool场景是否支持可视化queryablebool场景是否支持查询8.2 获取场景数据(GetScene)8.2.1 概述获取三维地理信息场景瓦片集数据信息,包括地物瓦片集、地形瓦片集、实景瓦片集和影像瓦片集的信息。8.2.2 请求获取场景数据(GetScene)的请求参数见表4。表4 获取场景数据请求URL参数表属性类型描述约束条件servicestring服务

14、标识必选requeststring请求服务操作名称,非空取值为“GetScene”必选versionstring请求版本必选layersstring图层列表必选boundingBoxstring数据范围可选,除非图层列表中包含地物数据tileLevelint2瓦片数据层级可选,除非图层列表中不包含地物数据tileRowint2瓦片数据行号可选,除非图层列表中不包含地物数据tileColint2瓦片数据列号可选,除非图层列表中不包含地物数据timechar请求数据的生产时间可选8.2.3 响应如果请求有效,根据请求参数返回一个场景瓦片集数据信息的响应,否则就返回一个服务的异常。响应的场景瓦片集数

15、据包括地物瓦片集、地形瓦片集、实景瓦片集和影像瓦片集。服务返回异常信息表见附录A。 地物瓦片集地物瓦片集的具体内容见表5。表5 地物瓦片集属性表属性类型描述约束条件assetobject瓦片集的元数据必选propertiesany瓦片集要素属性的元数据可选geometricErrordouble以米为单位的误差,判断当前瓦片是否显示,在运行时,用来计算以像素为单位的屏幕空间误差。必选rootobject根瓦片元数据必选表5中瓦片集元数据asset具体内容,见表6。表6 瓦片集元数据表属性类型描述约束条件versionstring瓦片集的版本必选tilesetVersionstri

16、ng此瓦片集的特定版本,用于更新现有的瓦片集可选timechar瓦片集的生产时间可选updateTimechar瓦片集更新时间 可选descriptiontext瓦片集版本说明可选versionstring瓦片集的版本必选tilesetVersionstring此瓦片集的特定版本,用于更新现有的瓦片集可选timechar瓦片集的生产时间可选updateTimechar瓦片集更新时间 可选descriptiontext瓦片集版本说明可选表5中瓦片集要素属性元数据properties,见表7。表7 瓦片集要素属性元数据表属性类型描述约束条件maximumdouble瓦片集中所有要素中此属性的最大值

17、。必选minimumdouble瓦片集中所有要素中此属性的最小值。必选瓦片详细要素信息,见附录B。瓦片详细属性信息,见附录C。表5中瓦片元数据root具体内容,见表8。表8 瓦片元数据表属性类型描述约束条件boundingVolumeobject瓦片包围体,即包围一个瓦片或其内容的包围体,使用box、region或sphere属性。必选viewerRequestVolumeobject包围一个瓦片或其内容的包围体,使用box、region或sphere属性,用来决定瓦片的可视范围。可选geometricErrordouble以米为单位的误差,判断当前瓦片是否显示,在运行时,用来计算以像素为单位

18、的屏幕空间误差。必选refinestring指定在遍历瓦片集以呈现时是否使用添加或替换细化。这一属性对于根瓦片是必需的,对于其他瓦片是可选的。默认情况下从父块瓦片继承。可选transformdouble16一个浮点4x4仿射变换矩阵,以列长顺序存储,它用来转换瓦片的位置从瓦片的本地坐标系到父瓦片的坐标系,或者对于根瓦片,从瓦片的本地坐标系到瓦片集的坐标系。可选,默认1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1表8 瓦片元数据表(续)属性类型描述约束条件contentobject瓦片内容元数据可选timechar瓦片的生产时间可选childrenarray定义子瓦片的对象数组。

19、每个子瓦片的内容完全由它的父瓦片的包围体包围,通常,它的geometricError小于它的父瓦片的geometricError。可选表8中瓦片包围体boundingVolume具体属性,见表9。表9 瓦片包围体属性表属性类型描述约束条件boxdouble12一个由12个数字组成的数组,定义了一个z轴向上的右手三维笛卡尔坐标系边界框。前三个元素定义盒子中心的x、y和z值。接下来的三个元素(索引为3、4和5)定义x轴方向和半径。接下来的三个元素(索引6、7和8)定义了y轴方向和半径。最后三个元素(索引9、10和11)定义z轴方向和半径。可选regiondouble6一个由6个数字组成的数组,定义

20、了由经度、纬度和高度的地理区域边界,坐标的顺序为最小经度,最小纬度,最大经度,最大纬度,最小高度,最大高度。经度和纬度以弧度表示,高度以米为单位,高于(或低于)椭球。可选spheredouble4一个由4个数字组成的数组,用于定义边界球体。前三个元素定义球体中心的x、y和z值。最后一个元素(索引3)定义球半径,以米为单位。可选表8中瓦片内容content元数据具体内容,见表10。表10 瓦片内容元数据表属性类型描述约束条件boundingVolumeobject包围一个瓦片或其内容的包围体,使用box、region或sphere属性可选uristring指向模型内容的uri地址。当uri是相对

21、路径时,它是相对于引用的瓦片集JSON文件的地址必选地物瓦片格式规范,详见附录D。 地形瓦片集地形瓦片集文件结构采用全球XYZ地图切片策略,按级别+行号+列号的顺序结构依次存储地形生成文件,符合DB32/T 34122018对于地图瓦片生产的技术要求。地形瓦片集金字塔各级分块的坐标原点从西经180度,北纬90度开始,向东向南行列递增,X为列号,Y为行号,从0起算;地形瓦片金字塔网格是一个有2*Z行和2*Z列的矩形,其中Z是缩放级别,从0起算;每一块地形瓦片采用不规则三角网的方式组织。 实景瓦片集实景瓦片集包括实景元数据和实景影像瓦片数据两部分,二者基于实景影像唯一标

22、识(imageID)进行一对一关联。其中,实景元数据包括实景影像信息(ImageInfo)和实景影像连接信息(LinkInfo)两部分组成,它们之间通过实景影像唯一标识(imageID)关联,定义实景影像之间的跳转关系。实景影像信息接口内容见表11。表11 实景影像信息表属性类型描述imageIDtext实景影像唯一标识符routeIDtext实景影像所属路线标识segmentIDtext实景影像所属路段标识timetime数据采集时间xdouble实景点按高斯平面投影后的横坐标ydouble实景点按高斯平面投影后的纵坐标zdouble实景点高程坐标bdouble实景点纬度ldouble实景点

23、经度yawdouble实景影像偏航角pitchdouble实景影像俯仰角rolldouble实景影像翻滚角实景影像连接信息接口内容见表12。表12 实景影像连接信息表属性类型描述imageIDtext实景影像唯一标识符,关联ImageInfoxdouble实景点按高斯平面投影后的横坐标ydouble实景点按高斯平面投影后的纵坐标zdouble实景点高程坐标,一般为大地高angledouble邻接实景相对于当前实景的偏航角实景影像瓦片结构如表13所示。表13 实景影像瓦片结构表属性类型描述tileIDtext瓦片标志符,由ImageID、Level、Row、Column组合而成,与ImageIn

24、fo实现逻辑关联tileDatabytes存储实景影像瓦片本身的二进制信息 影像瓦片集影像瓦片应符合DB32/T 34122018对于地图瓦片生产的技术要求,影像瓦片结构如表14所示。通过对接WMTS服务获取。表14 影像瓦片结构表属性类型描述tileIDtext瓦片标志符号tileDatabytes存储影像瓦片本身的二进制信息8.3 获取要素信息(GetFeatureInfo)8.3.1 概述获取三维地理信息数据的要素信息,三维地理信息数据支持空间查询、属性查询和组合查询三种查询方式。8.3.2 请求获取要素信息(GetFeatureInfo)操作仅支持那些已将属性querya

25、ble定义或继承为“true”的图层。获取要素信息包括空间查询(GetFeatureInfoByGeometry)操作、属性查询(GetFeatureInfoByAttribute)操作和组合查询(GetFeatureInfoByGeometryAndAttribute)操作,具体请求URL的参数分别见表15、表16和表17。表15 空间查询请求URL参数表属性类型描述约束条件servicestring服务标识必选versionstring请求版本必选requeststring请求服务操作名称,非空取值为“GetFeatureInfoByGeometry”必选layersstring图层列表必

26、选operationstring指定的三维空间查询类型,包括CONTAIN、INTERSECT和WITHIN、IDENTICAL、DISJOINT等查询方式和KNN邻近查询必选returnGeombool是否返回图形必选operateRegionsgeometry查询几何对象集合,表示与这些几何对象进行三维空间查询可选,除非查询方式不是KNN邻近查询xdouble空间点的x坐标值可选,除非查询方式是KNN邻近查询ydouble空间点的y坐标值可选,除非查询方式是KNN邻近查询zdouble空间点的z坐标值可选,除非查询方式是KNN邻近查询numberint需要返回其信息的要素个数可选,除非查询

27、方式是KNN邻近查询pageint返回信息的页数可选pageSizeint返回信息的每页的数目可选表16 属性查询请求URL参数表属性类型描述约束条件servicestring服务标识必选versionstring请求版本必选requeststring请求服务操作名称,非空取值为“GetFeatureInfoByAttribute”必选layersstring图层列表必选filterValuestring属性查询关键词必选filterTypestring属性查询条件符合标准 ISO/IEC 9075(所有部分)的SQL条件规则必选returnGeombool是否返回图形必选pageint返回信

28、息的页数可选pageSizeint返回信息的每页的数目可选表17 组合查询请求URL参数表属性类型描述约束条件servicestring服务标识必选versionstring请求版本必选requeststring请求服务操作名称,非空取值为“GetFeatureInfoByGeometryAndAttribute”必选layersstring图层列表必选filterValuestring组合查询关键词必选filterTypestring查询条件由属性查询&空间查询条件组合必选returnGeombool是否返回图形必选pageint返回信息的页数可选pageSizeint返回信息的每页的数目可

29、选8.3.3 响应如果请求有效,根据请求参数返回三维数据的详细要素信息的响应,否则就返回一个服务的异常。响应结果见表18,服务返回异常信息表见附录A。表18 获取要素信息响应参数表属性类型描述succeedboolean查询是否成功layersobject图层列表countint要素个数表18中图层列表layers具体内容见表19。表19 图层列表属性表属性类型描述layerIDstring图层标识layerNamestring图层名featuresobject要素列表featureCountint该图层包含的要素个数表19中要素列表features具体内容见表20。表20 要素列表属性表属性

30、类型描述featureIDstring要素标识featureNamestring要素名称boundingVolumestring要素包围体geometrystring要素图形坐标集合attributesobject要素属性AA附录A (规范性附录)三维地理信息数据服务返回异常信息表本附录提供了三维地理信息数据服务返回异常信息表,其中获取场景元数据操作返回异常信息表具体见表A.1。表A.1 获取场景元数据返回异常信息表属性描述取值OperationNotSupported请求是针对此服务不支持的操作不支持的操作名称MissingParameterValue操作请求不包含参数值,并且此服务未声明该

31、参数的默认值缺少参数的名称InvalidParameterValue操作请求包含无效的参数值具有无效值的参数名称OptionNotSupported请求是针对此服务不支持的选项不支持选项的标识符UnknownLayer操作请求包含层参数中的标识符,该标识符对于服务是未知的无效图层的标识符FormatNotSupported操作请求在format参数中包含MIME类型,该类型不受服务支持不支持的格式名称获取场景数据操作返回异常信息表具体见表A.2。表A.2 获取场景数据操作返回异常信息表属性描述取值OperationNotSupported请求是针对此服务不支持的操作不支持的操作名称Missin

32、gParameterValue操作请求不包含参数值,并且此服务未声明该参数的默认值缺少参数的名称InvalidParameterValue操作请求包含无效的参数值具有无效值的参数名称OptionNotSupported请求是针对此服务不支持的选项不支持选项的标识符UnknownLayer操作请求包含层参数中的标识符,该标识符对于服务是未知的无效图层的标识符TileOutOfRangetileLevel、tileRow或tileCol取值不在值域范围内 越界参数的名称获取要素信息操作返回异常信息表具体见表A.3。表A.3 获取要素信息操作返回异常信息表属性描述取值OperationNotSupp

33、orted请求是针对此服务不支持的操作不支持的操作名称MissingParameterValue操作请求不包含参数值,并且此服务未声明该参数的默认值缺少参数的名称InvalidParameterValue操作请求包含无效的参数值具有无效值的参数名称OptionNotSupported请求是针对此服务不支持的选项不支持选项的标识符UnknownLayer操作请求包含层参数中的标识符,该标识符对于服务是未知的无效图层的标识符BB附录B (资料性附录)要素表B.1 概述要素表描述每个要素位置和外观的属性,用于瓦片渲染。而属性表中包含的要素特定属性,不一定用于渲染。b3dm和pnts都使用要素表,b3

34、dm中每个模型都是一个要素,而pnts中每个点都是一个要素。每个要素的属性都是在每个瓦片格式规范中使用特定语义来定义的。B.2 结构要素表由两部分组成: 一个JSON头文件和一个可选的用小端字节顺序存储二进制文件。JSON用来描述属性,其值可以直接在JSON中定义为数组,也可以引用二进制主体部分。在二进制文件中存储长数值数组效率更高。要素表的组织结构图见图B.1。图B.1 要素表的组织结构图当瓦片格式包含Feature表时,Feature表紧跟瓦片的头文件。头文件还将包含featureTableJSONByteLength和featureTableBinaryByteLength字段,这两个字

35、段可用于提取要素表的各个部分。B.2.1 填充JSON头文件应是以一个8字节的二进制文件结束。不满足要求时,填充尾随空格字符(0x20)来满足要求。二进制主体应以一个8字节的二进制文件开始和结束。不满足要求时,二进制主体应填充字节来满足要求。二进制属性应以字节偏移量开始,字节偏移量是属性隐式类型的字节数的倍数。B.2.2 JSON头文件要素表值可以用三种不同的方式在JSON头文件中表示:a) 单个值或对象。1) 用于全局属性。b) 用数组的形式包含多个值。1) 用于单个要素属性。c) 引用二进制文件中的数据,由具有byteOffset属性的对象表示。1) byteOffset指定相对于二进制文

36、件开头的从零开始的偏移量。byteOffset的值应是属性数据类型的字节数的倍数;2) 属性定义了允许的数据类型;3) 一些属性允许的隐式数据类型,不同瓦片格式情况不同。瓦片定义的有效属性只存在于瓦片JSON头文件和可选的extras和extensions属性中。特定于应用程序的属性数据应该存储在属性表中。B.2.3 二进制文件当JSON头文件包含对二进制文件的引用时,byteOffset用于数据索引,见图B.2。图B.2 要素表二进制主体索引图B.3 属性描述属性表,见表B.1。表B.1 属性表属性类型描述是否必须extensionsobject扩展要素对象否extrasany特定于应用程序

37、的数据否二进制主体文件描述,见表B.2。表B.2 二进制主体文件描述表属性类型描述是否必须byteOffsetint以字节为单位的缓冲区偏移量是用户定义的属性,指定瓦片中每个要素特定属性的元数据。值可以直接在JSON中定义为数组,也可以用BinaryBody对象引用二进制文件中的部分。CC附录C (资料性附录)属性表C.1 概述属性表是瓦片二进制主体文件中的组成部分,包含每个要素的特定属性。这些属性可以在运行时查询,用于声明式样式和特定于应用程序的用例,例如发出REST API请求。例如:建筑物高度、地理坐标和数据库主键等。属性表被下列瓦片格式使用:B3DMPNTSC.2 结构属性表由两部分组

38、成:一个JSON头文件和一个可选的用小端字节顺序存储二进制文件。JSON用来描述属性,其值可以直接在JSON中定义为数组,也可以引用二进制主体部分。在二进制文件中存储长数值数组效率更高。属性表的组织结构图见图C.1。图C.1 属性表组织结构图当瓦片文件包含属性表时,属性表紧跟在瓦片的要素表之后。表头还将包含batchTableJSONByteLength和batchTableBinaryByteLength uint32字段,这些字段可用于提取属性表的各个部分。C.2.1 填充JSON头文件应是以一个8字节的二进制文件结束。不满足要求时,填充尾随空格字符(0x20)来满足要求。二进制主体应以一

39、个8字节的二进制文件开始和结束。不满足要求时,二进制主体应填充字节来满足要求。二进制属性应以字节偏移量开始,字节偏移量是属性componentType字节数的倍数。C.2.2 JSON头文件属性表的值在JSON头文件中可以以两种方式进行呈现:a) 数组的形式:1) 数组元素可以是任何有效的JSON数据类型,包括对象和数组。元素可能是null;2) 每个数组的长度等于batchLength,对于不同瓦片来说,对应的是其要素个数。b) 引用二进制文件中的数据,由具有byteOffset、componentType和type属性的对象表示:1) byteOffset是相对于二进制主体开头的从零开始的

40、偏移量。byteOffset的值应是componentType属性的字节数的倍数;2) componentType指数据类型。允许的值是“BYTE”、“UNSIGNED_BYTE”、“SHORT”、“UNSIGNED_SHORT”、“INT”、“UNSIGNED_INT”、“FLOAT”和“DOUBLE”;3) type说明属性是标量还是向量。允许的值是“标量”、“VEC2”、“VEC3”和“VEC4”。属性表JSON头文件是一个包含JSON的UTF-8字符串。C.2.3 二进制文件当JSON头文件包含对二进制部分的引用时,使用提供的byteOffset对数据进行索引,见图C.2。图C.2 二

41、进制主体索引图C.3 属性描述属性表见表C.1。表C.1 属性表属性类型描述是否必须extensionsobject扩展属性对象否extrasany特定于应用程序的数据否二进制文件见表C.2。表C.2 二进制文件属性表属性类型描述是否必须byteOffsetint以字节为单位的缓冲区偏移量是componentTypestring属性中组件的数据类型是typestring指定属性是标量还是向量是用户定义的属性,指定瓦片中每个要素特定属性的元数据。值可以直接在JSON中定义为数组,也可以用BinaryBody对象引用二进制文件中的部分。DD附录D (资料性附录)地物瓦片格式规范D.1 三维表面模型

42、D.1.1 数据结构B3DM模型用来描述多源异构的三维表面模型结构。B3DM模型布局(虚线表示可选字段),见图D.1。图D.1 B3DM模型布局图D.1.2 头文件B3DM头文件属性,见表D.1。表D.1 B3DM头文件属性表属性类型描述magic4-byte ANSI string“b3dm”,用于将内容标识为B3DM模型versionuint32B3DM模型的版本byteLengthuint32整个瓦片的长度(以字节为单位)featureTableJSONByteLengthuint32要素表JSON部分的长度(以字节为单位)featureTableBinaryByteLengthuint

43、32要素表二进制部分的长度(以字节为单位)batchTableJSONByteLengthuint32属性表JSON部分的长度(以字节为单位)。0表示没有属性表。batchTableBinaryByteLengthuint32属性表二进制部分的长度(以字节为单位)。如果batchTableJSONByteLength是0,这个也是0。D.1.3 要素表B3DM要素全局属性,见表D.2。表D.2 B3DM要素全局属性表属性类型描述是否必须BATCH_LENGTHuint32属性表中可区分的模型或要素的数量。若glTF中没有batchId属性,则该字段应为0。是RTC_CENTERfloat323

44、定义中心位置的三维数组。否D.1.4 属性表属性表包含每个模型的特定于应用程序的元数据,batchId是元数据的索引,这些元数据可以用于声明式样式和特定于应用程序的用例,例如填充UI或发出REST API请求。在glTF部分,每个顶点在整数范围内都有一个数字batchId属性0,属性中的模型数量-1。batchId表示顶点所属的模型,这使得模型可以组合在一起,并且仍然可以识别。D.1.5 glTFB3DM模型嵌入glTF 2.0,glTF是一种专为高效传输3D内容而设计的开放式规范,包含模型的几何和纹理信息。glTF紧跟要素表和属性表。它可以嵌入所有的几何图形、纹理和动画,或者它可以引用外部资

45、源来获取这些数据。每个顶点都有一个batchId属性,指向它所属的模型。默认情况下,嵌入的glTF使用的是y轴向上的右手坐标系。为了与3D Tiles的z轴向上的坐标系保持一致,glTF在运行时应进行转换。顶点位置可以定义相对于中心的高精度渲染。RTC_CENTER指定在应用坐标系统转换和glTF节点层次结构转换之后所有顶点位置相对的中心位置。D.1.6 文件扩展名和MIME类型地物模型使用.b3dm扩展,MIME类型为application/octet-stream。显式文件扩展名是可选的。可以通过头文件中的magic字段来标识内容的格式。D.2 点云D.2.1 数据结构PNTS模型用来描述

46、点云结构。点云模型布局(虚线表示可选字段),见图D.2。图D.2 点云模型布局图D.2.2 头文件点云头文件属性,见表D.3。表D.3 点云头文件属性表属性类型描述magic4-byte ANSI string“pnts”,用于将内容标识为点云数据versionuint32点云格式的版本 byteLengthuint32整个瓦片的长度(以字节为单位)featureTableJSONByteLengthuint32要素表JSON部分的长度(以字节为单位)featureTableBinaryByteLengthuint32要素表二进制部分的长度(以字节为单位)batchTableJSONByteLengthuint32属性表JSON部分的长度(以字节为单位)。0表示没有属性表。batchTableBinaryByteLengthuint32属性表二进制部分的长度(以字节为单位)。如果batchTableJSONByteLength是0,这个也是0。D.2.3 要素表要素表包含点云单点属性和点云数据全局属性,定义点云的位置以及点云的渲染方式。点云要素单点属性,见表D.4。表D.4 点云全局属性表属性类型描述是否必须POSITIONfloat323定义点x、y、z笛卡尔坐标位置的三维数组是POSITION_QUANTIZEDuint163

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论