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

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

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

Страницы: 1 2 3 4 5 6 След.
Создание объекта в классификаторе "Векторный по точкам"
 
[QUOTE]Елена Кузнецова написал:
1) Можно написать программируемый знак, который будет отображаться в составе знака линии и для каждой точки считать значение и отображать.[/QUOTE]
Не понятно как считать. Время же будет не расчетный параметр, а скорее табличный.
[QUOTE]Елена Кузнецова написал:
2) Можно при создании линии в требуемых точках ставить метки - объекты[/QUOTE]
В этом случае на карту будут добавляться дополнительно энное количество объектов по количеству узлов ломаной, так?
Сейчас у меня примерно так и реализовано. Ломанная и в узлах объекты с подписью, но при большом количестве объектов карта начинает тормозить. Я вот пытаюсь как-то уйти от этого.
Создание объекта в классификаторе "Векторный по точкам"
 
Здравствуйте!

Создаю в классификаторе объект "Векторный по точкам". Использовать буду в своей программе с GisToolkitFree.

Вопрос такой, можно ли каким-то образом выводить различные надписи над отдельными частями?
Создаваемая линия символизирует маршрут движения. Точки - моменты получения координат, я хотел бы выводить тут время получения этих координат.
В подписи можно выводит значение из семантики, но оно получается одинаковое для всех точек.

Подскажите, пожалуйста, как быть?
[URL=https://photos.app.goo.gl/DFkxZdVKadW7jzB69]Ссылка на скриншот[/URL]
Изменено: Andrey Shimakovsky - 24.03.2023 15:20:05
Создание своей линии со знаком в IML
 
Понял, спасибо! Буду разбираться.
Создание своей линии со знаком в IML
 
Здравствуйте!

Вопрос про IML. Я не очень пока разобрался и прошу помощи.
Делаю маленькую библиотеку IML, которая подключается к моему классификатору My.rsc. В нем серия объектов и ломана линия нужного мне вида.
Теперь я хочу, чтобы в вершинах этой ломаной линии рисовался объект из этой серии из этого же классификатора My.rsc.
Серия объектов с одним Кодом и разными Ключами. Отображаемый вид выбирается значением семантики.

Возможно ли это вообще сделать?

Вот пока что есть:[CODE]IMLLIST ImlList =
{
IMLIDENT,
1,
{ {IML_LINE_WITH_OBJ, &ImlMyLine, "Ломаная со знаком", "Ломаная со знаком", 0, 0},
{ 0, 0, 0, 0, 0, 0}
}
};

IMLPARM ImlMyLine =
{
IMLIDENT, // Идентификатор записи 0x7EEE7EEE
3, // Число примитивов в описании
1, // Semantic Признак запроса семантики для отображения объекта
0, // Reserv1 Должен быть 0
0, // Reserv2 Должен быть 0
0, // Reserv3 Должен быть 0
{{IMG_LINE,     "Line parameters", "Параметры линии",0,0},
{IMG_SEMANTIC, "Segment width (m)", "Толщины сегмента (м)",0,0},
{IMG_PICTURE, "Sign from classificator", "Знак с параметрами из классификатора", 0, 0}
}
};[/CODE]Не уверен, что правильно заполняю IMLPARM. Просто для ломаной линии было два примитива без IMG_PICTURE.

Дальше в  функции  imlPaintImage я вызываю свою функцию для отрисовки своей ломаной: [CODE]_IMLIMP long int _IMLAPI imlPaintImage(long int type,
                               const POLYDATAEX* data,
                               const IMGDRAW * parm,
                               const IMGCONTEXT * context)
{
...
case IML_LINE_WITH_OBJ:
return DrawMyLineWithObj(data, parm, context, 0, 0);
...
}//-------------------------------

int _fastcall DrawMyLineWithObj(const POLYDATAEX* pdata, const IMGDRAW* draw,
  const IMGCONTEXT * context, int test,
  FRAME * border)
{
// В классификаторе код серии объектов 1450.
...
int code1 = 1450;
int local = 0;
int incode1 = imlGetRscObjectIncode(pdata->MapRsc, code1, local, 1);
...
// incode1 всегда равен 0, независимо от локали (0, .. ,6).

}[/CODE]
Ну и соответственно дальше я не могу ни семантику заполнить, ни знак нарисовать.
Кстати, как его рисовать я тоже пока не понимаю.

Документации по IML мало и что-то я совсем запутался.
Подскажите, как правильно это сделать.
Нелегальная копия модуля gis32acces.dll
 
Теперь все отлично. Спасибо!
Нелегальная копия модуля gis32acces.dll
 
[QUOTE]Денис Вицко написал:
Проверил на XE5 версию 14.5.3 Free. Проблем не обнаружено.

Просьба уточнить, у Вас Rad Studio 10.1 платная или бесплатная (Community Edition) лицензия?
И что именно Вы используете - Delphi или Builder?[/QUOTE]
Rad Studio 10.1 платная.
Использую Builder. Но вот, я выше написал, что провел опыт с Delphi и примером trafic1 и результат тот же.
Нелегальная копия модуля gis32acces.dll
 
Примера MapFind у меня нет.

Скомпилировал [B]traffic1 [/B]и Builder С++ и в Delphi в Win32 и Win64. Везде результат тот же.
Изменено: Andrey Shimakovsky - 20.03.2023 17:24:27
Нелегальная копия модуля gis32acces.dll
 
Поставил Rad studio 10.1 и GisToolkit free 14.5.3.0 на компьютер на котором никогда не было ни одного, ни другого.
Создал проект в который добавил TMapScreen и открываю в нем карту "..\Panorama\GisTool14Free\Example\data\moscow\moskow.sit". В среде разработки открывается без проблем. \
Запускаю откомпилированную программу и получаю ошибку "нелегальная копия...".
Нелегальная копия модуля gis32acces.dll
 
Все переставил. Полностью заново поставил систему Win10, Rad Studio 10.1  и Gis Toolkit Free 14.5.3.0. на чистый диск. И все равно после того, как я запускаю откомпилированную программу без ключа, при открытии карты вылезает ошибку, что модуль gis32acces.dll нелегален.

Я тут подумал, вот о чем -  при обновлении мне прислали exe-шник для обновления самого ключа. Может он обновился не до Free, а до обычного?

С помощью mapOpenDiagnostics() записал протокол. Прикладываю его.
Объединение объектов в кластеры и отрисовка кластеров
 
О, а может во время работы менять классификатор програмно? Пришел 3-й "человек" - создаю в классификаторе новый тип объекта и новый кластер. Тогда все будет работать.
Или это дурацкая идея программно менять классификатор?  
Страницы: 1 2 3 4 5 6 След.



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

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