На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты
АРХИВ ФОРУМА...
здесь вы можете ознакомиться с материалами форума до 08.06.2008

Александр (автор тем)

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти  
Форум » Пользователи » Александр
Выбрать дату в календаре ...  Выбрать дату в календаре

Страницы: 1
Изменение соотношения сторон карты
Добрый день. Имеется карта Мира соотношением сторон 5х6. Хотелось бы её "исказить" например в соотношение 2х3 или 1х2. Возможно ли это сделать средствами Вашей ГИС или каким-либо иным методом? smile:?:
Рассчёт габаритов набора объектов
Добрый день.
При работе с Вашими компонентами в среде С++Builder 6, у меня возникло некоторое затруднение, а именно:
Мне необходимо определить габариты района пользовательской карты (sit), на котором нанесён набор из всего множества пользовательских объектов. Для выполнения этой задачи, у меня есть массив идентификаторов (HOBJ) пользовательских объектов из набора. Например:
HOBJ UserObjs[10];

В описании Вашего интерфейса есть функция, вызов которой позволит определить необходимый регион:
// Определить общие габариты объектов, соответствующие заданным
// условиям
// hMap - идентификатор открытой карты,
// border - координаты прямоугольного участка под объектом.
// Габариты рассчитываются в метрах
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetTotalSeekBorder(HMAP hMap, DFRAME * border);

Как я понял, для работы этой функции, необходимо:
1. Создать контекст поиска объектов.
Например, так:
_MAPIMP HSELECT _MAPAPI mapCreateMapSelectContext(HMAP hmap);
2. Поместить в созданный контекст условия поиска и отбора объектов.
Таким образом:
// Установить условия поиска объекта по имени листа карты
// и номеру объекта в карте.
// hMap - идентификатор открытой карты,
// listname - имя листа карты,
// key - уникальный номер объекта в карте.
// При ошибке возвращает ноль.

_MAPIMP long int _MAPAPI mapSelectSeekSample(HMAP hMap,const char * listname,
long int key);
где listname будет означать имя моей пользовательской карты SiteName (в ней же один лист), а key будет меняться в цикле по элементам массива UserObjs.
3. Что делать далее – тёмный лес и, честно говоря, я запутался: создавать новый пустой объект, в него подавать условия поиска и для него рассчитывать габариты? Или сразу рассчитывать габариты?

Прошу Вас прояснить данную ситуацию…
Программное создание объекта в классификаторе
Доброго времени суток.
Хочу программным путём добавлять новые объекты в имеющийся классификатор. Объект создаю ф-ией mapAppendRscObject, на выходе из которой получаю порядковый номер объекта. Далее хочу задать вид объекта таким образом:

TIMGDOT tid ;
tid.Color = clRed; // Цвет линии
tid.Thick = 5; // Толщинa
tid.Dash = 3; // Длина штpиха
tid.Blank = 6; // Длина пpобела
TPAINTPARM tpp ;
tpp.Image = IMG_DOT;
tpp.Parm = (char*)&tid;
tpp.Mode = R2_COPYPEN;
NumObj = mapSetRscObjectImage(hRsc,NumObj,sizeof(TIMGDOT),IMG_DOT,(char*)&tid);

и получаю вид объекта в классификаторе - прерывистая красная линия с параметрами толщина, длинна штриха и пробела равными 0.
Пожалуйста, объясните где я ошибаюсь???

ЗЫ: Код в С++ Builder 6
Изменено: Александр - 01.09.2009 17:19:53
Страницы: 1


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