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发布的矢量服务路径找如下这个样子:

    "http://IP:6080/arcgis/services/kelan/hangzhou/MapServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities"

    通过访问该链接,可以看到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帮助手册

results matching ""

    No results matching ""