📄 lsdoc.h
字号:
CArray<double,double> m_aTogetIndex; // 聚块分析结果
BOOL m_bPointFromFile; // 是否从文件读中心点 //
UINT m_nBoxlong; // 采样箱子的边长 //
UINT m_nAllBoxNum; // 采样箱子的数目 //
BOOL m_bEverAllSpace; // 是否已进行空间化 //
BOOL m_bRandom; // 是否随机采样 //
UINT m_nRanBoxNum; // 随机采样的箱子数目 //
UINT m_nRanBoxWidth,m_nRanBoxHeight; // 随机采样的箱子大小 //
CArray < coord, coord > m_aBoxCoords; // 随机采样的箱子的左上角坐标 //
UINT m_nXBox,m_nYBox; // 系统采样所采用的箱子数目 //
UINT m_nHorizDist,m_nVertiDist; // 系统采样所采用的箱子的距离 //
//
CArray < AllIndex,AllIndex > m_AllVarySpace; // 整体变量空间化结果 //
All_Z_Value m_AverAllIndex; // 整体变量空间化结果平均值 //
//
CArray < TypeIndex,TypeIndex > m_TypeVarySpace; // 类型变量空间化结果 //
CArray<Type_Z_Value,Type_Z_Value> m_AverTypeIndex; //
// 类型变量空间化结果平均值 //
// //
//////////////////// 变量空间化所用的成员变量 ////////////////////////////////////
//////////////////// 各种景观指数 ////////////////////////////////////////////////
// //
public:
CArray <double,double> m_BaseSpace; // Box=1时的空隙度指数 //
CResult m_Results; // 保存指数计算结果 //
// //
//////////////////// 各种景观指数 ////////////////////////////////////////////////
///////////////////// 结果变量 ///////////////////////////////////////////////////
// //
public:
long m_BlockNum; // 斑块的总数 //
CArray<Types,Types> m_BlockTypes; // 存储各种景观的基本特征数组 //
CArray<Block,Block> m_LittleBlocks; // 存储所有斑块属性的数组 //
CArray<BlockBorder,BlockBorder> m_BlockBorders; // 存储两斑块的交界长 //
long m_nMinBlockArea; // 斑块的最小面积 //
long m_nMaxBlockArea; // 斑块的最大面积 //
long m_nMinBlockLeng; // 斑块的最小周长 //
long m_nMaxBlockLeng; // 斑块的最大周长 //
CArray<BlockIDs,BlockIDs> m_BlockID; // 存储各点属于哪个 Block //
// //
///////////////////// 结果变量 ///////////////////////////////////////////////////
// Operations
public:
/******************** 空间分析函数 **********************************************/
/* */
public: //
void CalcTogetIndex(double * varys);
double * MakeZValues(BYTE type,BYTE index); //构造用于地统计学分析的数组//
//
double * CalcDiffQuad(double * Zx,double AverZ,double c0,UINT h,UINT range);//
// 变异矩分析函数 //
//
double * CalcDistZValues(double * Zx,double AverZ,double theEI0, //
UINT distant,UINT range); // 计算距离的Moran Z值 //
double * CalcGcDistZValues(double * Zx,UINT distant,UINT range); //
// 计算距离的 Geary Z值 //
//
void CalcAllZValue(); // 计算总体的Z值 //
//
void AllVarySpace(); //
//
void CalcEI0(); //
//
private: //
TypeIndex * CalcRegionAllIndex(int x1,int y1,int x2,int y2, //
AllIndex & AllIndexReturn); // 计算一个Box的各项指数 //
void SysAllVarySpace(); // 系统采样变量空间化 //
void RanAllVarySpace(); // 随机采样变量空间化 //
//
double * CalcRanDistZValues(double * Zx,double AverZ,double theEI0, //
UINT distant,UINT range); // 随机采样Moran Z值 //
double * CalcSysDistZValues(double * Zx,double AverZ,double theEI0, //
UINT distant,UINT range); // 系统采样Moran Z值 //
double * CalcGcRanDistZValues(double * Zx, //
UINT distant,UINT range); // 随机采样Geary Z值 //
double * CalcGcSysDistZValues(double * Zx, //
UINT distant,UINT range); // 系统采样Geary Z值 //
//
/* */
/******************** 空间分析函数 **********************************************/
/******************** 指数计算函数 **********************************************/
// //
public: //
double * CalcSpace(UINT boxnum,CArray<UINT,UINT>& lengs); // 空隙度指数计算 //
//
void CalcInfoIndex(Line line,CArray<float,float>& Result); // 计算信息熵指数//
//
void IndexCalc(); // 指数计算 //
//
void Calc4Index(); // 计算城市化指数等4个与参数有关的指数 //
//
long * CalcFloc(UINT slipnum,long * slips,BYTE type); // 谱分析 //
//
private: //
void CalcContagion(); // 计算蔓延度指数 //
//
void CalcRolloverIndex(); // 计算连结度指数 //
// //
/******************** 指数计算函数 **********************************************/
/******************** 预处理函数 ************************************************/
// //
public:
void CalcBlocks(); // 逐点扫描图像,获得斑块的函数 //
//
void CalcBlockBorders(); // 逐点扫描图像,获得两斑块间的交界 //
private:
void ConstructValue(); // 构造m_Values //
//
BOOL CalcTypes(); // 逐点扫描图像,获得景观类型的函数 //
//
// //
/******************** 预处理函数 ************************************************/
/******************** 辅助函数 **************************************************/
// //
public:
CSize GetSize(); // 返回图像大小 //
//
BOOL Write(const char *pzFileName,int x1,int y1,int x2,int y2); //
//
private:
inline BYTE GetValue(int x,int y); // 返回点的颜色值 //
//
// inline int GetBorderLength(int x,int y); // 判断是否边界 //
//
inline BYTE GetNameIndex(BYTE value); // 返回颜色的景观名称的索引 //
// 把采样数据存盘 //
// //
/******************** 辅助函数 **************************************************/
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CLSDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
//}}AFX_VIRTUAL
// Implementation
virtual ~CLSDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CLSDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_LSDOC_H__23CC46AD_5235_11D2_95B6_00608C19C5C5__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -