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

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

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



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

СообщениеДобавлено: Пт Окт 01, 2010 6:42 am    Заголовок сообщения: Установка проекции по умолчанию Добавить ответ со ссылкой на данный текст

Привет всем.

Не могу побороть такой момент.
В МИ по умолчанию стоит проекция Долгота/Широта. Я хочу установить проекцию как в окне.
Если я делаю команду в МИ из окна MapBasic - Set CoordSys Window FrontWindow(), то все работает прекрасно и проекция по умолчанию меняется.
А вот из своего приложения я эту проекцию поменять не могу. Что только не пробовал:
Set CoordSys Window FrontWindow()
Run Command "Set CoordSys Window FrontWindow()"
из своей dll через OLE оба верхних варианта
и даже пробовал сохранять команды в рабочий набор и открывать его через Run Application.

Итог - меняет только в моем сеансе программы.
А как поменять программно именно глобальную проекцию в самом МИ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
reasonat



Зарегистрирован: 01.07.2009
Сообщения: 224
Откуда: Екатеринбург

СообщениеДобавлено: Пт Окт 01, 2010 10:51 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

поменяйте программно в файле %$APPDATA%\MapInfo\MapInfo\MAPINFOW.PRF строки
CoordSys Earth Projection 1, 0
на строки
CoordSys NonEarth Units "m" Bounds (0, 0) (20000000, 20000000)
bounds вставляйте ваши
только количество заменяемых символов в файле, я так понимаю, должно совпадать с количеством вставляемых, иначе другие настройки собьются.
Или скажите мне, что это за формат файла, чем его редактировать
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_Y



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

СообщениеДобавлено: Пт Окт 01, 2010 11:02 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

2 reasonat
я спрашиваю про программную реализацию
руками я могу и в окне MapBasic команду ввести
этот файл МИ грузит в диалоге выбора проекции, а мне нужно в процессе работы это значение менять


Последний раз редактировалось: Alex_Y (Пт Окт 01, 2010 11:11 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Alex_Y



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

СообщениеДобавлено: Пт Окт 01, 2010 11:08 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

2 reasonat
наверное, имелся ввиду файл mapinfow.prj, т.к. у prf вообще бинарный формат?
то это не поможет, это выбор проекции карты, на проекцию по умолчанию такое изменение не повлияет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
reasonat



Зарегистрирован: 01.07.2009
Сообщения: 224
Откуда: Екатеринбург

СообщениеДобавлено: Пт Окт 01, 2010 11:11 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

нет, именно PRF и именно в персональных Application Data. Да, бинарный.
В процессе он не прочитается. Только при загрузке MI.
Если отловите события по выбору кнопок в диалогах MI, вперед Smile
А через мапбейсик эти настройки не правятся.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_Y



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

СообщениеДобавлено: Пт Окт 01, 2010 11:14 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

проверил, при вводе команды
set coordsys window Frontwindow()
значение этого файла не меняется, так что, увы, этот вариант тоже не проходит Sad

да, похоже что никак Twisted Evil
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
reasonat



Зарегистрирован: 01.07.2009
Сообщения: 224
Откуда: Екатеринбург

СообщениеДобавлено: Пт Окт 01, 2010 11:28 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

проверьте при выборе настроек карты в меню Настройки
а у вас какая версия?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_Y



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

СообщениеДобавлено: Пт Окт 01, 2010 11:34 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

>проверьте при выборе настроек карты в меню Настройки
это тоже не поможет, в настройках ставятся значения по умолчанию при запуске МИ

>а у вас какая версия?
8,5

>Если отловите события по выбору кнопок в диалогах MI, вперед
это как раз решаемо, не мапбейсиком конечно, и не сходу, но решаемо
только толку от этого не будет, мне именно программно менять надо

А именно, пишу диалог (точнее написал и походу зря), который бы менял это значение, а также значения площадей и расстояний.
Нужно для того, чтобы при использовании в команде Обновить колонку операторов типа CentroidX, значения вставлялись из нужной проекции. А они используют значение по умолчанию. Вот. :)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
reasonat



Зарегистрирован: 01.07.2009
Сообщения: 224
Откуда: Екатеринбург

СообщениеДобавлено: Пт Окт 01, 2010 11:45 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

если программно задать в программе, то на время работы программы set coordsys поможет. Разве что следить, чтоб другие утилиты или пользователь не поменяли проекцию под себя. А если навсегда в MI проекцию по-умолчанию поменять, то это только через файл правил
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_Y



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

СообщениеДобавлено: Пт Окт 01, 2010 12:47 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

это помогает только локально в программе
если в программе я сделаю запрос Update tab Set Col1 = CentroidX(obj), то в нем это сработает и координата получится правильная
если я сделаю тот же запрос в окне MapBasic или командой Обновить колонку, то берется проекция по умолчанию, вот в чем проблема.
мне не надо ее менять навсегда, мне нужно установить свою из программы, глобально, для всех команд МИ а не только для своих
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Alex_Y



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

СообщениеДобавлено: Пн Окт 04, 2010 7:09 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

В общем, через задний проход, но таки побелил я ее.

Всем спасибо, тема закрыта.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

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


Top.Mail.Ru