📄 datastruct.h
字号:
////////////////////////////////////////////////////////////////
// Datastruct.h define some base data_types for this project,
// writen by xu.
#if !defined(AFX_DATASTRUCT_H__F0EEF5C2_5A0E_11D2_95B6_00608C19C5C5__INCLUDED_)
#define AFX_DATASTRUCT_H__F0EEF5C2_5A0E_11D2_95B6_00608C19C5C5__INCLUDED_
#define MAXTYPE 20
#define PI 3.1415926535
#define PICVIEW 100
#define TXTVIEW 200
#define HDIB HANDLE
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)
#define IS_WIN30_DIB(lpbi) ((*(LPDWORD)(lpbi)) == sizeof(BITMAPINFOHEADER))
#define RECTWIDTH(lpRect) ((lpRect)->right - (lpRect)->left)
#define RECTHEIGHT(lpRect) ((lpRect)->bottom - (lpRect)->top)
#define INDEX_AVERAREA 1
#define INDEX_BLANCE 2
#define INDEX_BLOCKNUM 3
#define INDEX_CHIP 4
#define INDEX_CITY 5
#define INDEX_DIVERSITY 6
#define INDEX_JAMMING 7
#define INDEX_PLANT 8
#define INDEX_RISK 9
#define INDEX_VANTAGE 10
// For TXTView Which Show
#define SHOWALLPROPERTY 0
#define SHOWBLOCKAREA 1
#define SHOWBLOCKLENGTH 2
#define SHOWBLOCKCROSS 3
#define SHOWBLOCKCOORDS 4
#define SHOWBLOCKALL 5
#define SHOWTYPEINDEX 10
#define SHOWALLINDEX 11
#define SHOWALLSPACE 20
#define SHOWTYPESPACE 21
#define SHOWBOXPOINT 22
#define SHOWALLAUTOCORRE 30
#define SHOWTYPEAUTOCORRE 31
#define SHOWALLEWAUTOCORRE 41
#define SHOWALLSNAUTOCORRE 42
#define SHOWALLSEAUTOCORRE 43
#define SHOWALLSWAUTOCORRE 44
#define SHOWTYPEEWAUTOCORRE 45
#define SHOWTYPESNAUTOCORRE 46
#define SHOWTYPESEAUTOCORRE 47
#define SHOWTYPESWAUTOCORRE 48
#define SHOWGCALLAUTOCORRE 130
#define SHOWGCTYPEAUTOCORRE 131
#define SHOWGCALLEWAUTOCORRE 141
#define SHOWGCALLSNAUTOCORRE 142
#define SHOWGCALLSEAUTOCORRE 143
#define SHOWGCALLSWAUTOCORRE 144
#define SHOWGCTYPEEWAUTOCORRE 145
#define SHOWGCTYPESNAUTOCORRE 146
#define SHOWGCTYPESEAUTOCORRE 147
#define SHOWGCTYPESWAUTOCORRE 148
#define SHOWTOGETINDEX 150
struct Block // 斑块属性结构 ( 从CLSDoc::CalcBlocks中得到值 )
{
BYTE TYPEINDEX; //组分类型(只存储到m_BlockTypes的索引)
long AREA; // 斑块面积
long LENG; // 斑块周长
double CX; // 中心点横坐标
double CY; // 中心点纵坐标
int LEFTX; // 最左边坐标 \.
int RIGHTX; // 最右边坐标 \. 构成包含斑块所有点的矩形
int UPY; // 最上边坐标 /.
int DOWNY; // 最下边坐标 /.
};
struct Types // 景观属性结构
{
CString Name; // 组分名称 ( 从CTypeName中得到值 )
BYTE Val; // 像素值 ( 从CLSDoc::CalcTypes中得到值 )
long Area; // 总面积 ( 从CLSDoc::CalcTypes中得到值 )
long Number; // 总斑块数量 ( 从CLSDoc::CalcBlocks中得到值 )
long Length; // 边界总长 ( 从CLSDoc::CalcBlocks中得到值 )
};
struct BlockBorder // 纪录两斑块的交界长
{
long ID1; // 斑块ID1
long ID2; // 斑块ID2
long Leng; // 交界长度
};
struct Line
{
double x1;
double x2;
double y1;
double y2;
};
struct TypeIndex
{
BOOL IsData; // 纪录其他各项是否有内容
double Chip; // 碎裂化指数
double BlockNum; // 斑块数量
double AverArea; // 平均斑块面积
};
struct Type_Z_Value
{
double Chip;
double BlockNum;
double AverArea;
};
struct AllIndex
{
double AverArea; // 平均斑块面积
double BlockNum; // 斑块数量
double Diversity; // 多样性指数
double Chip; // 碎裂化指数
double Vantage; // 优势度指数
double Blance; // 均匀度指数
double City; // 城市化指数
double Risk; // 生态风险指数
double Plant; // 植被指数
double Jamming; // 人为干扰指数
};
struct RegionBlockProperty // 存储空间化的Box中的Block的属性
{
ULONG area;
BYTE typeindex;
long BlockID;
};
struct RegionTypeProperty
{
ULONG area;
ULONG blocknum;
};
struct All_Z_Value
{
double Z_BlockNum;
double Z_AverArea;
double Z_Diversity;
double Z_Vantage;
double Z_Blance;
double Z_Chip;
double Z_City;
double Z_Risk;
double Z_Plant;
double Z_Jamming;
};
struct coord
{
int x;
int y;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -