Разработка инструмента геообработки для wxGIS: различия между версиями
Bishop (обсуждение | вклад) Нет описания правки |
Bishop (обсуждение | вклад) мНет описания правки |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 2: | Строка 2: | ||
==Введение== | ==Введение== | ||
TODO: Рассказать что из себя представляют инструменты геообработки в wxGIS | TODO: Рассказать что из себя представляют инструменты геообработки в wxGIS | ||
-Дерево инструментов | |||
-geoprocessing.exe | |||
-формат командной строки и передача параметров | |||
Дать предупреждение, что при внедрении Python и пакетной обработки API может измениться. | Дать предупреждение, что при внедрении Python и пакетной обработки API может измениться. | ||
Строка 22: | Строка 25: | ||
== Создание инструмента геообработки == | == Создание инструмента геообработки == | ||
Базовый класс и контролы диалога инструмента геообработки | |||
<source lang="cpp"> | |||
#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); | |||
}; | |||
</source> | |||
Файл проекта CMake (CMakeLists.txt) имеет следующий код: | |||
<source lang="cmake"> | |||
cmake_minimum_required (VERSION 2.6) | |||
project (wxtestgptool) | |||
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE) | |||
set(CMAKE_COLOR_MAKEFILE ON) | |||
</source> | |||
== Подключение инструмента геообработки к wxGIS == | == Подключение инструмента геообработки к wxGIS == | ||
Текущая версия от 22:23, 11 марта 2012
Введение
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 (wxtestgptool)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
set(CMAKE_COLOR_MAKEFILE ON)