Використання doxygen для роботи з вихідним програмним кодом по гис

Рішення завдання написання ПО починається з визначення проблеми і постановки завдань. Потім, в загальному випадку, слідують вироблення вимог, детальне проектування, кодування і налагодження, тестування і, нарешті, супровід. Перед тим, як приступати до кодування розробник повинен знати, що він буде писати, за допомогою чого, як це повинно поводитися і в якому вигляді буде використовуватися. Тому стадія проектування вельми важлива. В тому числі, тому що на ній необхідно визначити можливість використання чужого коду, або свого написаного до цього, а так же обміркувати проблеми його інтеграції в власний проект.

На сьогоднішній день існує величезна кількість програмного коду різної тематики, який доступний під різними ліцензіями в мережі і може помітно полегшити життя програміста, початківця роботу з завданнями, пов'язаними з ГІС.

Розглянемо приклад: припустимо виникло питання написання ПО для векторизації специфічного типу карт, серед іншого знадобиться мати на руках код, який повинен здійснювати прив'язку карти. У сфері ГІС існує кілька відкритих проектів, де це завдання вже вирішена, наприклад GRASS. GRASS поширюється під ліцензією GPL і кожен бажаючий може вивчити його вихідний код і, при бажанні, використовувати їх в своєму програмному забезпеченні відповідно до умов ліцензії (уважно ознайомтесь з нею, перш ніж використовувати даний код).

встановлюємо Doxygen

GRASS спочатку створювався для Unix платформ і його компіляція для Windows непросте завдання (про установку GRASS). Вивчивши опис, переконаємося, що в програмі є необхідний код. Завантаживши вихідні легко виявити, що їх обсяг складає понад 560 тис. Рядків що змушує задуматися про більш ефективне їх вивченні.

Як орієнтуватися в такому обсязі чужого коду? А тим більше отримати звідти окремі ділянки. Треба зауважити, що код написаний на чистому С і це погіршує справу, тому що процедурний і модульний підходи в програмуванні роблять розбір чужого часто досить складним процесом. Підемо напрацьованим шляхом і скористаємося програмним пакетом Doxygen (www.stack.nl/

Завантажити та встановити Doxygen для Windows, який має графічний інтерфейс користувача.

Розбір коду

Скористаємося для початку роботи Помічником (Wizard).

У «Step 3» потрібно вказати папку, звідки повинен бути завантажений Doxygen (наприклад C: \ Program Files \ doxygen \ bin \)

Потім переходимо до четвертого кроку і натискаємо «Start». Процес обробки досить тривалий і може зайняти кілька хвилин.

Після закінчення, в папці, зазначеної на закладці «Project» в пункті «Destination directory», з'явиться каталог html. в якому необхідно знайти файл index.html і запустити. Ви повинні побачити щось на зразок:

Doxygen, крім того, що обробив вихідні, так само знайшов документацію і включив її в загальну структуру. Серед іншого, він шукає папки з іменами docs / doc / manual / etc (список налаштовується в експертному режимі роботи), бере звідти файли і включає їх в загальну структуру. До речі, сама документацію GRASS оброблена так само за допомогою цієї програми.

Далі постає питання пошуку необхідного коду, в цьому може допомогти читання документації і вивчення відповідних функцій програми. У нашому випадку, знаючи, що команда трансформації називається g.transform. шукаємо відповідний їй код: grass-6.2.3 / general / g.transform / crs.c | h. В даному випадку складно знайти загальний підхід, як правило локалізувати необхідний код.

Розкриваємо зліва в дереві пункт «File list» і шукаємо необхідні файли.

результати

Оформивши знайдений код в окремий клас, отримуємо простий і зручний спосіб прив'язки карти:

У додатку до статті Ви можете знайти цей клас і приклад його використання в MSVC ++ 8.0.

З власне математикою процесу розрахунків коефіцієнтів для полиномиального перетворення з мінімальним кількість точок можна ознайомитися в спеціальній статті. Інші приклади реалізації і перевірки перетворення так само доступні в відповідних нотатках.

Схожі статті