Страница 1 из 1
Вырезание фрагмента из карты в MApInfo
Добавлено: 27 июл 2009, 08:31
WeMaN
Здравствуйте, коллеги, у меня возникла очередная проблема...
Вот допустим есть у меня проект в MapInfo проекция план-схема, состоящий из нескольких таблиц (20-30), и карта эта у меня большая очень, я хочу из неё вырезать интересующий мне фрагмент, естественно, чтобы появились новые таблицы с данными только этого вырезанного фрагмента, при этом естественно все атрибуты и оформление должно остаться нетронутым...
Собственно можно ли это реализовать, и если можно, то как?! Если что не так выразился, спрашивайте, попытаюсь объяснить поподробнее... Заранее спасибо за советы
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 28 июл 2009, 00:50
SS_Rebelious
Если стандартными средствами, то создаёте полигон на интересующую Вас область, а затем выбираете все объекты одного из слоёв, делаете их "изменяемыми объектами" и, выделив полигон интересующей области "удаляете внешнюю часть". Если нужно окончательно избавиться ото всех следов информации, находящейся за пределами выбранной области (чтобы не было серых полей в семантике), то идёте в Таблица->Изменить->Упаковать. Указанную процедуру повторяете для всех слоёв. Желательно всё это делать, сделав предварительно бэкап карты.
Проделывать всё это с каждым из 20-ти слоёв быстро надоест))) Представьте, что Вам надо сделать то же самое ещё с 20-ю картами с 20-ю слоями

Надо бы оптимизировать, не так ли

Вот выберите что-нибудь
из этого. Там же можете порыться ещё, может найдёте утилитку и получше.
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 28 июл 2009, 08:06
WeMaN
Впринципе хороший вариант!! Да конечно муторно, но зато действенно, объясните по поводу утилит, какую из трёх брать, а то у меня с английским не сильно...
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 28 июл 2009, 15:42
SS_Rebelious
Ну возьмите Сutter - простенько и со вкусом.
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 01 мар 2010, 15:59
WeMaN
интересно, а есть ли утилиты способные автоматизировать действие Таблица->Изменить->Упаковать?
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 01 мар 2010, 17:58
Boris
WeMaN писал(а):интересно, а есть ли утилиты способные автоматизировать действие Таблица->Изменить->Упаковать?
есть:
1. команда for операционной системы Windows. Создает строки с требуемыми командами. Любыми.
2. Текстовый редактор - любой только что бы открыть полученный файл.
3. Окно MapBasic в Windows. Вставить туда полученные команды, выделить все и нажать Enter.
Так можно автоматизировать любые команды для любого количества таблиц (файлов).
То же самое на MapBasic или любом скриптовом языке - еще проще и быстрее.
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 02 мар 2010, 09:02
WeMaN
Понятно, но я как бы особо в бэйсике не силён, особенно МапИнфовском, думал, что есть более менее готовые решения
можно подробней, что такое For, как её вставить и как запустить через мапинфу?
Re: Вырезание фрагмента из карты в MApInfo
Добавлено: 02 мар 2010, 15:14
Boris
вот описание консольной команды Windows 2000 (и выше)
FOR http://it.bakinity.biz/smart.php?cat=2&id=51
В Mapinfo в окно MapBasic вставляются уже результаты сгенерированных ею текстовых файлов. Или эти же команды "скармливаются" приложенному выше скриптовому файлу.
Синтаксис скрипта:
Код: Выделить всё
' программа читает входной файл и выполняет записанные в него команды MapBasic'а в одной из запущенных копий программы MapInfo
' параметры -
' %1 - in="имя входного файла с командами MapInfo/MapBasic" & vbnewline & _
' %2 - stopOnError=Yes/No - остановка в случае, если выполненная команда закончилась ошибкой - Да/Нет
' %3 - log="имя файла в который записывается лог, выполненных команд"
'
' doMapbasic_in_MapInfo.vbs %1 [%2] [%3]
'
'