自从Skyline推出3dml的模型格式以后,鉴于3dml能够压缩模型,并且提高TE在客户端的访问效率,就不再使用传统的shp+xpl2的方式,进行网络模型的发布。
客户端本地访问模型的时候,直接读取3dml文件即可,网络发布,在之前是发布shp文件,用arcgis、geoserver都能够进行发布,包括skyline的发布端sfs,也能够进行发布,到3dml格式时,就只能用skyline自己开发的sfs或者之后的sgs进行3dml进行数据发布。
一般GIS服务都是有一定标准的,像OGC标准的wms、wfs、wmts等,所以,要想开发一个3dml的模型服务,需要了解3dml文件是一个什么格式的文件,只有在文件可被读取的情况下,才能进行数据服务的发布。
Skyline官方公布了3dml的数据格式,3dml本质是基于 SQLite 数据库和它的 SpatialLite 扩展而来的,参见官方网站内容:
https://github.com/skylineglobe/3dml-spec
使用读取sqlite的数据库就能进行查看。
只有先了解了3dml内部的表结构,再对比TE请求模型的网络服务,才能进行下一步的开发。
可以看一下官方网站的内容,了解一下表结构的内容,接下来,会了解一下模型服务中常用的请求和返回。
是故不积跬步无以至千里,不积小流无以成江海
参考文档:
https://github.com/skylineglobe/3dml-spec