Спасибо огромное, если еще возникнут вопросы по масштабу, спрошу
Насчет "Ты", я только за!)
MapBasic и все что с ним связаноМожет я не один такой?!
Автор Jismo, 24.03.2009, 11:10
#123
Отправлено 13.07.2009, 20:18:12
При загрузке карты я устанавливаю еденицы измерения расстояния в километры вот так:
Exec("Set Map Distance Units \"km\"");
Но MapInfo продолжает передовать мне координаты в мм (глупо звучит, но смысл в том, что расстояния между точками я получаю от MapInfo в мм).
Мне нужно нарисовать эллепс с радиусом 10км.
Когда я рисую эллепс так:
Exec("Create Ellipse Into Variable o_Ellipse ({0}, {1}) ({2}, {3})", X - R, Y - R, X + R, Y + R);
Он получается радиуса 10мм... Как это обойти?
Exec("Set Map Distance Units \"km\"");
Но MapInfo продолжает передовать мне координаты в мм (глупо звучит, но смысл в том, что расстояния между точками я получаю от MapInfo в мм).
Мне нужно нарисовать эллепс с радиусом 10км.
Когда я рисую эллепс так:
Exec("Create Ellipse Into Variable o_Ellipse ({0}, {1}) ({2}, {3})", X - R, Y - R, X + R, Y + R);
Он получается радиуса 10мм... Как это обойти?
#124
Отправлено 14.07.2009, 10:13:41
Тебе нужно делать проверку системы координат, я так понимаю, что тебе нужна декартова система координат(плоская):
ЗЫ: МапИнфо по умолчанию использует систему координат Долгота/Широта
If MapperInfo(FrontWindow(), MAPPER_INFO_COORDSYS_CLAUSE) <> "CoordSys NonEarth Units ""m""" Then Note "Система координат не ""План схема(метры)""" Exit Sub End IfВместо внутренностей блока If можешь там установить плоскую систему координат. а потом уже можешь устанавливать единицы измерения. Попробуй так должно получиться.
ЗЫ: МапИнфо по умолчанию использует систему координат Долгота/Широта
#128
Отправлено 15.07.2009, 17:08:44
Предлагаем Вам пройти курс повышения квалификации:
«Программирование PLC на языках стандарта МЭК 61131-3»
Цель курса:
Курс предназначен для специалистов в области автоматизации технологических процессов и обеспечивает необходимый уровень знаний для практического программирования PLC различных фирм.
Содержание
Знакомство со средой программирования CoDeSys.
Конфигурация PLC.
Глобальные и конфигурационные переменные.
Операторы и функции (операторы арифметические, цикла, сдвига, выборки, сравнения, вызова, математические функции и т.д.).
Стандартные библиотеки (строковые функции, счетчики, таймеры, детекторы импульсов, регуляторы, генераторы сигналов и т.д.).
Обзор языков программирования МЭК 61131-3 (список инструкций, модификаторы и операторы, структурированный текст, язык последовательных функциональных схем, язык функциональных блоковых диаграмм, непрерывные функциональные схемы, язык релейных диаграмм).
По результатам обучения выдается сертификат
Продолжительность/Стоимость
5 дней (40 часов) / 52 000 тенге на одного участника (корпоративно предполагаются скидки!)
г.Алматы
С уважением,
Директор Учебного Центра «СТИМУЛ»
Радмила Ермоленко
Кон: +7 727 328 86 53
Моб: +7 701 218 50 36
+7 777 012 66 60
e-mail: y.radmila@mail.ru
«Программирование PLC на языках стандарта МЭК 61131-3»
Цель курса:
Курс предназначен для специалистов в области автоматизации технологических процессов и обеспечивает необходимый уровень знаний для практического программирования PLC различных фирм.
Содержание
Знакомство со средой программирования CoDeSys.
Конфигурация PLC.
Глобальные и конфигурационные переменные.
Операторы и функции (операторы арифметические, цикла, сдвига, выборки, сравнения, вызова, математические функции и т.д.).
Стандартные библиотеки (строковые функции, счетчики, таймеры, детекторы импульсов, регуляторы, генераторы сигналов и т.д.).
Обзор языков программирования МЭК 61131-3 (список инструкций, модификаторы и операторы, структурированный текст, язык последовательных функциональных схем, язык функциональных блоковых диаграмм, непрерывные функциональные схемы, язык релейных диаграмм).
По результатам обучения выдается сертификат
Продолжительность/Стоимость
5 дней (40 часов) / 52 000 тенге на одного участника (корпоративно предполагаются скидки!)
г.Алматы
С уважением,
Директор Учебного Центра «СТИМУЛ»
Радмила Ермоленко
Кон: +7 727 328 86 53
Моб: +7 701 218 50 36
+7 777 012 66 60
e-mail: y.radmila@mail.ru
#129
Отправлено 15.07.2009, 17:25:33
Всплыла еще одна проблема. Устанавливаю начальные значения так:
Set Map CoordSys Nonearth Units "km"
Set CoordSys Layout Units "km"
Set Map Distance Units "km"
Set Map XY Units "km"
Set Distance Units "km"
В тестовой карте работает отлично - по клику могу получить любые координаты. Зато при загрузке другой карты координаты всегда возвращаются как 17.64 и -17.64 куда бы я не кликнул...
Отличие карт в том, что в тестовой есть workspace и изначально СК nonEarth, а в той, что не работает, много таблиц (я загружаю одну) и СК Earth 1,0
В чем может быть проблема?(
Set Map CoordSys Nonearth Units "km"
Set CoordSys Layout Units "km"
Set Map Distance Units "km"
Set Map XY Units "km"
Set Distance Units "km"
В тестовой карте работает отлично - по клику могу получить любые координаты. Зато при загрузке другой карты координаты всегда возвращаются как 17.64 и -17.64 куда бы я не кликнул...
Отличие карт в том, что в тестовой есть workspace и изначально СК nonEarth, а в той, что не работает, много таблиц (я загружаю одну) и СК Earth 1,0
В чем может быть проблема?(
#130
Отправлено 15.07.2009, 17:36:46
Попробуй в тестовой карте изначально поставить СК Earth 1, 0.
Если ошибка будет таже то тогда тебе надо будет искать проблему именно в СК(я предполагаю что у тебя не устанавливается СК или же она сбрасывается при открытии новой карты), так как ты работаешь с плоской системой координат то и координаты у тебя линейные, а в сферической СК уже координаты не линейные.
Если ошибка будет таже то тогда тебе надо будет искать проблему именно в СК(я предполагаю что у тебя не устанавливается СК или же она сбрасывается при открытии новой карты), так как ты работаешь с плоской системой координат то и координаты у тебя линейные, а в сферической СК уже координаты не линейные.
#131
Отправлено 15.07.2009, 17:41:45
2Радмила Ермоленко
Проостите, но тема про MapBasic, можете прояснить в чем суть вашей рекламы? Или же Ваш курс "Программирование PLC на языках стандарта МЭК 61131-3" как-то может помоч людям разобраться в программировании для MapInfo??? Если нет, то пожалуйста рекламируйте в других ветках. Если да, то ждем разъяснений.
Проостите, но тема про MapBasic, можете прояснить в чем суть вашей рекламы? Или же Ваш курс "Программирование PLC на языках стандарта МЭК 61131-3" как-то может помоч людям разобраться в программировании для MapInfo??? Если нет, то пожалуйста рекламируйте в других ветках. Если да, то ждем разъяснений.
#134
Отправлено 22.07.2009, 18:12:38
2Dragon_Fire
Поясните как вы грузите карты.
Если через workspace, то обратите внимание на выражение
Set Map
CoordSys ...
Смотреть нужно в wor-файл, который открываем
Там указано какая проекция установлена у карты после открытия. Это поможет понять почему разный результат.
Поясните как вы грузите карты.
Если через workspace, то обратите внимание на выражение
Set Map
CoordSys ...
Смотреть нужно в wor-файл, который открываем
Там указано какая проекция установлена у карты после открытия. Это поможет понять почему разный результат.
#135
Отправлено 24.07.2009, 11:46:22
Кто-нибудь, знает как отсортировать уже существующую открытую таблицу и сохранить ее с тем же именем?
Вариант сортировки, используя Select не работает, так как создается временная таблица зависимая от базовой таблицы и при закрытии базовой закрывается и временная, да и к тому имя таблицы тоже другое.
Вариант сортировки, используя Select не работает, так как создается временная таблица зависимая от базовой таблицы и при закрытии базовой закрывается и временная, да и к тому имя таблицы тоже другое.
#136
Отправлено 27.07.2009, 15:03:10
Вариант только такой с временной таблицей.
Честно говоря, вариант кривой
Теперь можно задать глупый вопрос: зачем сохранять данные в отсортированном виде, если их очень быстро можно отсортировать Select-ом?
Open Table "C:\Untitled.TAB" as untitled ' <--открываем таблицу которую нужно отсортировать по полю, Select * Fom utitled Into temp Order By id2 '<-- сортируем по id2 и запоминаем выборку как temp Commit Table temp as "c:\temp.tab" '<-- сохраняем отсортированную выборку Сlose Table untitled '<-- закрываем исходную таблицу Open Table "c:\temp.tab" As untitled '<-- открываем сохраненную выборку Commit Table untitled As "c:\untitled.tab" '<-- Сохраняем на место прежней Сlose Table untitled '<-- закрываем таблицу связанную с файлом "c:\temp.tab" Open Table "C:\Untitled.TAB" as untitled ' <-- открываем отсортированную по полю id2 таблицуПоследние 3 строки нужны для перезаписи файла исходной таблицы.
Честно говоря, вариант кривой
Теперь можно задать глупый вопрос: зачем сохранять данные в отсортированном виде, если их очень быстро можно отсортировать Select-ом?
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0