www.map-info.ru :: Просмотр темы - Область по углам окна карты
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
VAD



Зарегистрирован: 01.03.2009
Сообщения: 6
Откуда: Питер

СообщениеДобавлено: Вс Апр 05, 2009 2:44 am    Заголовок сообщения: Область по углам окна карты Добавить ответ со ссылкой на данный текст

Суть такова имеется полоса, состоящая из множества снимков. Снимки обводятся областями (прямоугольниками). То есть каждая область по контуру повторяет каждый снимок. Полоса изгибается, соответственно меняется положение снимков (соответственно и областей) на экране. Нужно вписать снимок (область) в окно карты. Сначала один, потом второй, третий и т.д. Соответственно надо, чтобы окно карты подстраивалось под конкретную область

У меня мысли такие. Есть функция ObjectGeography(), которая определяет минимальные и максимальные координаты прямоугольного покрытия выбранной области
x_min = ObjectGeography(objcopy, OBJ_GEO_MINX)
y_min = ObjectGeography(objcopy, OBJ_GEO_MINY)
x_max = ObjectGeography(objcopy, OBJ_GEO_MAXX)
y_max = ObjectGeography(objcopy, OBJ_GEO_MAXY)

И полученные значения, я хотел использовать вместо значений функции MapperInfo() которая определяет минимальную и максимальную координату карты, показанного в окне
min_x = MapperInfo(map_win_id,MAPPER_INFO_MINX)
min_y = MapperInfo(map_win_id,MAPPER_INFO_MINY)
max_x = MapperInfo(map_win_id,MAPPER_INFO_MAXX)
max_y = MapperInfo(map_win_id,MAPPER_INFO_MAXY)

Из этого ничего не вышло.... Надеюсь, что объяснил подробно. Спасибо))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vovik



Зарегистрирован: 04.05.2008
Сообщения: 57

СообщениеДобавлено: Пн Апр 06, 2009 9:26 am    Заголовок сообщения: Re: Область по углам окна карты Добавить ответ со ссылкой на данный текст

Я, как понял, снимки это растры которые, естественно зарегистрированны, которые объведены регионами. Координаты таблицы (читай растра) можно добыть так
x1 = TableInfo( TabName, TAB_INFO_MINX )
y1 = TableInfo( TabName, TAB_INFO_MINY )
x2 = TableInfo( TabName, TAB_INFO_MAXX )
y2 = TableInfo( TabName, TAB_INFO_MAXY )
далее используй Set map ....
Удачи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vovik



Зарегистрирован: 04.05.2008
Сообщения: 57

СообщениеДобавлено: Пн Апр 06, 2009 9:27 am    Заголовок сообщения: Re: Область по углам окна карты Добавить ответ со ссылкой на данный текст

Я, как понял, снимки это растры которые, естественно зарегистрированны, которые объведены регионами. Координаты таблицы (читай растра) можно добыть так
x1 = TableInfo( TabName, TAB_INFO_MINX )
y1 = TableInfo( TabName, TAB_INFO_MINY )
x2 = TableInfo( TabName, TAB_INFO_MAXX )
y2 = TableInfo( TabName, TAB_INFO_MAXY )
далее используй Set map ....
Удачи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vovik



Зарегистрирован: 04.05.2008
Сообщения: 57

СообщениеДобавлено: Пн Апр 06, 2009 9:27 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Я, как понял, снимки это растры которые, естественно зарегистрированны, которые объведены регионами. Координаты таблицы (читай растра) можно добыть так
x1 = TableInfo( TabName, TAB_INFO_MINX )
y1 = TableInfo( TabName, TAB_INFO_MINY )
x2 = TableInfo( TabName, TAB_INFO_MAXX )
y2 = TableInfo( TabName, TAB_INFO_MAXY )
далее используй Set map ....
Удачи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
spawner



Зарегистрирован: 01.04.2009
Сообщения: 77

СообщениеДобавлено: Пн Апр 06, 2009 2:06 pm    Заголовок сообщения: mapinfo Добавить ответ со ссылкой на данный текст

А mapinfo не умеет устанавливать окно карты по двум углам.
Нужно читать описание оператора Set Map.

Мне нужно было сделать чтобы выбранный объект показывался в центре окна карты, сделал коряво, не каждый объект виден полностью, но заказчика устроило, мб поможет:

MinX=ObjectGeography(O,OBJ_GEO_MINX)
MinY=ObjectGeography(O,OBJ_GEO_MINY)
MaxX=ObjectGeography(O,OBJ_GEO_MAXX)
MaxY=ObjectGeography(O,OBJ_GEO_MAXY)
'размеры объекта по Х и У
dX = MaxX-MinX
dY = MaxY-MinY
'коэффициент, показывает узкое окно или широкое
rx = WindowInfo(WinId,WIN_INFO_WIDTH)/WindowInfo(WinId,WIN_INFO_HEIGHT)
if rx<1 then
rx = 1
end if
if dX>dY then
W = dx*rx*1.2
else
W = dy*rx*1.2
end if
'настраиваем масштаб и центр окна карты
Set Map
Window WinId
Center ((MinX+MaxX)/2,(MinY+MaxY)/2)'координаты центра
Zoom W' ширина фрагмента которое будет показано в окне карты
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru