На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Странная стрелка знака "Удар на главном направлении"

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Странная стрелка знака "Удар на главном направлении"
 
Приветствую!

ГИС Конструктор для Qt Designer x64 (версия 12.5.2), ОС Astra Linux

Столкнулся с проблемой: стрелка знака "Удар на главном направлении" иногда смотрит не туда куда ожидается.
Видео демонстрирующее проблему

С уважением,
Матвеев П.В.
Изменено: Павел Матвеев - 19.03.2020 13:39:04
 
Здравствуйте!

Протестировали поворот указанного знака на последнем ГИС Оператор. Поведение повторить не удалось (ссылка на видео).
Пожалуйста, предоставьте карту и пример демонстрирующий данное поведение.
 
Приветствую!

Код
#include <QApplication>
#include <QString>
#include <QDebug>
#include "qdmcmp.h"
#include "mapapi.h"
#include "sitapi.h"
#include "mapcreat.h"
#include "maptype.h"
#include "paint.h"
#include "renderer.h"

// тест рисования удара
int main(int argc, char **argv) {
    if (!QApplication::instance()) {
        static int argc = 1;
        static char arg[] = "test";
        static char *argv[1] = { arg };
        QApplication::setGraphicsSystem("native");
        new QApplication(argc, argv);
    }
    mapMessageEnable(0);
    QString *siteName = new QString("../. ./. ./. ./target/test.sitx");
    QString *rscName = new QString("../. ./. ./test/resources/rsc/operator.rsc");
    CREATESITEUN cs;
    memset((void*) &cs, 0, sizeof(cs));
    cs.Length = sizeof(CREATESITEUN);
    cs.EllipsoideKind = 9;
    cs.MapType = 16;

    HMAP hmap = mapCreateSiteUn((const WCHAR*) siteName->constData(),
            (const WCHAR*) rscName->constData(), &cs);
    if (hmap != 0) {
        HOBJ hobj = mapCreateObject(hmap);
        if (hobj != 0) {
            if (mapRegisterObjectByKey(hobj, "009995004501") != 0) {
                mapAppendPointGeoWGS84(hobj, 0.9641950, 0.6496361, 0);
                mapAppendPointGeoWGS84(hobj, 0.9640971, 0.6502919, 0);
                mapAppendPointGeoWGS84(hobj, 0.9637010, 0.6500748, 0);
                mapAppendPointGeoWGS84(hobj, 0.9634209, 0.6498405, 0);
                mapCommitObject(hobj);
            }
            mapFreeObject(hobj);
        }

        mapSetViewType(hmap, VT_PRINTRST);
        enableQtRenderer();

        mapSetRealShowScale(hmap, 100000);
        paintMap(hmap, 0xFFFFFFFF, -2, "/tmp/mapArrow.png");

        mapCloseMap(hmap);
    }

}

paintMap - отрисовывает всю карту
enableQtRenderer - устанавливает функции отрисовки использующие Qt

Результат
Карта

В ГИС Оператор результат аналогичный.

ЗЫ: Если приглядеться к первому видео, то заметно, что и основание стрелки удара рисуется нестабильно

С уважением,
Матвеев П.В.
Изменено: Павел Матвеев - 23.03.2020 13:53:20
 
Отображение стрелки исправлено. Войдет в новые версии ГИС Оператор и ГИС Конструктор.
Исправленные тексты в sdk13.zip -
http://gisinfo.ru/download?id=229

imlapi\rscarmy\rscarmy.cpp
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности