diff --git a/GISControlDlg.rc b/GISControlDlg.rc index 08e4c55..9da65f5 100644 --- a/GISControlDlg.rc +++ b/GISControlDlg.rc @@ -691,6 +691,7 @@ BEGIN MENUITEM "显示禁飞区4", IDM_SHOW_NOFLYZONE4 MENUITEM "显示禁飞区5", IDM_SHOW_NOFLYZONE5 END + MENUITEM "测绘航线设计", ID_DESIGNSURVEYLINE END END diff --git a/GISDlg.cpp b/GISDlg.cpp index 9deb4e9..9b48a11 100644 --- a/GISDlg.cpp +++ b/GISDlg.cpp @@ -626,6 +626,8 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog) ON_MESSAGE(WM_SEND_SHOWSURVEYREGION, &CGISDlg::OnShowSurveyRegion) //显示测绘区域 ON_MESSAGE(WM_SEND_SHOWSURVEYLINE, &CGISDlg::OnShowSurveyRegion) //显示测绘航线 ON_MESSAGE(WM_CLEAR_TMPSURVEYFEATURE, &CGISDlg::OnClearTmpSurveyFeature) //显示测绘航线 + ON_MESSAGE(WM_BIND_SURVEYLINE, &CGISDlg::OnBindSurveyLine) //装订测绘航线 + ON_COMMAND(ID_DESIGNSURVEYLINE,OnShowDesignSurveyLineDlg) //显示测绘航线设计对话框 END_MESSAGE_MAP() @@ -1009,13 +1011,6 @@ void CGISDlg::OnMapFullScreen() m_bLDSetPoint = FALSE; m_bSelectFeatureFlag = false; - -/* - if (designSurveyLineDlg==nullptr) - { - designSurveyLineDlg = new DesignSurveyLineDlg(); - } - designSurveyLineDlg->ShowWindow(true);*/ } @@ -8366,6 +8361,28 @@ afx_msg LRESULT CGISDlg::OnClearTmpSurveyFeature(WPARAM wParam, LPARAM lParam) return 0; } +//装订测绘航线 +afx_msg LRESULT CGISDlg::OnBindSurveyLine(WPARAM wParam,LPARAM lParam) +{ + int lineID = (int)wParam; + // TODO: 在此添加命令处理程序代码 + m_struMapOut.cmd=MapCmd_BindLine; + m_struMapOut.ID=lineID; + ::SendMessage(GetParent()->GetSafeHwnd(),MESSAGE_B8MAP,(int)(&m_struMapOut),0); + return 0; +} + +//功能:显示测绘航线设计对话框 +void CGISDlg::OnShowDesignSurveyLineDlg() +{ + if (designSurveyLineDlg==nullptr) + { + designSurveyLineDlg = new DesignSurveyLineDlg(); + } + designSurveyLineDlg->ShowWindow(true); +} + + /****************************多机航线一键生成************************************/ void CGISDlg::GetMultiRouteLine(double azimuth,double lineInterval,int lineNumber,PtStruct* lineStruct,int nLinePts,vector>& resultLines) { @@ -8463,6 +8480,8 @@ void CGISDlg::SaveMultiRouteLine(CString pathDirName,double heightInterval,const + + diff --git a/GISDlg.h b/GISDlg.h index 036740d..78a196f 100644 --- a/GISDlg.h +++ b/GISDlg.h @@ -971,12 +971,17 @@ public: vector surveyRegionLats; //显示航测区域 afx_msg LRESULT OnShowSurveyRegion(WPARAM wParam,LPARAM lParam); + //显示测绘航线 afx_msg LRESULT OnShowSurveyLine(WPARAM wParam,LPARAM lParam); + //装订测绘航线 + afx_msg LRESULT OnBindSurveyLine(WPARAM wParam,LPARAM lParam); + //清除临时图层 afx_msg LRESULT OnClearTmpSurveyFeature(WPARAM wParam,LPARAM lParam); void ShowSurveyRegion(long& layerID,vector& xPoints,vector& yPoints); //显示航测航线 void ShowPolyline(long& layerID,vector& xPoints,vector& yPoints); - + //功能:显示测绘航线设计对话框 + void OnShowDesignSurveyLineDlg(); /****************************多机航线一键生成************************************/ void GetMultiRouteLine(double azimuth,double lineInterval,int lineNumber,PtStruct* lineStruct,int nLinePts,vector>& resultLines); void SaveMultiRouteLine(CString pathDirName,double heightInterval,const vector>& resultLines); diff --git a/designsurveylinedlg.cpp b/designsurveylinedlg.cpp index ca1df9f..551db23 100644 --- a/designsurveylinedlg.cpp +++ b/designsurveylinedlg.cpp @@ -16,6 +16,8 @@ DesignSurveyLineDlg::DesignSurveyLineDlg(CWnd* pParent /*=NULL*/) EnableVisualManagerStyle(TRUE, TRUE); bDrawRegion = false; + + lineID = 5;//测绘航线号 } DesignSurveyLineDlg::~DesignSurveyLineDlg() @@ -167,7 +169,7 @@ void DesignSurveyLineDlg::saveSurveyLine(const vector&surveyLineLons,con g_lineFileName = extractFileName(dlg.GetFileName()); FILE* fp = fopen(filename,"w"); - int iLineNum = 5; + int iLineNum = lineID; fprintf(fp,"%d, 0, %.7f, %.7f, %.2f, 0, 00, 03\n", iLineNum, 0.0, 0.0, 0.0); int i = 0; for (i;i&surveyRegionLons g_regionFileName = extractFileName(dlg.GetFileName()); FILE* fp = fopen(filename,"w"); - int iLineNum = 5; + int iLineNum = lineID; fprintf(fp,"%d, 0, %.7f, %.7f, %.2f, 0, 00, 03\n", iLineNum, 0.0, 0.0, 0.0); int i = 0; for (i;i&surveyLineLons,vector& surveyLineLats);//计算测绘航线 void saveSurveyLine(const vector&surveyLineLons,const vector& surveyLineLats,double height); //保存测绘航线 bool saveSurveyRegion(const vector&surveyRegionLons,const vector& surveyRegionLats); //保存航测区域 + int lineID; //测绘航线坐标 vector surveyLineLons; vector surveyLineLats; diff --git a/resource.h b/resource.h index 1be4695..2c7ac0a 100644 --- a/resource.h +++ b/resource.h @@ -111,7 +111,6 @@ #define IDC_EDIT_GROUND_LON 1035 #define IDC_EDIT_ORG_DISTANCE 1036 #define IDC_EDIT_GROUND_LAT 1036 -#define IDC_RADIO5 1036 #define IDC_RADIO_MultiRoute 1036 #define IDC_EDIT_SECT_AZ_ANGLE2 1037 #define IDC_EDIT_ORG_AZ_ANGLE 1037 @@ -418,13 +417,16 @@ #define IDM_SHOW_NOFLYZONE5 32937 #define ID_32938 32938 #define IDM_BIND_ZONE 32939 +#define ID__32940 32940 +#define ID__DESIGNSURVEYLINE 32941 +#define ID_DESIGNSURVEYLINE 32942 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 1174 -#define _APS_NEXT_COMMAND_VALUE 32940 +#define _APS_NEXT_COMMAND_VALUE 32943 #define _APS_NEXT_CONTROL_VALUE 1055 #define _APS_NEXT_SYMED_VALUE 1000 #endif