Разработка инструмента геообработки для wxGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Введение

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)

Подключение инструмента геообработки к wxGIS

Ручное подключение

Подключение через интерфейс

Программное подключение