com.supermap.analyst.spatialanalyst

类 ANNCellularAutomata

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.analyst.spatialanalyst.ANNCellularAutomata
  • 所有已实现的接口:
    IDisposable


    public class ANNCellularAutomata
    extends com.supermap.data.InternalHandleDisposable
    基于人工神经网络的元胞自动机。

    该方法的特点是无需人为地确定模型的结构、转换规则及模型参数。利用神经网络来代替转换规则,并通过对神经网络进行训练,自动获取模型参数。适用于模拟复杂的土地利用系统。

    基于人工神经网络的元胞自动机训练阶段即通过抽样数据训练人工神经网络,获得网络权重值;模拟阶段通过人工神经网络得到应转换的类型,判别当前栅格是否可以转换,达到终止条件结束模拟过程。模拟时通过ANN得到所有用地类型的概率值,最大值对应需转换的土地利用类型,再进行阈值比较等判别,决定是否可以转换。

    • 构造器详细资料

      • ANNCellularAutomata

        public ANNCellularAutomata()
        默认构造函数,构造一个新的 ArtificialNeuralNetworkCA 对象。
    • 方法详细资料

      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • initializeAnn

        public boolean initializeAnn(DatasetGrid trainStartCellGrid,
                                     DatasetGrid trainEndCellGrid,
                                     int[] annTrainValues,
                                     DatasetGrid[] spatialVariableGrids,
                                     ANNParameter annParameter,
                                     SteppedListener... listeners)
        初始化 基于人工神经网络的元胞自动机。
        参数:
        trainStartCellGrid - 训练起始栅格数据集。
        trainEndCellGrid - 训练终止栅格数据集。
        annParameter - 基于人工神经网络的元胞自动机参数设置。
        listeners - 用于接收进度条事件的监听器。
        返回:
        成功返回TRUE,失败返回FALSE。
      • annTrain

        @Deprecated
        public ANNTrainResult annTrain(double dErrorRate,
                                                    int nMaxTimes)
        已过时。 此方法已废弃,请使用支持进度监听的新方法 ANNCellularAutomata.annTrain(double, int, SteppedListener...) 替换。
        人工神经网络训练。
        参数:
        dErrorRate - 人工神经网络训练终止条件:误差期望值。即训练在达到期望误差后终止,取值为[0,1],期望误差越小,达到的结果越准确,但如果太小,可能永远无法终止。
        nMaxTimes - 人工神经网络训练终止条件:迭代最大次数。即在训练一定次数后终止
        返回:
        成功返回 人工神经网络训练结果,包括正确率等。
      • annTrain

        public ANNTrainResult annTrain(double dErrorRate,
                                       int nMaxTimes,
                                       SteppedListener... listeners)
        人工神经网络训练。
        参数:
        dErrorRate - 人工神经网络训练终止条件:误差期望值。即训练在达到期望误差后终止,取值为[0,1],期望误差越小,达到的结果越准确,但如果太小,可能永远无法终止。
        nMaxTimes - 人工神经网络训练终止条件:迭代最大次数。即在训练一定次数后终止
        listeners - 用于接收进度条事件的监听器。
        返回:
        成功返回 人工神经网络训练结果,包括正确率等。
      • annCellularAutomata

        public ANNCellularAutomataResult annCellularAutomata(Datasource outputDatasource,
                                                             String outputDatasetName,
                                                             ANNCellularAutomataParameter annCAParameter)
        基于人工神经网络的元胞自动机。
        参数:
        outputDatasource - 输出数据集所在数据源。
        outputDatasetName - 输出数据集的名称。
        annCAParameter - 基于人工神经网络的元胞自动机参数。
        返回:
        基于人工神经网络的元胞自动机的结果, 包括土地类型(如果有)、准确率(如果有)、结果栅格数据集。
      • annCellularAutomata

        public ANNCellularAutomataResult annCellularAutomata(Datasource outputDatasource,
                                                             String outputDatasetName,
                                                             ANNCellularAutomataParameter annCAParameter,
                                                             SteppedListener... listeners)
        基于人工神经网络的元胞自动机。
        参数:
        outputDatasource - 输出数据集所在数据源
        outputDatasetName - 输出数据集的名称
        返回:
        基于人工神经网络的元胞自动机的结果, 包括土地类型(如果有)、准确率(如果有)、结果栅格数据集
      • saveModel

        public boolean saveModel(String modelFile)
        是否保存模型文件。

        基于人工神经网络的训练完成时,会将结果信息保存为训练模型文件。

        参数:
        modelFile - 人工神经网络训练模型文件。
        返回:
        保存成功返回TRUE,失败返回FALSE。
      • loadModel

        public ANNTrainResult loadModel(String modelFile)
        加载模型文件。
        参数:
        modelFile - 模型文件。
        返回:
        人工神经网络训练结果,将结果信息如:权重信息、错误率等保存至模型中。
      • addSteppedListener

        public static void addSteppedListener(SteppedListener l)
        添加一个进度条事件(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • removeSteppedListener

        public static void removeSteppedListener(SteppedListener l)
        移除一个进度条事件(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • addCAFlushedListener

        public static void addCAFlushedListener(CAFlushedListener l)
        添加一个元胞自动机刷新信息(CAFlushedEvent)的监听器。
        参数:
        l - 一个用于接收元胞自动机刷新事务的监听器。
      • removeCAFlushedListener

        public static void removeCAFlushedListener(CAFlushedListener l)
        移除一个元胞自动机刷新信息(CAFlushedEvent)的监听器。
        参数:
        l - 一个用于接收元胞自动机刷新事务的监听器。
      • addAnnTrainedListener

        public void addAnnTrainedListener(AnnTrainedListener l)
        添加一个人工神经网络训练刷新信息(AnnTrainedListener)的监听器。
        参数:
        l - 一个用于接收人工神经网络训练刷新事务的监听器。
      • removeAnnTrainedListener

        public void removeAnnTrainedListener(AnnTrainedListener l)
        移除一个人工神经网络训练刷新信息(AnnTrainedListener)的监听器。
        参数:
        l - 一个用于接收人工神经网络训练刷新事务的监听器。
      • setIsDisposable

        public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj,
                                           boolean disposable)

Copyright © 2021–2024 SuperMap. All rights reserved.