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

KFF (Автор тем)

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

Страницы: Пред. 1 ... 9 10 11 12 13 14 15 16 17 18 19 ... 48 След.
Созданием горизонталей
 
Здравствуйте господа разработчики !
Вопрос, если и способ используя библиотеки ядра ГИС Карты 2011 (не задачи) построить горизонтали по матрице высот на указанный район (ограниченный по рамке) :?:
Непонятная работа диалога выбор объекта
 
Здравствуйте господа разработчики !

Я не знал как назвать тему и классифицировать баг, просто поясню что я делал и покажу что получил
1. Выберите на карте объект
2. перейдите на вкладку "Метрика" и измените любую координату не сохраняя изменения
3. кликните на другой объект карты => появляется сообщение о сохранении метрики. Не реагируйте на него
... продолжайте кликать по объектам карты....
Каждый новый клик генерирует новое сообщение о сохранении метрики.

Суть сообщения не в зацикливании диалога, а в том, что с этого состояние выход один - через сбой работы ГИС Карты
[img]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img012.JPG[/img]
копия объекта
 
Здравствуйте господа разработчики !
Нужно скопировать объект с одной карты и вставить на другую.
Использую следующий код:
[CODE]
 TMP    := mapOpenMap(PChar(Template), GENERIC_READ); // БАЗОВАЯ КАРТА
 inObj  := mapCreateSiteObject(TMP,TMP);              // исходный объект
 Sel    := mapCreateSiteSelectContext(TMP,TMP);       // исходный контекст
 i:=0;
 while mapSeekSiteSelectObject(tmp, tmp, inObj, Sel, 4*byte(i>0))<>0 do  // перебираем всё на ИСХОДНОЙ КАРТЕ
 begin
   outObj  := mapCreateSiteObject(Map,resultSite); // создаём объект на РЕЗУЛЬТИУЮЩЕЙ КАРТЕ
   mapCopyObjectAsNew(outObj, inObj);               // копируем
   mapCommitObject(outObj);                        // сохраняем на новой карте
   mapFreeObject(outObj);
   inc(i);
 end;
 // удаляем всё лишее
 mapDeleteSelectContext(Sel);
 mapCloseMap(TMP);
 mapFreeObject(iObj);
end;[/CODE]

На результирующей карте 0 объектов.
вместо mapCopyObjectAsNew пробовал mapReadCopyObject - результат 0.
Другие функции содержат Map а они у меня разные.

Вопрос, какая функция корректно копирует объект с пользовательской карты подключенной к МАP1
на пользовательскую карту подключенную к МАР2  :?:
непонятная подмена эллипсоида при создании SIT
 
Здравствуйте господа разработчики !
Имеется обзорно-географическая карта в системе коодринат ПЗ90.02
ПО данной карте создаю пользовательскую карту по всем канонам 11-й версии.
Код:

[code]
FullPath:=Trim(ExtractFilePath(mapGetMapPath(FMap)))+'\'+SiteName+'.sit';
 // подготовка карты
 FillChar(MR, Sizeof(TMAPREGISTEREX),0);
 FillChar(SH, Sizeof(TLISTREGISTER),0);

 FillChar(FSiteEx, Sizeof(TCREATESITEEX),0);
 FillChar(FEllips, Sizeof(TELLIPSOIDPARAM),0);
 FillChar(FDatum,  Sizeof(TDATUMPARAM),0);
// взял параметры с основной карты DEBUG:
//(Length:0; Name:('С', 'и', 'с', 'т', 'е', 'м', 'а', #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, //#0, #0, #0, #0); Scale:25000; ProjectionFlag:1; EllipsoideKind:10; HeightSystem:1; MaterialProjection:17; CoordinateSystem:9; PlaneUnit:0; HeightUnit:0; FrameKind:2; MapType:15; DeviceCapability:1; DataProjection:1; OrderViewSheetFlag:0; FlagRealPlace:1; ZoneNumber:0; FirstMainParallel:0; SecondMainParallel:0; AxisMeridian:1.8221237391; MainPointParallel:0.90989831671; PoleLatitude:0; PoleLongitude:0; FalseEasting:500000; FalseNorthing:0; ScaleFactor:1; TurnAngle:0; Reserv2:(0, 0, 0, 0))

 mapGetSiteInfoEx(FMap, FMap, MR, SH, 1);    
// взял датум DEBUG: (DX:-0.36; DY:0.08; DZ:0.18; RX:0; RY:0; RZ:0; M:0; Count:7; Reserve:0)
 mapGetSiteDatum(FMap, FMap, FDatum);      
// взял параметры эллипсоида DEBUG: (SemiMajorAxis:6378136; InverseFlattening:0.0033528037431)
 mapGetSiteEllipsoidParameters(FMap, FMap, FEllips);
 with FSiteEx do
 begin
   Length  := Sizeof(TCREATESITEEX);
   MapType := MR.MapType;
   MaterialProjection := MR.MaterialProjection;
   EllipsoideKind := MR.EllipsoideKind;         // переношу эллипсоид с карты (MR.EllipsoideKind:10;)
   Scale  :=  MR.Scale;
   FirstMainParallel := MR.FirstMainParallel;   // Первая главная параллель
   SecondMainParallel := MR.SecondMainParallel; // Вторая главная параллель
   AxisMeridian := MR.AxisMeridian;             // Осевой меридиан
   MainPointParallel := MR.MainPointParallel;   // Параллель главной точки
   PoleLatitude := MR.PoleLatitude;             // Широта полюса проекции
   PoleLongitude := MR.PoleLongitude;           // Долгота полюса проекции
 end;
 //  создание карты
 StrPLCopy(FSiteEx.MapName, Trim(SiteName), 32);
 FillChar(buff[0], 256, #0);
 mapGetRscFileName(FRsc, @buff[0], 256);
 result:= mapCreateSiteEx(PChar(FullPath),buff, FSiteEx);
 if FDatum.count<>0 then mapSetSiteDatum(result,result,FDatum); //установил датум
 mapSetSiteEllipsoidParameters(result,result,FEllips);          // установил эллипосид
 mapSaveSite(result,result,1); // сохранился
 mapCloseData(result); // закрылсч
[/code]
где:
FMap - исходная карта "Система"
FRsc - классфикатор по которому создаётся карта

-------------
что получил:

ПАСПОРТ ИСХОДНОЙ КАРТЫ:
[img]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img009.JPG[/img]

ПАСПОРТ РЕЗУЛЬТИРУЮЩЕЙ КАРТЫ :
[img]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img010.JPG[/img]

ВОПРОС: почему изменился эллипосид :?:
Управление поведением "Акции"
 
Здравствуйте господа разработчики!

В задаче написанной по технологии PanTask, при нажатии кнопки создаю "Акцию".
Вопрос, как сделать так, чтобы "акция" не реагировала на стандартные обработчики ГИС Карты до момента, когда будет такая необходимость.
----
Поясняю что нужно.
Нажимаю кнопку - создаётся форма с акцией. Пока я в форме, обработчики выбора объекта, создания выпадающего меня по клику мыши, реакция на клик карты и так далее не должен никак "перерыватся" функциями акции
Если я нажимаю кнопку на форме, акция должна работатьь в штатном режиме (выбирать объект, обрабатывать клики мышки, клавиатуры и так далее)

По сути нужна управляемая акция.


====================
Задача упрощается...
Вопрос, как управлять вот этим параметром
[CODE]function TInputAction.GetSelectObjectType: integer;
begin
 result := 0;
end;[/CODE]

Вызывается один раз при создании акции. Если вернут единицу выбор не сопровождается диалогом, если ноль сопровождается.
Нужно во время работы акции сначала "светить" диалог, а если нажата кнопка выбора объекта на карте - гасить его.
По хорошему нужно сгененрировать запрос ГИС Карты на вызов функции utsGetSelectObjectType, как это сделать  :?:
Изменено: KFF - 14.02.2014 21:38:42
Access violation при восстановлении объекта
 
Здравствуйте господа разработчики !

Просьба проверить следующую последовательность операций на ГИС Карте 2011, скачанной вчера с сайте
- создание 2-х объектов
- объединение их в группу в которой 1-й главный, 2-й подчинённый
- удаление главного объекта (которое приведёт к удалению подчинённого)
- попытка отмены операции удаления Основной объект восстанавливается, подчинённый нет +
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img008.JPG[/IMG]
mapacces.dll+mapOpenSiteForMap
 
Здравствуйте господа разработчики !
Скачал пример с темы [URL=http://gisweb.ru/forum/forum2/topic5850/messages/]mapSelectSeekAreaFrame [/URL] выложенный на работе.
В дома у меня нет GTK и компонентов, приходится пользоваться библиотекой mapacces.dll из ГИС Карта 2011
Запуск примера начинается с открытия карты
[CODE]map:= mapOpenMap('c:\_test_\MAP\Радионавигационная карта (класс G).map');[/CODE]
и добавления к ней Сит-а
[CODE]SpcSite:=mapOpenSiteForMap(map,'c:\_test_\MAP\ЗОНЫ.SIT',0); [/CODE]
Карта открывается корректно, хендл создаётся, ключ есть установлен и ГИС Карта 2011 нормально работает
Подключение СИТ-а к карте, заканчивается сообщением
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img005.JPG[/IMG]
Вопрос, какой ключ нужен ядру  :?:
mapSelectSeekAreaFrame
 
Здравствуйте господа разработчики !

В сообщение вкладываю исходные тексты простейшей функции и рабочей карты (+ЛОГИ).  ([URL=http://delphi-gis.ucoz.ua/Download/Shared/Code/NAV_TEST.ZIP]СКАЧАТЬ[/URL])
Просьба пояснить почему число объектов найденных функцией mapSelectSeekAreaFrame  бесконечно (до конца не дождался) ?
Вопрос, когда будет выполнена ревизия всех топологичесикх функций ?
Неужели в КБ с математикой и геометрией нет дружбы?

П.С на карте около полутора тысяч объектов всего.
Сбой при удалении объекта
 
Здравствуйте господа разработчики !

Что не так в этой карте ?[URL=http://delphi-gis.ucoz.ua/Images/ForForum/2014/moscow.zip]СКАЧАТЬ[/URL]
Попытка удаления объекта, заканчивается фатальной ошибкой mapacces.dll
----------
о карте:
Карта была создана по паспорту другого SIT. После создания, на карту скопированы объекты c карты Region, входящей в комплект ГИС Карты 2011
После копирования, был изменён классификатор в диалоге "Паспорт карты", выполнена сортировка с удалением, и перекодировка объектов с системного на тие, которые на карте
После этого, пытался удалить Калининградскую область - вылетает фатальная ошибка

П.С. видимо формат sitx сыроват для запуска в промышленное использование  :(
Сброс выделения
 
Здравствуйте господа разработчики !

Как сбросить выделенные объекты в ГИС Карте с задачи Pan(Map)Task
Сброс подразумевает отключение подсветки всех объектов и главное!! очистку внутреннего TotalSelect от мусора.

Сбрасываю вот этим:

[code]// Установить признак выделения объектов по обобщенным
// условиям поиска
// hMap - идентификатор открытой карты;
// flag = 0 - отключить выделение объектов на карте;
// иначе - выделять объекты по условиям поиска при перерисовке
// Никакого действия кроме сохранения значения не производит
// Применяется для связи между различными модулями

procedure mapSetTotalSelectFlag(Map : HMap; flag : integer);
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external 'mapacces.dll';[/code]
и перерисовываю карту
Объекты не подсвечиваются, но при попытке выполнить её >> mapTotalSeekObject после процесса "сброса"
ядром, находится объект
Страницы: Пред. 1 ... 9 10 11 12 13 14 15 16 17 18 19 ... 48 След.



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

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