📄 mypathanalyst.h
字号:
#if !defined(AFX_MYPATHANALYST_H__69E67093_3A57_11D3_8669_0000E875C86B__INCLUDED_)
#define AFX_MYPATHANALYST_H__69E67093_3A57_11D3_8669_0000E875C86B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//{{Usage
//step 1: SetDatasetNetwork(...) -----> Do one time only.
//step 2: Init(...) -----> Do one time only.
//step 3: SetAnalyseMode(...) -----> Do more times as you wish.
//step 4: Analyse(...) -----> Do more times as you wish.
//}}Usage
//{{Attendtion
// 1. 本模型支持两种分析模式: 分析模式: 最短路径分析为 0; 最佳路径分析为 1
// 2. 本模型预定实用网络图层的几个字段:
// a. SMLENGTH 路段长度 double;
// b. SMFNODE 开始节点 long;
// c. SMTNODE 开始节点 long;
// d. Code 道路等级 long; ( 1, 2, 3, 4, 5, 6 级 不同道路等级行车速度不同 )
// e. Direction 行走方向 long; ( 0--禁行止; 1--正向单行; 2--逆正向单行; 3--双向通行 )
//}}Attendtion
class CMyPathAnalyst : public CSePathAnalyst
{
public://method
//初始化
bool Init();
//分析模式: 最短路径分析为 0; 最佳路径分析为 1
bool SetAnalyseMode( long nMode );
//===============================================================================
protected://method
//根据实际规则返回节点间的连通性
virtual bool GetDistance( CSeRecordset *pRecordsetArc,
long &nArcID, long &nFNodeID, long &nTNodeID,
double &dDistanceStartToEnd, double &dDistanceEndToStart );
//根据实际规则返回道路的限制速度!
long GetSpeedLimit( long btRoadType );
protected://attribute
//===============================================================================
//通过字段索引可以更快地取出字段的值, 所以要把字段名换成索引值
long m_nFieldIndexFNodeID;//开始节点 ID
long m_nFieldIndexTNodeID;//终止节点 ID
long m_nFieldIndexPathLength;//路的长度
long m_nFieldIndexPathType;//道路等级
long m_nFieldIndexDirection;//行车方向的限定
//===============================================================================
//分析模式: 最短路径分析为 0; 最佳路径分析为 1
long m_nAnalyseMode;
//===============================================================================
public:
CMyPathAnalyst();
virtual ~CMyPathAnalyst();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -