Добрый день! В описанном сценарии пример заработал. Однако, если добавить контекст отображения пользовательской карты, то знак продолжает исчезать. Ниже пример, воспроизводящий поведение: [CODE] #include <QString> #include <QDebug> #include <QImage> #include "mapapi.h" #include "sitapi.h" #include "rscapi.h" #include "mapcreat.h" #include "maptype.h"
void saveMap(HMAP hsite, QString filename, int x, int y, int w, int h) { XIMAGEDESC desc; DFRAME frame; frame.X1 = x; frame.Y1 = y; frame.X2 = x + w; frame.Y2 = y + h;
mapCloseData(hsite); } [/CODE] Результат отображения: До [IMG]http://s7.hostingkartinok.com/uploads/images/2015/09/cf606a7d55c4467f2738ded82340ca37.png[/IMG] После [IMG]http://s7.hostingkartinok.com/uploads/images/2015/09/c9a3abdf1664a400eaec454644e699fb.png[/IMG]
P.S. Также пытался найти новый объект по номеру и добавить его в контекст отображения, результата это не принесло.
Приветствую! Использую ГИС Конструктор для Qt Designer x64 (версия 11.8.3), ОС Astra Linux
Есть задача: Пользователь рисует площадные [I][B]пересекающиеся[/B][/I] знаки на [I][B]пользовательской[/B][/I] карте (для простоты - все знаки с одинаковым кодом). В какой-то момент он решает изменить порядок знаков. Т.е. что-то сделать выше, что-то сделать ниже. Попробовал решить данную задачу с помощью методов [CODE]mapUpdateObjectUp, mapUpdateObjectDown[/CODE], однако, после вызовов этих методов знаки перестают отображаться. Порядок моих действий: 1. Рисую три квадрата маленький, средний, большой у которых первая точка совпадает. Как результат, большой квадрат перекрывает предыдущие 2. [IMG]http://s7.hostingkartinok.com/uploads/images/2015/09/ca6710b1bf4e8364f730edff03ddd615.png[/IMG] 2. Для среднего квадрата вызываю mapUpdateObjectUp после чего на карте остается виден один маленький квадрат, с количеством знаков равным 4. [IMG]http://s7.hostingkartinok.com/uploads/images/2015/09/b5912c6e972d212659180476cf65445d.png[/IMG] 3. После [I][B]сортировки [/B][/I]этой пользовательской карты получаю ожидаемую картинку. Маленький квадрат снизу, затем большой, затем средний. Данное решение, мне не нравится тем, первое, что сортируется [I][B]вся[/B][/I] карта, т.е. порядок изменится у остальных знаков тоже, второе, что сортировка всей карты занимает заметное для пользователя время. [IMG]http://s7.hostingkartinok.com/uploads/images/2015/09/3074dd4f5b5c5a052ee83f112210f2fc.png[/IMG] Все картинки были получены через метод [CODE]mapPaintByFrameToXImage[/CODE] также все картинки совпадают с картинкой ГИС Оператор 11.11.21, если открывать пользовательскую карту на промежуточных этапах. Поэтому остается открытым вопрос как обновить картинку без полной сортировки.
Добрый день. Использую ГИС Конструктор для Qt Designer x64 (версия 11.8.3), ОС Astra Linux
Пытаюсь получить шаг отображаемой сетки методом mapGetGridStep, однако результат выполнения всегда равен 0. Однако, метод mapGetGridParm возвращает установленные значения. Правильно ли я понимаю, что этот метод не работает.
Пример кода: [CODE] QString siteName("/usr/Operator11/Data/Podolsk/podolsk.map");
Забрал. Проверил. Не работает. Аварийное завершение происходит гораздо раньше, BackTrace немного изменился:
[CODE] #0 0x00007fffe7fefc27 in TWMSBaseList::GetImageWMTS(unsigned long, _RECT*, DFRAME*, DFRAME*, double, long, int, void*, int) () from /usr/Operator11/libwmsacces.so #1 0x00007fffe7ff1b0b in TWMSBaseList::GetImage(unsigned long, _RECT*, DFRAME*, DFRAME*, int, double, long, int, void*) () from /usr/Operator11/libwmsacces.so #2 0x00007fffe7fea11d in wmsGetImage () from /usr/Operator11/libwmsacces.so #3 0x00007ffff77bbdb4 in TMapWMS::GetImage(unsigned long, _RECT&, DFRAME&, DFRAME&, int, double, long, int, void*) () from ./libmapacces.so #4 0x00007ffff77bc75b in WMSCHAIN::GetImage(_RECT&, DFRAME&, DFRAME&, int, double, long, int, void*) () from ./libmapacces.so #5 0x00007ffff77c089c in TMapControl::ShowWMS(WMSCHAIN&, DFRAME&, int, DIBCONTEXT*) () from ./libmapacces.so #6 0x00007ffff77bdfa4 in TMapControl::ShowWMS(int, DIBCONTEXT*) () from ./libmapacces.so #7 0x00007ffff77bddcd in TMapControl::ShowWMSPlace(int, DIBCONTEXT*) () from ./libmapacces.so #8 0x00007ffff7564dc6 in TMapControl::ShowData() () from ./libmapacces.so #9 0x00007ffff75c1c63 in TMapPaint::PaintToDib(unsigned long, int, _RECT&, TObjectInfo*, int, int, TMapSelect*) () from ./libmapacces.so #10 0x00007ffff75c22c9 in TMapPaint::Paint(unsigned long, int, _RECT&) () from ./libmapacces.so #11 0x00007ffff752e158 in TMapAccess::Paint(unsigned long, int, _RECT&) () from ./libmapacces.so #12 0x00007ffff7592f8f in mapPaint () from ./libmapacces.so #13 0x00007ffff7593847 in mapPaintToXImage () from ./libmapacces.so #14 0x00007ffff70f93d5 in TMapWindowBroker::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #15 0x00007ffff7108e8f in TMapManager::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #16 0x00007ffff711bf09 in TSelectManager::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #17 0x00007ffff71103a3 in TMapNavigator::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #18 0x00007ffff70f91b0 in TMapWindowBroker::OnPaintEx(unsigned long, int, LONGPOINT*, _RECT&) () from ./libmaptask.so #19 0x00007ffff70fcdb0 in mbrOnPaintEx () from ./libmaptask.so #20 0x000000000042b2ad in ?? () #21 0x000000000042bb96 in ?? () #22 0x00007ffff5a080a5 in Q3ScrollView::drawContentsOffset(QPainter*, int, int, int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 #23 0x00007ffff5a08374 in Q3ScrollView::viewportPaintEvent(QPaintEvent*) () from /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 #24 0x00007ffff5a0b540 in Q3ScrollView::eventFilter(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 #25 0x00007ffff487b836 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #26 0x00007ffff4dba2fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #27 0x00007ffff4dbe7d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #28 0x00007ffff487b6ce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #29 0x00007ffff4e05b74 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #30 0x00007ffff4fd160c in QWidgetPrivate::repaint_sys(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #31 0x00007ffff4dfa384 in QWidgetPrivate::syncBackingStore() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #32 0x00007ffff4e0a454 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #33 0x00007ffff4dba32c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #34 0x00007ffff4dbe7d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #35 0x00007ffff487b6ce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #36 0x00007ffff4fd1cd1 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #37 0x00007ffff4dfba79 in QWidget::repaint(QRect const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #38 0x00007ffff4dfbaf7 in QWidget::repaint(int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #39 0x00007ffff4e5171f in QWidgetPrivate::scroll_sys(int, int, QRect const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #40 0x00007ffff4e51794 in QWidgetPrivate::scroll_sys(int, int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 [/CODE]
[B]Пользовательские графические[/B] объекты создавались на [B]пользовательской[/B] карте с классификатором [B]operator.rsc[/B], идущем в поставке с Оператором.
Также прикладываю [URL=https://drive.google.com/file/d/0Bzu7BvIhp3sbbHBZYTl2MWh1R0U/view?usp=sharing]пользовательскую карту[/URL] с "полигоном" и "полигоном-цветное стекло".
Дорбый день. ГИС "Оператор" для силовых структур (версия 11.11.19, платформа x64, ОС Astra Linux Special Edition, релиз "Смоленск" версия 1.3) ГИС Конструктор для Qt Designer x64 (версия 11.8.3), ОС Astra Linux
Создаю 2 графических объекта: 1. Полигон - цветное стекло красного цвета, непрозрачный. 2. Полигон красного цвета.
Возникло 2 вопроса: 1. Почему в предварительном просмотре отображается синий цвет: [IMG]http://www.picshare.ru/uploads/150624/5GPANg9r6E.png[/IMG] 2. Почему при задании одного и того же значения цвета, второй полигон розовый: [IMG]http://www.picshare.ru/uploads/150624/p8yT59YApw.png[/IMG]
Дорбый день. ГИС "Оператор" для силовых структур (версия 11.11.19, платформа x64, ОС Astra Linux Special Edition, релиз "Смоленск" версия 1.3) (от 23.06.2015)
Открываю карту через WMTS. Перехожу на необходимый масштаб. Позиционирую карту с помощью зажатой левой кнопки мыши. После нескольких перемещений карты программа завершается с "Ошибкой сегментирования".
BackTrace прилагаю
[CODE] Program received signal SIGSEGV, Segmentation fault. 0x00007ffff3716156 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt #0 0x00007ffff3716156 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff370fda5 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #2 0x00007fffeb06ff42 in TWMSBaseList::ReConstruct (this=0xb32be0, width=74, loadwidth=-1, height=781, loadheight=781) at wmsclas.cpp:1996 #3 0x00007fffeb06fd9a in TWMSBaseList::GetImageWMTS (this=0xb32be0, hWMS=602668917, rect=0x7fffffffaf00, frame=0x7fffffffabc0, metrframe=0x7fffffffac60, scale=24777827.088922735, pclass=9233832, pchain=1, pdcout=0x0, transl=0) at wmsclas.cpp:1960 #4 0x00007fffeb071aa1 in TWMSBaseList::GetImage (this=0xb32be0, hWMS=602668917, rect=0x7fffffffaf00, frame=0x7fffffffabc0, metrframe=0x7fffffffac60, transl=0, scale=24777827.088922735, pclass=9233832, pchain=1, pdcout=0x0) at wmsclas.cpp:2882 #5 0x00007fffeb06a11d in wmsGetImage (hWMS=602668917, rect=0x7fffffffaf00, frame=0x7fffffffabc0, metrframe=0x7fffffffac60, transl=0, scale=24777827.088922735, pclass=9233832, pchain=1, pdcout=0x0) at wmsapi.cpp:310 #6 0x00007ffff77bbdb4 in TMapWMS::GetImage(unsigned long, _RECT&, DFRAME&, DFRAME&, int, double, long, int, void*) () from ./libmapacces.so #7 0x00007ffff77bc75b in WMSCHAIN::GetImage(_RECT&, DFRAME&, DFRAME&, int, double, long, int, void*) () from ./libmapacces.so #8 0x00007ffff77c089c in TMapControl::ShowWMS(WMSCHAIN&, DFRAME&, int, DIBCONTEXT*) () from ./libmapacces.so #9 0x00007ffff77bdfa4 in TMapControl::ShowWMS(int, DIBCONTEXT*) () from ./libmapacces.so #10 0x00007ffff77bddcd in TMapControl::ShowWMSPlace(int, DIBCONTEXT*) () from ./libmapacces.so #11 0x00007ffff7564dc6 in TMapControl::ShowData() () from ./libmapacces.so #12 0x00007ffff75c1c63 in TMapPaint::PaintToDib(unsigned long, int, _RECT&, TObjectInfo*, int, int, TMapSelect*) () from ./libmapacces.so #13 0x00007ffff75c22c9 in TMapPaint::Paint(unsigned long, int, _RECT&) () from ./libmapacces.so #14 0x00007ffff752e158 in TMapAccess::Paint(unsigned long, int, _RECT&) () from ./libmapacces.so #15 0x00007ffff7592f8f in mapPaint () from ./libmapacces.so #16 0x00007ffff7593847 in mapPaintToXImage () from ./libmapacces.so #17 0x00007ffff70f93d5 in TMapWindowBroker::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #18 0x00007ffff7108e8f in TMapManager::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #19 0x00007ffff711bf09 in TSelectManager::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #20 0x00007ffff71103a3 in TMapNavigator::OnPaint(unsigned long, int, _RECT&, _RECT&) () from ./libmaptask.so #21 0x00007ffff70f91b0 in TMapWindowBroker::OnPaintEx(unsigned long, int, LONGPOINT*, _RECT&) () from ./libmaptask.so #22 0x00007ffff70fcdb0 in mbrOnPaintEx () from ./libmaptask.so #23 0x000000000042b2ad in ?? () #24 0x000000000042bb96 in ?? () #25 0x00007ffff5a080a5 in Q3ScrollView::drawContentsOffset(QPainter*, int, int, int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 #26 0x00007ffff5a08374 in Q3ScrollView::viewportPaintEvent(QPaintEvent*) () from /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 #27 0x00007ffff5a0b540 in Q3ScrollView::eventFilter(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 #28 0x00007ffff487b836 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #29 0x00007ffff4dba2fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #30 0x00007ffff4dbe7d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #31 0x00007ffff487b6ce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #32 0x00007ffff4e05b74 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #33 0x00007ffff4fd160c in QWidgetPrivate::repaint_sys(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #34 0x00007ffff4dfa384 in QWidgetPrivate::syncBackingStore() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #35 0x00007ffff4e0a454 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #36 0x00007ffff4dba32c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #37 0x00007ffff4dbe7d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 [/CODE]