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

KFF (Автор тем)

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

Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 48 След.
Программное создание паспорта карты
 
Здравствуйте уважаемые разработчики !
В ядре имеется функция :
[code]// --------------------------------------------------------------
// Создание пользовательской карты
// mapname  - указатель на строку длиной 260 символов,
//            содержащую имя карты (файла паспорта)
//            После вызова функции значение строки может измениться
// rscname  - имя файла классификатора (Rsc)
// areaname - имя района
// parm     - структура параметров для диалога (см. maptype.h)
// При ошибке или отказе от ввода возвращает ноль
// --------------------------------------------------------------
 function MapPaspSitCreate(MapName, rscname, areamane : PChar;
  var Parm : TTASKPARM) : integer; {$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF};
 external 'mappasp.dll';[/code]
[S]Вопрос, как заставить диалог отображаться в русском виде.
Подсунул в Parm->Language значение 1 и значение 2 - диалог английский. [/S]
Исчерпан ! В симбиозе с ГИС Картой 2011 работает, при вызове с отдельного приложения - НЕТ

+добавил
Передаю в функцию параметры MapName, rscname. Причём каждый из них [B]array[0..255] of char[/B]
Диалог сработал корректно (на английском) после чего получаю
MapName - новую карту которую я выбрал в диалоге
rscname - старый классификатор, который я подавал на вход функции, хотя я его внутри диалога изменил

ВОПРОС2: как получить тот классифкатор, который я выбрал в форме ?

--------------
[I]Андрей Владиславович, если Вы будете отвечать, то уточняю, что тема касается исключительно ядра ГИС Карта 2011
в котором диалоги отличаются от ГТК как по наполнению, так и по расположению в библиотеке.
Как вызываются аналогичные диалоги в ГТК - я знаю.[/I]
Изменено: KFF - 22.06.2014 17:50:15
Динамическое перемещение объекта
 
Здравствуйте господа разработчики !
Имеется система динамического отображение воздушной обстановки на конкретном SIT.
Производительность и время "тика" на выборку обратно пропорционально флагам
mapSetExclusiveAccess(1); и mapLogAccess(карта,сит,0);
Вопрос:
Как сохранить производительность при условии, что пользовательская карта автономна для программы мониторинга, а фоновая (топографическая) карта общедоступна для чтения/записи
Простыми словами:
Пока набор карт вместе с СИТ-ом обстановки работал внутри одного приложения, всё было отлично. Средний "тик" на кадр обьстановки составлял от 150-400 милисекунд
Как только карту обстановки, подключили в состав другой карты (по чтению), средний тик увеличился до 1500-2500 милисекунды
TMapMiniMap
 
Здравствуйте господа разработчики !
Проверял ли кто-то работу компонента TMapMiniMap во всей истории его существования  :?:

1. По нажатию кнопки запускаю код
[CODE]procedure TForm1.Button1Click(Sender: TObject);
begin
 if (MapMiniMap1.MapScreen.MapHandle<>0) then
   MapMiniMap1.Execute;
end;
[/CODE]
где   MapMiniMap1.MapScreen ==>  property MapScreen : TMapScreen read GetMapScreen;    // Карта, которая становится основной
в результате получаю
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img045.png[/IMG]

2. Запускаю карту без проверки
[QUOTE]procedure TForm1.Button1Click(Sender: TObject);
begin
[S] if (MapMiniMap1.MapScreen.MapHandle<>0) then[/S]
   MapMiniMap1.Execute;
end;[/QUOTE]
В исходном виде у меня карта с обстановкой, в Мини - одна подложка.
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img046.png[/IMG]
пользовательский объект
 
Здравствуйте господа разработчики  !
К сообщению прикрепил классификатор и библиотеку IML
Классификатор создаю с нуля. Последний объект - серия маршрут односторонний и двухсторонний.
Вопрос, почему вид объекта в списке объектов не соответствует настроенному.
Вопрос 2, почему если после этих объектов создать любой объект в классификаторе, серия становится корректной?

Получается корректность объекта зависит от его положения  в классификаторе  :?:
консультация по RSC
 
Здравствуйте господа разработчики !
Стоит задача отображать одну и ту же карту с разными классификатором. Точнее с разным видом.
Основное требование - быстрое переключение с карты на карту.
Состав:
- подложка Украины 2 км (около 150 тыс. объектов)
- специальная нагрузка от 3-5 тыс объектов на карте
- рабочая карта (как правило пустая)
---
На данный момент существует 2 метода смены вида посредством подмены классификатора при условии, что оба классификатора полностью идентичны по составу объектов, семантик и серий (копия) но с разным видом объектов.
1. Непосредственная подмена классификатора в паспорте карты
2. Смена общего пути к классификатор
Первый способ подразумевает выполнение сортировки, которая усложняет выполнения одного из условий интерактивности переключения
Второй способ не подразумевает ничего, выполняет перекодировку объектов НО
при открытии карты, некоторые объекты отображаются не с теми кодами с которыми зарегистрированы на карте.
Вопрос: как избавится ?
mapRotateObject проблема 2
 
Здравствуйте господа разработчики !
Тема конечно не про саму mapRotateObject, а про принцип создания и обработки объектов функциями ядра.
1. почему я могу создать объект, у которого метрика основного контура не имеет ни одной точки а
подобъекты существуют:
[code]obj:= mapCreateSiteObject...
mapRegisterObject(obj)
mapCreateSubject(obj)
mapappendPointPlane(Obj,X,Y,1)
=> передача на вход mapRotateObject [/code]
2. почему я могу создать объект с подобъектами не наполненными метрикой
[code]obj:= mapCreateSiteObject...
mapRegisterObject(obj)
mapАppendPointPlane(Obj,X,Y,0)
mapCreateSubject(obj)
=> передача на вход mapRotateObject [/code]
3. почему при попадании таких объектов "мутантов" функция  mapRotateObject даёт EAV,
кто должен контролировать метрику корректного объекта попадающего на вход внутри функции?

---
теперь опишу последовательность моих действий.
Создаю основной объект используя сложный алгоритм. В результате у меня массив координат основного контура
По массиву координат, создаю объект и пропускаю на "работающую" функцию с этой темы http://gisweb.ru/forum/forum14/topic6352/messages/?PAGEN_1=1 в результате, метрика не формируется и массив не заполняется
При создании объекта на карте, пропускаются оба массива для получания вырезки (каёмки) в которой основной объект - внешний контур, подобъект внутренний. На выходе получается ситуация 1. Основного контура нет(потому что функция его не построила) а дополнительный внутренний контур есть (подобъект создаётся и корректно запоняется)
Ситуация 2 возникает при нанесение основного объекта с указанием границы зоны. Оператор установил галочку и в основной объект должен добавится контур (буффера) как подобъект. Но в связи с тем, что функция по которой отвечал Андрей Борзов, сработала "правильно" см сообщение http://gisweb.ru/forum/forum14/topic6352/messages/?PAGEN_1=2 метрики буфера нет и созданный mapCreateSubject подобъект не имеет метрики.
Я конечно поставил кучу проверок НО, будет тяжело пояснить пользователю, почему при выставленном флаге "наносить буфер" он не наносится функциям... Хотя, при использовании построения буфера в правой панели (Shift-F5)буфер строится корректно.
Изменено: KFF - 11.06.2014 13:12:25
mapDeleteLoop
 
[CODE] // Удалить петли у объекта
// При ошибке возвращает ноль    // 08/02/06

function  mapDeleteLoop(Obj : HObj; precision : double) : integer;
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external sGisAcces;[/CODE]
Вопрос знатокам, что такое [B]precision[/B] ?
mapRotateObject
 
Здравствуйте господа разработчики !
Просьба "вклинить" внутрь функции mapRotateObject проверку параметра [B]"var angle : double"[/B]
Вариант:

[CODE]function NormalizeAngle(Value : double; Method : TAngleNoramlization) : double;
var N : double;
begin
 N := 180*Abs(Value)/pi;
 N := Sign(Value)*(N-Trunc(N/360)*360);
 case Method of
  na360 : case Sign(Value) of // нормализуем от 0..360
           -1: result := 360+N;
            1: result := N;
          end;
naSign180: if Abs(N)>180 then // нормализуем от -180..180
           case Sign(N) of
            1: result := -(N-360);
           -1: result := 360+N;
           end;
 end;
 N := pi*Abs(Value)/180;
end;[/CODE]
В открытом доступе функция встречается с таким наименованием
[CODE]double __fastcall adjlon(double * angle)[/CODE]
Редактирование 3d вида объекта
 
Здравствуйте !
Работаю с классификатором и 3d библиотекой на флеш накопителе.
Библиотека размером чуть более 20 МБ. Флеш накопитель средней скорости обмена (на USB1.1)
Попытка сохранения изменений в шаблоне постоянно завершается сильным торможением системы
Опытным путём вычислено, что при попытке всяких изменений файл p3d (например, присвоение одного из видов конкретному объекту) постоянно переписывается.
Вопрос, что мешает держать промежуточный результат работы в памяти а записывать конечный.
А если человек захочет отменить изменения ?
Изменено: KFF - 08.06.2014 15:50:39 (уточнение)
попытка назначить 3d вид
 
Здравствуйте !
Прошу пояснить как подклбчить к объекту дальний вид, отличающийся от ближнего и среденего.
Показываю на виде как делаю http://www.youtube.com/watch?v=wudr61SzIO4
Почемуто, за несколько попыток не удалось его подключить. + слетают уже подклбченный виды.
Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 48 След.



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

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