com.supermap.analyst.spatialanalyst
类 ANNCellularAutomata

java.lang.Object
  继承者 com.supermap.analyst.spatialanalyst.ANNCellularAutomata

public class ANNCellularAutomata
extends java.lang.Object

基于人工神经网络的元胞自动机。

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

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


构造方法摘要
ANNCellularAutomata()
          默认构造函数,构造一个新的 ArtificialNeuralNetworkCA 对象。
 
方法摘要
 void addAnnTrainedListener(AnnTrainedListener l)
          添加一个人工神经网络训练刷新信息(AnnTrainedListener)的监听器。
static void addCAFlushedListener(CAFlushedListener l)
          添加一个元胞自动机刷新信息(CAFlushedEvent)的监听器。
static void addSteppedListener(SteppedListener l)
          添加一个进度条事件(SteppedEvent)的监听器。
 ANNCellularAutomataResult annCellularAutomata(Datasource outputDatasource, java.lang.String outputDatasetName, ANNCellularAutomataParameter annCAParameter)
          基于人工神经网络的元胞自动机。
 ANNTrainResult annTrain(double dErrorRate, int nMaxTimes)
          人工神经网络训练。
 void dispose()
          释放该对象所占用的资源。
 ANNTrainResult getANNTrainResult()
          返回人工神经网络训练结果。
 boolean initializationAnn(DatasetGrid trainStartCellGrid, DatasetGrid trainEndCellGrid, int[] annTrainValues, DatasetGrid[] spatialVariableGrids, ANNParameter annParameter)
          初始化基于人工神经网络的元胞自动机。
 ANNTrainResult loadModel(java.lang.String modelFile)
          加载模型文件。
 void removeAnnTrainedListener(AnnTrainedListener l)
          移除一个人工神经网络训练刷新信息(AnnTrainedListener)的监听器。
static void removeCAFlushedListener(CAFlushedListener l)
          移除一个元胞自动机刷新信息(CAFlushedEvent)的监听器。
static void removeSteppedListener(SteppedListener l)
          移除一个进度条事件(SteppedEvent)的监听器。
 boolean saveModel(java.lang.String modelFile)
          是否保存模型文件。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ANNCellularAutomata

public ANNCellularAutomata()
默认构造函数,构造一个新的 ArtificialNeuralNetworkCA 对象。

方法详细信息

dispose

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


getANNTrainResult

public ANNTrainResult getANNTrainResult()
返回人工神经网络训练结果。

返回:
人工神经网络训练结果。

initializationAnn

public boolean initializationAnn(DatasetGrid trainStartCellGrid,
                                 DatasetGrid trainEndCellGrid,
                                 int[] annTrainValues,
                                 DatasetGrid[] spatialVariableGrids,
                                 ANNParameter annParameter)
初始化基于人工神经网络的元胞自动机。

参数:
trainStartCellGrid - 训练起始栅格数据集。
trainEndCellGrid - 训练终止栅格数据集。
annTrainValues - 训练使用的栅格值数组。每一个栅格值代表一个类别,人工神经网络只会训练输入的类别。
spatialVariableGrids - 空间变量栅格数据集。
annParameter - 人工神经网络训练参数设置。
返回:
成功返回TRUE,失败返回FALSE。
默认值:
默认为FALSE。

annTrain

public ANNTrainResult annTrain(double dErrorRate,
                               int nMaxTimes)
人工神经网络训练。

参数:
dErrorRated - 人工神经网络训练终止条件:误差期望值。即训练在达到期望误差后终止,取值为[0,1],期望误差越小,达到的结果越准确,但如果太小,可能永远无法终止。
nMaxTimes - 人工神经网络训练终止条件:迭代最大次数。即在训练一定次数后终止
返回:
成功返回 人工神经网络训练结果,包括正确率等。

annCellularAutomata

public ANNCellularAutomataResult annCellularAutomata(Datasource outputDatasource,
                                                     java.lang.String outputDatasetName,
                                                     ANNCellularAutomataParameter annCAParameter)
基于人工神经网络的元胞自动机。

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

saveModel

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

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

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

loadModel

public ANNTrainResult loadModel(java.lang.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 - 一个用于接收人工神经网络训练刷新事务的监听器。