Вырезание фрагмента из карты в MApInfo

MapInfo, MapBasic
Ответить
Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Вырезание фрагмента из карты в MApInfo

Сообщение WeMaN »

Здравствуйте, коллеги, у меня возникла очередная проблема...
Вот допустим есть у меня проект в MapInfo проекция план-схема, состоящий из нескольких таблиц (20-30), и карта эта у меня большая очень, я хочу из неё вырезать интересующий мне фрагмент, естественно, чтобы появились новые таблицы с данными только этого вырезанного фрагмента, при этом естественно все атрибуты и оформление должно остаться нетронутым...
Собственно можно ли это реализовать, и если можно, то как?! Если что не так выразился, спрашивайте, попытаюсь объяснить поподробнее... Заранее спасибо за советы
Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: Вырезание фрагмента из карты в MApInfo

Сообщение SS_Rebelious »

Если стандартными средствами, то создаёте полигон на интересующую Вас область, а затем выбираете все объекты одного из слоёв, делаете их "изменяемыми объектами" и, выделив полигон интересующей области "удаляете внешнюю часть". Если нужно окончательно избавиться ото всех следов информации, находящейся за пределами выбранной области (чтобы не было серых полей в семантике), то идёте в Таблица->Изменить->Упаковать. Указанную процедуру повторяете для всех слоёв. Желательно всё это делать, сделав предварительно бэкап карты.

Проделывать всё это с каждым из 20-ти слоёв быстро надоест))) Представьте, что Вам надо сделать то же самое ещё с 20-ю картами с 20-ю слоями :D Надо бы оптимизировать, не так ли :wink: Вот выберите что-нибудь из этого. Там же можете порыться ещё, может найдёте утилитку и получше.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Вырезание фрагмента из карты в MApInfo

Сообщение WeMaN »

Впринципе хороший вариант!! Да конечно муторно, но зато действенно, объясните по поводу утилит, какую из трёх брать, а то у меня с английским не сильно...
Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: Вырезание фрагмента из карты в MApInfo

Сообщение SS_Rebelious »

Ну возьмите Сutter - простенько и со вкусом.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Вырезание фрагмента из карты в MApInfo

Сообщение WeMaN »

интересно, а есть ли утилиты способные автоматизировать действие Таблица->Изменить->Упаковать?
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Вырезание фрагмента из карты в MApInfo

Сообщение Boris »

WeMaN писал(а):интересно, а есть ли утилиты способные автоматизировать действие Таблица->Изменить->Упаковать?
есть:
1. команда for операционной системы Windows. Создает строки с требуемыми командами. Любыми.
2. Текстовый редактор - любой только что бы открыть полученный файл.
3. Окно MapBasic в Windows. Вставить туда полученные команды, выделить все и нажать Enter.

Так можно автоматизировать любые команды для любого количества таблиц (файлов).

То же самое на MapBasic или любом скриптовом языке - еще проще и быстрее.
Вложения
doMapbasic_in_MapInfo.Scirts.rar
вот скрипт и пример массового перевода SHP в TAB
(11.8 КБ) 509 скачиваний
Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Вырезание фрагмента из карты в MApInfo

Сообщение WeMaN »

Понятно, но я как бы особо в бэйсике не силён, особенно МапИнфовском, думал, что есть более менее готовые решения
можно подробней, что такое For, как её вставить и как запустить через мапинфу?
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Вырезание фрагмента из карты в MApInfo

Сообщение 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]
'
'
Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя