获取或设置分析模式,以及内存模式下允许使用的内存大小(为下一版本预留)。
命名空间:
SuperMap.Data程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public static long AnalystMemorySize { get; set; } |
字段值
默认值为应用程序启动时读取的 SuperMap.xml 文件中 <AnalystMemorySize></AnalystMemorySize> 节点的值。备注
SuperMap 针对部分分析功能,提供可选的分析模式,包括传统模式和内存模式。内存模式与传统模式相比,在提升性能方面具有优势。它通过将分析需要的数据一次性读入内存,从而避免分析过程中频繁与数据引擎交互,进而提升分析的速度。
目前,支持以内存模式进行分析的功能包括:
- 构建网络数据集
- 通过线数据集构建网络:NetworkBuilder.BuildNetwork 方法。
- 通过点、线数据集构建网络:NetworkBuilder.BuildNetwork 方法。
- 拓扑处理:TopologyProcessing.Clean 方法。
- 拓扑预处理:所有 4 个 TopologyValidator.Preprocess 重载方法。
- 拓扑构面:所有 2 个 TopologyProcessing.BuildRegions 重载方法。
- 数据集重采样: DatasetVector.resample 方法。
- 数据集光滑: DatasetVector.smooth方法。
- 矢量数据融合: Generalization.dissolve 方法。
- 碎多边形合并: Generalization.eliminate 方法。
- 栅格提取等值面:所有 14 个 SurfaceAnalyst.extractIsoregion 重载方法。
Note:内存模式只支持对一个线数据集,或者一个线数据集和一个点数据集构建网络,对于覆盖两个及以上线(或点)数据集的网络,可先对一个线数据集(及一个点数据集)使用内存模式来构网,然后向该网络追加其他数据(NetworkBuilder.AppendToNetwork 方法)。
Note:内存模式只支持对面数据集重采样。
Note:内存模式只支持对面数据集光滑。
有两种方法设定分析模式,一是使用此方法指定,二是通过修改 SuperMap.xml 配置文件中的 <AnalystMemorySize></AnalystMemorySize> 节点的值来指定。默认为 0,表示使用传统模式进行分析。
使用以上两种方式时请注意:
- 支持的值包括 -1 和 0。0 表示使用传统模式进行分析;-1 表示使用内存模式进行分析。设置为 -1 以外的负值将自动修改为 -1,设置为大于 0 的值则自动修改为 0。暂不支持指定内存模式下允许使用的内存大小,该功能为下一版本预留。
- 应用程序启动时,优先读取配置文件中设置的值。在执行分析之前,通过此方法指定值后,将同步修改配置文件。
- 配置文件中指定的值只在应用程序启动时读取一次,如果修改,需重新启动应用程序才能生效。
- 以内存模式分析结束后,占用的内存将自动释放。