Разработка инструмента геообработки для wxGIS
Введение
TODO: Рассказать что из себя представляют инструменты геообработки в wxGIS -Дерево инструментов -geoprocessing.exe -формат командной строки и передача параметров
Дать предупреждение, что при внедрении Python и пакетной обработки API может измениться.
Подготовка
TODO: Какие нужны библиотеки и т.п.
Использовать NPP
Описание структуры проекта
Для удобства переноса проекта в различные среды и ОС будем использовать CMake. Для этого создадим директорию в папке, где у вас хранятся все проекты, например, wxTestGPTool. В корне этой директории создадим текстовый файл CMakeLists.txt и поддиректорию src, где будут размещаться исходные тексты. В директории src создадим два текстовых файла gptesttool.h и gptesttool.cpp. Если планируется использовать полученную библиотеку в других проектах, то необходимо добавить директорию include и перенести туда заголовочный файл gptesttool.h (в котором прописать экспортируемые функции и классы).
Структура должна иметь следующий вид:
wxTestGPTool |-src | |-gptesttool.h | |-gptesttool.cpp |-CMakeLists.txt
Создание инструмента геообработки
Базовый класс и контролы диалога инструмента геообработки
#pragma once
#include "wxgis/geoprocessing/gptool.h"
/** \class wxGISGPTestTool gptesttool.h
\brief The geoprocessing test tool
*/
class WXEXPORT wxGISGPTestTool :
public wxGISGPTool
{
DECLARE_DYNAMIC_CLASS(wxGISGPTestTool )
public:
wxGISGPTestTool(void);
virtual ~wxGISGPTestTool(void);
//IGPTool
virtual const wxString GetDisplayName(void);
virtual const wxString GetName(void);
virtual const wxString GetCategory(void);
virtual bool Execute(ITrackCancel* pTrackCancel);
virtual bool Validate(void);
virtual GPParameters GetParameterInfo(void);
};
Файл проекта CMake (CMakeLists.txt) имеет следующий код:
cmake_minimum_required (VERSION 2.6)
project (wxgisksi)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
set(CMAKE_COLOR_MAKEFILE ON)