矢量缓存生成类,该类主要用于为矢量数据生成供三维场景发布使用的矢量缓存,其配置文件为 *.scv 格式。

命名空间:  SuperMap.Data.Processing
程序集:  SuperMap.Data.Processing (in SuperMap.Data.Processing)
版本: dll

语法

C#
public class VectorCacheBuilder : IDisposable

备注

若需要生成缓存的原始数据集的数量较大,如100,1000,建议用户将这些数据集配成一张地图,然后生成二维或三维地图缓存,关于二三维地图缓存的生成可参见 MapCacheBuilder、MapCache3DBuilder 类。

关于矢量缓存的详细介绍请参见《二三维缓存》技术文档。

在原始数据集数据量较大的情况下(记录大于1000条),可先对原始数据建立空间索引,采用这种方法可使得生成缓存的效率大幅提高,如何对矢量数据集建立索引可参考DatasetVector.BuildSpatialIndex() 方法。

示例

以下代码示范如何在数据量大的情况下快速生成矢量缓存。

假设打开一个工作空间workspace,工作空间中存在一个数据源,此数据源中包含一个名为 OlympicGreen 的 CAD 模型数据集 dataset_olympicGreen。

CopyC#
public void BuildSCV(DatasetVector dataset_olympicGreen)
{
        // 对CAD模型数据集建立空间索引,由于复合数据集不支持多级网格索引,因此对其建立R树索引
        dataset_olympicGreen.BuildSpatialIndex(SpatialIndexType.RTree);

        VectorCacheBuilder cacheBuilder = new VectorCacheBuilder();
        // 设置缓存名称
        cacheBuilder.CacheName = "model";
        // 设置缓存输出路径
        cacheBuilder.OutputFolder = @"..\OlympicGreen\";
        // 设置开始生成缓存的层数
        cacheBuilder.Level = 13;
        // 设置用于创建缓存的CAD模型数据集
        cacheBuilder.Dataset = dataset_olympicGreen;
        // 生成缓存
         if (cacheBuilder.Build())
         {
            Console.WriteLine("生成缓存成功!");
         }
         else
         {
            Console.WriteLine("生成缓存失败。");
         }
}

继承层次

System..::.Object
  SuperMap.Data.Processing..::.VectorCacheBuilder

版本信息

SuperMap iObjects .NET


SuperMap Objects .NET

受以下版本支持: 6.1.3

请参见