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

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
(Начало)
 
мНет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 2: Строка 2:
==Введение==
==Введение==
TODO: Рассказать что из себя представляют инструменты геообработки в wxGIS
TODO: Рассказать что из себя представляют инструменты геообработки в wxGIS
-Дерево инструментов
-geoprocessing.exe
-формат командной строки и передача параметров


Дать предупреждение, что при внедрении Python и пакетной обработки API может измениться.
Дать предупреждение, что при внедрении Python и пакетной обработки API может измениться.
Строка 12: Строка 15:
==Описание структуры проекта==
==Описание структуры проекта==
Для удобства переноса проекта в различные среды и ОС будем использовать CMake. Для этого создадим директорию в папке, где у вас хранятся все проекты, например, '''wxTestGPTool'''.
Для удобства переноса проекта в различные среды и ОС будем использовать CMake. Для этого создадим директорию в папке, где у вас хранятся все проекты, например, '''wxTestGPTool'''.
В корне этой директории создадим текстовый файл CMakeLists.txt и поддиректорию '''src''', где будут размещаться исходные тексты. В директории src создадим два текстовых файла '''gptesttool.h''' и '''gptesttool.cpp'''.
В корне этой директории создадим текстовый файл CMakeLists.txt и поддиректорию '''src''', где будут размещаться исходные тексты. В директории src создадим два текстовых файла '''gptesttool.h''' и '''gptesttool.cpp'''. Если планируется использовать полученную библиотеку в других проектах, то необходимо добавить директорию '''include''' и перенести туда заголовочный файл gptesttool.h (в котором прописать экспортируемые функции и классы).
 
Структура должна иметь следующий вид:
Структура должна иметь следующий вид:
  wxTestGPTool
  wxTestGPTool
Строка 21: Строка 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 ==
=== Ручное подключение ===
=== Подключение через интерфейс ===
=== Программное подключение ===

Текущая версия от 23: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)

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

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

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

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