矢量缓存生成类,该类主要用于为矢量数据生成供三维场景发布使用的矢量缓存,其配置文件为 *.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.Data.Processing..::.VectorCacheBuilder