2.11 数据类(Data)
数据类通常为三维地图提供场景数据加载展示效果,首先其需要一个有效格式的url路径,该路径可以访问本地或者服务发布的地址:
var modelUrl = "xxxxxx/xxxxx/xxxxx/0.c3s.zip";
// 创建数据对象并添加至三维场景中
var modelData = new CooSDK.ModelData({
// 数据路径
url: modelUrl,
// 数据定位状态
isLocate: true
});
数据格式介绍
Data类对象目前分为人工模型数据(ModelData)、数字正射影像图数据(DomData)、数字高程模型数据(DemData)、倾斜摄影数据(OsgbData)、矢量数据(FeatureModelData)等。它们所需要的数据格式各有不同。
人工模型数据(ModelData)格式:
通过加载0.c3s.zip文件即可加载数据。
数字正射影像图数据(DomData)、数字高程模型数据(DemData):
该类数据有两种类型,一种为原始格式,即type=CooSDK.EnumTerrainType.ORIGINAL,此种类型数据只能放在客户机本地访问,且加载效率不高,仅适合数据的初步预览:
另一种为切割格式,即type=CooSDK.EnumTerrainType.SPLIT,此种类型数据经过金字塔数据处理,支持本地与服务发布的路径,加载及刷新效率高,推荐使用:
倾斜摄影数据(OsgbData)格式:
通过加载metadata.xml文件即可加载数据,也可加载PRIFIXION_L00_0.osgb.zip并配置相关参数来加载。
矢量数据(FeatureModelData)格式:
该种方式仅支持本地路径加载访问。
如需要通过网络来访问矢量数据,需要通过Arcgis Server或者GeoServer这些服务来发布WFS服务。
Arcgis Server方式
Arcgis server发布的矢量服务路径找如下这个样子:
通过访问该链接,可以看到xml格式的文件,找到关键项<wfs:Name>,记录其值,此值为该矢量的图层名,用于FeatureModelData的layerName属性;将链接网址"?"之后的字符串去掉,即可用于FeatureModelData的url属性。
即:
var polygonData = new CooSDK.FeatureModelData({ url: "http://IP:6080/arcgis/services/kelan/hangzhou/MapServer/WFSServer?", layerName: "kelan_hangzhou:Polygon", polygonSymbol: new CooSDK.PolygonSymbol(), buildGeometryFilter: "PolygonSymbol", isLocate: true });
GeoServer方式
GeoServer发布的矢量服务路径找如下这个样子:
"http://IP:8080/geoserver/kelan/ows?service=WFS&version=1.0.0&request=GetCapabilities"
通过访问该链接,可以看到xml格式的文件,找到关键项<Feature>下的<Name>子项,记录其值,此值为矢量的图层名,用于FeatureModelData的layerName属性;将链接网址"?"之后的字符串去掉,即可用于FeatureModelData的url属性。
即:
var polygonData = new CooSDK.FeatureModelData({ url: "http://IP:8080/geoserver/kelan/ows?", layerName: "kelan:Polygon", polygonSymbol: new CooSDK.PolygonSymbol(), buildGeometryFilter: "PolygonSymbol", isLocate: true });
数据对象共性
上文介绍的数据对象,除了各自特有的属性之外,它们还具有共有的属性:
isLocate:是否定位。
isVisible:是否显示。
priorityOffset:数据调度优先级,数值越大优先级越高。
renderOrder:数据绘制顺序,数值越大绘制越往后,无特殊需求无需设置。
销毁数据则可直接调用自身destroy接口:
data = data.destroy();
更多的内容,请参考API帮助手册。