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

Павел Матвеев (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Павел Матвеев
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 12 ... 54 След.
Странные надписи на "Флагах"
 
Приветствую!

В 12.6.1 проблема решена, спасибо!

С уважением,
Матвеев П.В.
Текст во "Флагах" рисуется не по центру
 
Приветствую!

В 12.6.1 проблема решена, спасибо!

С уважением,
Матвеев П.В.
Габариты пользовательской карты
 
Приветствую!

Я не про [B]mapCreateListFrameObject[/B] ))
Создайте обычный объект на пользовательской карте, заполните его метрику так, чтобы задать желаемые границы и сохраните. И в дальнейшем проверяйте метрику создаваемых на карте объектов чтобы не выйти за границы объекта - рамки и не "растянуть" пользовательскую карту.

С уважением,
Матвеев П.В.
Габариты пользовательской карты
 
Приветствую!

Можно создать объект - рамку на пользовательской карте и не разрешать создавать объекты за этой рамкой. тогда в 99% случаев габариты карты не изменятся.

С уважением,
Матвеев П.В.
Габариты пользовательской карты
 
Приветствую!

"Пользовательская векторная карта состоит только из одного листа карты, который не имеет постоянных  размеров.  При  добавлении  или  удалении  объектов  его  габариты  и  расположение будут  меняться." ([URL=http://gistoolkit.ru/download/doc/mapapi.pdf]mapapi.pdf[/URL])

Какие габариты и для каких целей Вы хотите "зафиксировать"?

С уважением,
Матвеев П.В.
Поиск объекта на пользовательской в указанной точке
 
Приветствую!

В 100% случаев- пока не получается, но в 99% случаев лучшие результаты дают [B]mapWhatObjectBySelect[/B] и [B]mapSeekSelectObject[/B]
Поиск не удается осуществить, в случаях если габариты флага не пересекаются с областью где он отрисован.
Такое случается в зависимости от заполнения метрики флага ([URL=http://www.gisweb.ru/forum/messages/forum7/topic9189/message68879/9189-problema-s-gabaritami-flagov-iz-flagshtoka#message68879]один из примеров[/URL]). [B]
[/B]

С уважением,
Матвеев П.В.
В определенных условиях не русуется WMS слой добавленный к основной WMTS карте
 
Приветствую!

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

Столкнулся с проблемой:

Есть два сервиса предоставляющих WMS\WMTS данные. Один из них требует указание логина\пароля, другой нет.При открытии основной карты передаю в логин\пароль в пути при открытии карты: [CODE]"WMTS#IP=http://127.0.0.1/GISWebServiceSE/service.php&ID1=0003&Name1=MyMap&Autent=Basic...&Format=image/png&Matrix=GoogleMapsCompatible"[/CODE]После успешного открытия основной карты, добавляю к ней WMS слой, не требующий логина\пароля. Добавление слоя проходит успешно, но при отрисовке карты, слой не отображается.
wireshark показывает, что при формировании запросов для получения данных о WMS слое устанавливается Basic аутентификация (с параметрами от основной карты), и сервис возвращает ошибку.

С уважением,
Матвеев П.В.
Не открываются WMTS карты?
 
Приветствую!

1. Обновил GIS WebService до 12.5.1 - проблема осталась
2. На почту отправил результат запроса информации о доступных слоях и их параметрах.

Какую еще информацию я могу предоставить для решения проблемы?


С уважением,
Матвеев П.В.
Не устанавливаются параметры сетки
 
Приветствую!

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

Не устанавливается параметр Size

[CODE]#include <QString>
#include <QDebug>
#include "mapapi.h"
#include "sitapi.h"
#include "maptype.h"


// тест установки параметров сетки
int main(int argc, char ** argv) {
QString* siteName = new QString("/home/user/temp/testSetGridParm.sitx");
QString* rscName = new QString("/home/user/temp/operator.rsc");
CREATESITEUN cs;
memset((void*) &cs, 0, sizeof(cs));
cs.Length = sizeof(CREATESITEUN);
cs.EllipsoideKind = 9;
cs.MapType = 16;
cs.Reserve = 0;
cs.Scale = 100000;
HMAP hmap = mapCreateSiteUn((const WCHAR*) siteName->constData(),
(const WCHAR*) rscName->constData(), &cs);
if (hmap != 0) {
mapSetRealShowScale(hmap, 10000.);

GRIDPARM parm;
parm.Size = 3000;

qDebug() << parm.Size;
mapSetGridParm(hmap, &parm);
mapGetGridParm(hmap, &parm);
qDebug() << parm.Size;
parm.Size = 2000;
mapSetGridParm(hmap, &parm);
mapGetGridParm(hmap, &parm);
qDebug() << parm.Size;

mapCloseMap(hmap);
} else {
qDebug() << "mapCreateSiteUn error";
}

}

[/CODE]
Значение остается равным значению по умолчанию 2500.

С уважением,
Матвеев П.В.
Текст во "Флагах" рисуется не по центру
 
Приветствую!

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

В новой версии "сломалось" рисование текста внутри полотнища.

[CODE]#include <QString>
#include <QDebug>
#include <QImage>
#include "mapapi.h"
#include "sitapi.h"
#include "rscapi.h"
#include "mapcreat.h"
#include "maptype.h"

HOBJ createObjectByKeyOnePoint(HMAP hmap, const char * key) {
HOBJ hobj = mapCreateObject(hmap, IDDOUBLE2, 0);
double x = 6166598.10;
double y = 7412695.27;
if (hobj != 0) {
if (mapRegisterObjectByKey(hobj, key) != 0) {
mapAppendPointPlane(hobj, x, y, 0);
mapAppendSemantic(hobj, 5400L, "123 123 123", 11);
mapCommitObject(hobj);
} else {
qDebug() << "mapRegisterObjectByKey error";
}
} else {
qDebug() << "mapCreateObject error";
}
return hobj;
}


void paintMapObj(HMAP hmap, HOBJ hobj) {
DFRAME frame;
mapGetTotalBorder(hmap, &frame, PP_PICTURE);
RECT rect;
rect.left = frame.X1;
rect.right = frame.X2;
rect.top = frame.Y1;
rect.bottom = frame.Y2;
XIMAGEDESC desc;
memset((void*) &desc, 0, sizeof(desc));
desc.Width = rect.right - rect.left;
desc.Height = rect.bottom - rect.top;
desc.Depth = 32;
desc.CellSize = desc.Depth / 8;
desc.RowSize = desc.Width * desc.CellSize;
desc.Point = (char*) malloc(desc.Height * desc.RowSize);
memset((void*) desc.Point, 0, desc.Height * desc.RowSize);
qDebug()
<< mapPaintMapObjectToDib(hmap, desc.Point, desc.Width, desc.Height,
&rect, 0, hobj);
QImage im((const uchar*) desc.Point, desc.Width, desc.Height, desc.RowSize,
QImage::Format_RGB32);
QString fileName("/tmp/obj");
fileName += QString::number(mapGetObjectNumber(hobj));
fileName += ".png";
if (!im.save(fileName, "PNG")) {
qDebug() << "image save error";
}
free((void*) desc.Point);

}

// тест рисования флагов
int main(int argc, char ** argv) {
QString* siteName = new QString("/home/user/temp/testDrawFlagsText.sitx");
QString* rscName = new QString("/home/user/temp/operator.rsc");
CREATESITEUN cs;
memset((void*) &cs, 0, sizeof(cs));
cs.Length = sizeof(CREATESITEUN);
cs.EllipsoideKind = 9;
cs.MapType = 16;
cs.Reserve = 0;
cs.Scale = 100000;
HMAP hmap = mapCreateSiteUn((const WCHAR*) siteName->constData(),
(const WCHAR*) rscName->constData(), &cs);
if (hmap != 0) {
mapSetRealShowScale(hmap, 10000.);

HOBJ hobj = createObjectByKeyOnePoint(hmap, "009991001001");
if (hobj != 0) {
//освобождаем объект
mapFreeObject(hobj);
} else {
qDebug() << "createObjectByKeyOnePoint error";
}
mapCloseMap(hmap);
} else {
qDebug() << "mapCreateSiteUn error";
}

//переоткрываем карту
hmap = mapOpenAnyData((const WCHAR*) siteName->constData());
if (hmap != 0) {
mapSetRealShowScale(hmap, 25000.);
HOBJ hobj = mapCreateObject(hmap, IDDOUBLE2, 0);
mapReadObjectByNumber(hmap, 0, hobj, 1, 1);
paintMapObj(hmap, hobj);

//освобождаем объект
mapFreeObject(hobj);
mapCloseMap(hmap);
} else {
qDebug() << "mapOpenAnyData error";
}

}

[/CODE][URL=https://drive.google.com/open?id=1Av6j0SYBl-Uoub7GedEvPv4RgwMrbouQ]Результат для 12.6.0[/URL]
[URL=https://drive.google.com/open?id=1SBPEoRKVh5iMl8BslGXHT83ZEE3t-lQL]Результат для 12.5.0[/URL]

С уважением,
Матвеев П.В.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 12 ... 54 След.



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

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