www.map-info.ru :: Просмотр темы - Объединение слоёв
                               РќР° главную страницу сайта

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

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



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

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

Добрый день. Столкнулся с проблемой, я инженер дорожник. У меня есть дорога, которая состоит из множества таблиц MapInfo, т.е. все объекты на дороге имеют свою таблицу (обочины1.tab, обочины2.tab, знаки1.tab, знаки2.tab и т.д.) порядка 40 таблиц. Я хочу объединить все таблицы в одну, или хотя бы все схожие типы объектов в одну (обочины1.tab+обочины2.tab+обочины3.tab=обочинывсе.tab) Как это можно сделать? Имеется опыт работы arcGIS, indorGIS. Но Mapinfo, какая-то другая специфика, и совсем нет времени рабиратся с 630-страничным мануалом Smile Помогите пожалуйста.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
spawner



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

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

Стандартных средств пакетного объединения в мапинфо нет.
Создайте пустой файл с расширением .mb и поместите следующий текст:
Include "MAPBASIC.DEF"
'Добавляет все слои активной карты в первый слой

Declare Sub Main

Sub Main()
Dim A,LN as Integer
Dim LName,DName as String
LN = MapperInfo( FrontWindow(),MAPPER_INFO_LAYERS)

DName = ""
For A=1 to LN
LName = LayerInfo(FrontWindow(),A,LAYER_INFO_NAME)
if a=1 then
DName = LName
else
Insert Into DName
Select * From LName
end if

Next

End Sub


Откройте в мапбэйсике, скомпилируйте. Получите исполняемых файл .mbx
Каждый раз когда нужно объединить слои запускаете его.
Все таблицы должны иметь одинаковую структуру.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alladin



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

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

может быть есть какие платные/бесплатные приложения (с удобный интерфейсом, на английском/русском) к mapinfo, которые будут выполнять необходимые мне функции?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



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

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

Инструментарий для MapInfo
www.map-info.ru

Демонстрационный видеролик по объединению слоев:
http://www.map-info.ru/video-view2/mergetables.html
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alladin



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

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

Спасибо за ссылку, скачал попробовал, получился вот такой лог. Инструментарий хороший, если получится объединить, уговорю босса на покупку.


08.02.2010 15:35:25 Начат процесс слияния файлов каталога (5)...
Проход №1: Определение максимальных границ и структуры результирующей таблицы...
(1/5) Обрабатывается файл C:\Documents and Settings\Alladin\Рабочий стол\Ачинский район\Заозерный-Агинское_Рыбинский\Обочина.TAB... OK
(2/5) Обрабатывается файл C:\Documents and Settings\Alladin\Рабочий стол\Ачинский район\Заозерный-Агинское_Рыбинский\Обочина1.TAB... OK
(3/5) Обрабатывается файл C:\Documents and Settings\Alladin\Рабочий стол\Ачинский район\Заозерный-Агинское_Рыбинский\Обочина3.TAB... OK
(4/5) Обрабатывается файл C:\Documents and Settings\Alladin\Рабочий стол\Ачинский район\Заозерный-Агинское_Рыбинский\Обочина4.TAB... OK
(5/5) Обрабатывается файл C:\Documents and Settings\Alladin\Рабочий стол\Ачинский район\Заозерный-Агинское_Рыбинский\населенные пункты\Налобино\обочина.TAB... OK
Результаты прохода №1:
- размеры результирующей таблицы (0,0)(10000000,10000000)
- структура результирующей таблицы (площадь Decimal(20,3), ID Integer, ParentFileName Char(50))
Создание результирующей таблицы C:\Documents and Settings\Alladin\Рабочий стол\Ачинский район\Заозерный-Агинское_Саянский1.tab ...
ОШИБКА: Результатом выражения не является имя колонки или таблицы

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



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

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

У нас на работе пользуют бесплатные утилитки для сшивания слоев. Различаются степенью подготовки материалов перед сшивкой. Либо пропиывать надо в текстовом файле имена таблиц, либо открыть в окне карты те таблицы, которые нужно сшить.
Я предпочитаю выбрать в коммандере или проводнике по маске кучу нужных файлов (например так: *обочины*.tab ), или просто вручную выбрать несколько файлов, и перетащить их на окно мапинфо, там они все откроются. А потом запускать утилиту сшивки. Вот моя утилитка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



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

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

Очень странно. Если есть возможность, вышлите пару слоев на support@map-info.ru
Мы оперативно посмотрим и ответим вам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
~Бусинка~



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

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

reasonat писал(а):
У нас на работе пользуют бесплатные утилитки для сшивания слоев. Различаются степенью подготовки материалов перед сшивкой. Либо пропиывать надо в текстовом файле имена таблиц, либо открыть в окне карты те таблицы, которые нужно сшить.
Я предпочитаю выбрать в коммандере или проводнике по маске кучу нужных файлов (например так: *обочины*.tab ), или просто вручную выбрать несколько файлов, и перетащить их на окно мапинфо, там они все откроются. А потом запускать утилиту сшивки. Вот моя утилитка


а не подскажите, когда обьединяю слои выдает такую вот ошибку:
(merginglayer.mb:103) LayerInfo: аргумент 2 вышел за заданые приделы.

уже проверила все размеры, все совпадает.... подскажите, пожалуйста что это за аргумент 2. и как его подправить, чтобы сшились слои
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
reasonat



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

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

Возможно Вы не отметили изменяемым слой, к которому нужно пришить все остальные, открытые в окне. Причем этот слой не должен быть косметическим. Проще всего к первой из одинаковых таблиц (отметив этот слой изменяемым в управлении слоями) пришивать все остальные подобные таблицы (отметив их как доступные слои). После сшивки первую таблицу можно сохранить как копию под нужным именем, а в исходной - отменить изменения. Получится новая таблица, собранная из всех открытых в окне карты, а старые не поменяются.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - ГИС 'MapInfo' Добавить ответ
Страница 1 из 1

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


Top.Mail.Ru