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

KFF (Автор тем)

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

Страницы: Пред. 1 ... 8 9 10 11 12 13 14 15 16 17 18 ... 48 След.
пустой диалог создания объекта
 
Здравствуйте господа разработчики !
Открыта карта
В диалоге состава карты делаю невидимым все карты
нажимаю кнопку создания объекта получаю вот такой диалог:
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img027.JPG[/IMG]
Вопрос, это такая задумка или ошибка?
Замена кода семантики
 
Здравствуйте господа разработчики !
[u]исходные данные[/u]
Есть карта, у которой подменён классификатор (специально).
После перекодировки и сортировки, все объекты имеют системный вид и единственную совпадающую семантику номер 9.
Все остальные семантики, помечены звёздочкой как такие, которые отсутствуют в новом классификаторе
[u]требуется[/u]
заменить девятую семантику, одной из семантик которая помечена звёздочкой (у меня код 11)
обе семантики текстовые и одинакового размера.
[u]действия[/u]
на панели обработки семантик, запускаю задачу перекодировка семантик.
Исходную указываю 11 (на что задача реагирует - "нет такой семантики")
Результирующую ставлю 9
устанавливаю флаг "заменять при наличии"
запускаю......
[u]результат[/u]
в объектах которых не было 9-й семантики, появляется семантика 9 у которой значение старой 11-й
в объектах у которых была семантика - ничего не происходит

Вопрос:
что означает флаг "заменять при наличии", и как он работает ?
Обрезка семантик
 
Здравствуйте господа разработчики !
Вопрос следующего плана. Можно ли средствами ГИС Карта 2011 "обрезать" значение семантики.
Например, у меня 100 объектов с текстовой семантикой 9 = "Москва река", нужно оставить "Москва".
---------
П.С. услуги MapApi не предлагать. Не на каждый же случай писать примочки.
mapGetMapInfoEx
 
Здравствуйте господа разработчики !
Просьба проверить что возвращает функция mapGetMapInfoEx(); в поле TMAPREGISTEREX -> Length
(ядро mapacces.dll)
У меня полностью корректная и заполненная структура, а Length = 0 ???
Правильность создания временной карты
 
Здравствуйте господа разработчики !
Решил использовать технологию работы с временной картой.
Создал функцией mapCreateTempSiteEx по паспорту Map:
[QUOTE]procedure InitObject(Map: HMap; const RscPath: string);
var MR : TMAPREGISTEREX;
   LR : TListRegister;
begin
 FMap := Map;
 if FTmpSite<>0 then mapCloseMap(FTmpSite);
 FTmpSite := 0;
 if FileExists(RscPath) and (FMap<>0) then
 begin
   mapGetMapInfoEx(FMap, 1, MR, LR);
  [B]// функция InitObject , запоминает в секции Private новую временную карту[/B]
   FTmpSite := mapCreateTempSiteEx(PChar(RscPath),MR);
   FSpaceDraw.SetupMap(FTmpSite,FTmpSite,0);
 end;
end;[/QUOTE]
Карта создана, хендл имеется, объекты наносятся НО
Сразу же после создания временной карты, даю серию команд:

[QUOTE]
[B]// на вход этой функции, подаётся FTmpSite = FSite которую про инициализировали в функция InitObject (см. верхний блок)[/B]
....
FSelect  := mapCreateSiteSelectContext(FSite,[B]FSite[/B]); [B]// тут была опечатка[/B]
mapSelectLocal(FSelect, -1, 0);
mapSelectLocal(FSelect, OL_SQUARE, 1);
mapSelectSemanticAppend(FSelect, 2, '14005', 5);
FO := mapCreateSiteObject(FSite, FSite);
[B]if mapSeekSiteSelectObject(FSite, FSite, FO, FSelect, cWO_FIRST)>0 then[/B]
[/QUOTE]
Выделенная функция при первом обращении выдаёт
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img020.JPG[/IMG]
----
Размышления.
Судя по роду ошибки, создание временной карты, впрочем как и обычной пользовательской происходит без формирования файла семантик SHD
(для постоянной карты это утверждение можно проверить создав пользовательскую карту... Файл SHD изначально отсутствует, а появляется когда какой либо объект "заимеет семантику")
Не знаю как устроен механизм внутри ядра, но создание SHD файла в постоянной карте происходит адекватно, а в временной карте - с ошибкой.
Думаю, что ошибка возникает при обращении mapSeekSiteSelectObject с (mapSelectSemanticAppend) в секции ядра, который пытается открыть файл семантик и произвести поиск..
Одним словом, просьба проверить.

забыл:
Ошибка происходит в mapacces.dll и "свите библиотек". Работаю в ГИС Карте 2011.
Решение проблем в gisacces.dll не предлагать  :D
Изменено: KFF - 24.03.2014 11:47:06
Особенность mapGetHeightArray
 
Здравствуйте господа разработчики !
Просьба пояснить принцип работы функции mapGetHeightArray при передаче различных параметров HMAP
1. вариант когда HMAP - отдельно открытая пользовательская карта
2. вариант когда HMAP - пользовательская карта в составе сборки карт(открытая mapOpenSiteForMap)
-------
во втором случае функция возвращает 1 (ошибки нет) а в массив возвращает -11111.
Если второй вариант неприемлем, просьба подкорректировать результат функции
Как создать корректную матрицу высот :?:
 
Здравствуйте уважаемые разработчики !
На определённый участок местности нужно создать матрицу высот.
Первая попытка - на карте матрицы нет, на диске есть.
Открываю палитру матрицы и вижу вот такое месиво чисел:
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img016.JPG[/IMG]

Вторая попытка - то же, но палитра чёрно-белая.
----
Передёрнул палитру с текущая на стандартная - параметры пересчитались, матрица на карте отобразилась
Просьба проверить порядок формирования палитры, после выполнения задачи "Построение матрицы"
Изменено: KFF - 15.03.2014 15:26:25
IML. Перевод с метров карты в пиксели
 
Здравствуйте господа разработчики !

Пол года назад мне посоветовали формулу перевода метров в пиксели при создании пользовательских знаков.
Формула выглядит приблизительно вот так:
[CODE] if (data.ShowScale != 0)
  m2px = 1E6/data.ShowScale*context->PixelX;
 ДЛИНА_пкс = ДЛИНА_М *  m2px;
[/CODE]
Сообщение и тема [URL=http://www.gisweb.ru/forum/messages/forum2/topic5329/message35769/#message35769]ВОТ ТУТ[/URL]

Вопрос, как вклинить в формулу флажок "уточнять площадь и длину", который "меняет" длины объектов на карте в 1.5-3 раза
на широтах больших 55 градусов.
Несоотвествие длин на картах OSM
 
Здравствуйте господа разработчики !
Работаю с картой скачанной с Вашего сайта с названием "Ленинградская область" + "Карта Санкт-Петербурга" объединённые до кучи, на базе Ленинградской области.
Нанёс несколько объектов меняющих вид по метрике.
Получаю следующую картину:
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img015.jpg[/IMG]
Линейку специально замерял средствами ГИС Карты 2011, показывает нужное расстояние.
НО длина чёрной линии = 3780 метров. Информация взята с официальных источников.
Кроме того, линейка которая показывает 2 километра на этом участке явно "врёт" вместе с измерителем длины (который вызывается с правой панели по F5). Если сопоставить эту длину из зданием в левой нижней части рисунка, то получается дома размером по 500 метров.
Кажется мне что чтото явно намутили с расстояниями в ядре. Просьба проверить

П.С. будет не красиво смотреться двухкилометровая линейка на фоне 2-х километровой ВПП которая в трижды длиннее.
расшифровка писанины в функции mapSetSiteBorder
 
Здравствуйте господа разработчики !
Оговорюсь сразу, меня интересует исключительно интерфейс описания функций ядра на Паскале.
-------
Просьба пояснить писанину в функции mapSetSiteBorder
[CODE]
// Обновить размеры пользовательской карты и габариты района !
 // Если параметр dfarme равен 0; пересчитывает только
 // габариты района (mapGetPictureSize;...Width;...Height - могут
 // вернуть другие значения)
 // После вызова этой функции необходимо согласовать параметры
 // скроллинга подобно масштабированию карты
 // Данная функция необходима при редактировании карты типа Site;
 // открытой в качестве основной карты (mapCreateSite); когда
 // габариты карты меняются. Заранее могут быть заданы расширенные
 // габариты (сразу после создания или позже).
 // hMap   - идентификатор открытой основной карты
 // hSite  - идентификатор открытой пользовательской карты
 // dframe - координаты прямоугольной области района  
 // place  - система координат
 // При ошибке возвращает ноль

function mapSetSiteBorder(Map : HMap; Site : HSite;
  var Frame : TMAPDFRAME; place: integer): integer; // 27/04/01
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external sGisAcces;[/CODE]

1. Что означает "Если параметр dfarme равен 0;" ?. Я понимаю что в КБ идейных Сишников подавляющее большинство, поэтому описание на Паскале или игнорируется или вообще не совершается.
Если Вы хотите чтобы программист вклинил туда "0", просьба объявить функцию в соотвествии с описанием, а для этого нужно ввести ещё один тип PMAPDFRAME = ^TMAPDFRAME

2. Фраза "// Данная функция необходима при редактировании карты типа Site;
 // открытой в качестве основной карты (mapCreateSite);

Вопрос, зачем в функции 2 параметра [B]Map[/B] и [B]Site[/B] если работа осуществляется с автономно открытой картой

3. Подставил в функцию Map и открытую по ней Site, точнее созданную функцией mapCreateAndAppendSite.
При вызове функции с пустым параметром:
[CODE] function mapSetSiteBorder(Map : HMap; Site : HSite; Frame : PMAPDFRAME; place: integer): integer;
где
mapSetSiteBorder(FMap, FSite, nil,0);
[/CODE]
Габариты карты вообще не пересчитываются.

4. При попытке выполнить пункт 3 с автономно открытой картой вот так:
[CODE]
mapSetSiteBorder(FSite, FSite, nil,0);
[/CODE]
Вылетает сообщение об ошибке
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img013.JPG[/IMG]

-------
ИТОГ:
1. просьба привести описание и объявление функции в соответствии с тем, что она делает
2. просьба пояснить, каким образом пересчитать габариты пользовательской карты, после выполнения перемещений объектов

+уточнение. Функция проверяется внутри задачи ГИС Карта 2011. SIT открывается как автономно, так и в составе карты PanTask.FHMap
Изменено: KFF - 27.02.2014 16:51:44 (+уточнение)
Страницы: Пред. 1 ... 8 9 10 11 12 13 14 15 16 17 18 ... 48 След.



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

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