Страница 1 из 2
Мелкие полезности из командной строки
Добавлено: 14 сен 2011, 09:01
Boris
Мелкие полезности для общения с MapInfo из командной строки.
Для тех, кто знает, что такое командная строка

Все файлы написаны на VBS, встроенном в оболочку Windows всех версий, где есть Internet Explorer 5.0 и выше. Запускаются из командной строки и общаются запущенной версией MapInfo, пересылая ей команды через OLE интрефейс. Если MapInfo запущена не одна, то общение будет с последней запущенной программой (а может и с любой

).
- выполняет любой текстовый файл, пересылая запсианные в нем простые (без циклов и условного оператора IF ) команды MapBasic в MapInfo. Ведет лог-файл выполняемых команд. Команды до выполнения отображаются в стандартном окне Mapinfo -> Message
mi_CloseAll.vbs.7z
- Закрывает все открытые таблицы. Очень молчаливая программа.
- (10.77 КБ) 643 скачивания
- mi_rebuild_Index.vbs - пересчет индекса у таблиц MapInfo. Использует запущенную версию MapInfo, что бы преобразовать индексирование таблицы. Помогает в случаях, когда рука отказывается долго нажимать на OK после сообщений о неверном индексе.
- mi_tabFileInfo.vbs - вся существенная информация о таблице в тестовой строке, разделенной точкой с запятой (;)
- mi_TabColsStr.vbs - список полей таблицы в тестовой строке, разделенной точкой с запятой (;)
- mi_tabRasterReproject.vbs - пересчет координат привязки растрового файла из СК таблицы в новую, указанную в параметре вызова скрипта. В выходной таблице меняются координаты точек и строка проекции. Сам растр НЕ МЕНЯЕТСЯ.
PS
Это не самореклама, просто зачем объяснять то, что можно просто запустить из командной строки?

Re: Мелкие полезности из командной строки
Добавлено: 19 сен 2011, 03:03
Institor
Boris писал(а):
mi_tabRasterReproject.vbs - пересчет координат привязки растрового файла из СК таблицы в новую, указанную в параметре вызова скрипта. В выходной таблице меняются координаты точек и строка проекции. Сам растр НЕ МЕНЯЕТСЯ
А будет ли оно работать с план-схемами?
Re: Мелкие полезности из командной строки
Добавлено: 19 сен 2011, 10:42
Boris
В скрипте стоит запрет на пересчет Earth и NonEarth - т.к. это не имеет смысла. Прямого запрета на переход от одной плоской СК к другой нет. Другое дело, что я не пробовал, и не очень представляю как они могут различаться, без задания дополнительных параметров СК - отображений осей или аффинных трансформаций.
Re: Мелкие полезности из командной строки
Добавлено: 19 сен 2011, 15:15
Institor
Просто очень много растров привязано в координатах МСК, но NonEarth.
И очень много векторных данных в план-схеме (старая порочная практика). И куча утилит написана под план-схему для мапинфо.
Я себе это так представляю: замена в растре строчки NonEarth на соответствующую проекцию, пересчет в другую проекцию, замена строчки обратно на nonearth.
Вручную это сделать можно (таблица - растр - регистрация - выбрать нужную проекцию)
В принципе, можно строки заменить в том же Notepad++, так что вопрос был чисто риторический.
Re: Мелкие полезности из командной строки
Добавлено: 19 сен 2011, 16:28
Boris
Можно все и из командной строки заменить. Я знаю как минимум одну утилиту замены, которая это, с оговорками, делает очень неплохо.
Re: Мелкие полезности из командной строки
Добавлено: 20 сен 2011, 03:53
Institor
А именно?
Re: Мелкие полезности из командной строки
Добавлено: 20 сен 2011, 06:37
gamm
Institor писал(а):А именно?
sed
Re: Мелкие полезности из командной строки
Добавлено: 20 сен 2011, 22:11
Boris
я имел в виду replacer, т.к. назвать SED утилитой "с оговорками", у меня просто не хватает терпения.
Оговорки состоят в том, что в целом утилита - волшебная, но логика ее поведения при режиме "MULTYREPLACE=YES" - мне не доступна. Но за пределами этих потуг - просто волшебная.
Re: Мелкие полезности из командной строки
Добавлено: 05 окт 2011, 00:58
Gobi
Boris, захотелось и мне одну полезность...но doMapBasic_in_MapInfo отвечает ошибкой выполнения на мой txt-файл

В логе пишет, что мол все хорошо, файл существует. MI95ru, Виста. Как бы это победить?

Re: Мелкие полезности из командной строки
Добавлено: 05 окт 2011, 01:04
Gobi
Что-то не получилось прицепить скрин. Напишу ошибку словами:
Сценарий: D\ПО\doVapBasic_in_MapInfo.vbs
Строка: 1472
Символ: 5
Ошибка: требуется объект
Код: 800A01A8
Источник: Ошибка выполнения Microsoft VBScript
Re: Мелкие полезности из командной строки
Добавлено: 05 окт 2011, 11:02
Boris
нужен исходный файл с командами.
возможные варианты:
а) не запущена манифно - все скрипты подключаются к одной из запущенных версий
б) русские буквы - т.к. все запускается из командной строки, то имеет кодировку DOS866, а маинфо использует Win1251 - короче, не любит русские буквы.
остальное надо смотреть команды
Re: Мелкие полезности из командной строки
Добавлено: 05 окт 2011, 20:02
Gobi
Мапинфо запущена, кирилицы нет, а команды...упростила до просто открытия таблицы.
Командная строка выглядит так: D:\ZZZ\doMapbasic_in_Mapinfo.vbs "MB.txt",
в файле:
Open Table "D:\ZZZ\Itog.TAB" Interactive
Map From Itog
Может гадина-Виста? UAC отключен. И еще...у меня на компе установлены две версии MI.
10 - в папке Mapifo, 95 - в другой по соседству. Не влияет? Работаю в 95, 10-ка что-то валится.
Re: Мелкие полезности из командной строки
Добавлено: 05 окт 2011, 22:22
Gobi
На десятке пошло. Спасибо-спасибо-спасибо
Re: Мелкие полезности из командной строки
Добавлено: 15 фев 2012, 15:12
Старый Йети
to
Boris
СПАСИ!!!
Добрый день. Очень бы хотелось воспользоваться утилитой mi_rebuild_Index.vbs, да вот файлик mi_VBS.7z, видимо, с ошибкой качается. Во всяком случае, пробую открывать его в WinRAR'e, пишет "Неизвестный метод в mi_rebuild_Index.vbs" и далее "Ошибка - сбой при операции". За долгое время работы с MI
в разных версиях скопилась немалая такая куча tab-файлов старых версий. Сейчас перешли на законную 10.5 ru так рука отсыхает на клавишу Enter жать.
Пользую Windows XP SP3, WinRAR 3.8... может в версии дело?

Заранее, по-любому СПАСИБО!
Re: Мелкие полезности из командной строки
Добавлено: 15 фев 2012, 21:13
Boris
вставил rar архив. Но лучше иметь бесплатный 7z, что бы распаковывать файлы,
http://7-zip.org.ua/ru/7z.html
Что забавно, RAR С опцией максимальное сжатие дал файл в 2 раза больше, чем 7z без всяких установок, а RAR с обычными - 4 раза крупней вышел
