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

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

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



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

СообщениеДобавлено: Пт Дек 16, 2011 2:32 pm    Заголовок сообщения: Невидимый текст Добавить ответ со ссылкой на данный текст

здравствуйте всем.

необходимо убрать некоторые текстовые объекты с карты. подскажите как поменять цвет или стиль на прозрачный None, или шрифт 0 размера, или удалить совсем объект из таблицы, не удаляя записи о нем, или что-то еще может быть? в общем, сделать их невидимыми. делать отдельную выборку нельзя - работа ведется непосредственно с таблицей, как есть. спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



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

СообщениеДобавлено: Сб Дек 17, 2011 8:33 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Можно удалить геобъект, оставив при это запись в таблице.
Сделайте выборку объектов на карте на удаление, сделайте слой редактируемым, меню Правка - Удалить только объекты.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
dab



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

СообщениеДобавлено: Сб Дек 17, 2011 9:37 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Андрей Могильный писал(а):
Можно удалить геобъект, оставив при это запись в таблице.
Сделайте выборку объектов на карте на удаление, сделайте слой редактируемым, меню Правка - Удалить только объекты.

Да, а значение текста можно предварительно перенести в семантику
update selection set name_field=objectinfo(obj, 3)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dashiva



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

СообщениеДобавлено: Вт Дек 20, 2011 3:19 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Андрей Могильный писал(а):
Можно удалить геобъект, оставив при это запись в таблице.
Сделайте выборку объектов на карте на удаление, сделайте слой редактируемым, меню Правка - Удалить только объекты.

А можно как-нибудь так же просто вернуть эти объекты обратно на карту?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Андрей Могильный



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

СообщениеДобавлено: Вт Дек 20, 2011 6:33 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Так просто нельзя. Геообъект удален, восстановить штатными средствами нельзя. Если таблица неупаковывалась, то можно попробовать извлечь объект из map-файла. Для этого надо знать его структуру, а ее мало кто знает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Arhara



Зарегистрирован: 18.02.2009
Сообщения: 400
Откуда: Moscow, RF

СообщениеДобавлено: Вс Дек 25, 2011 3:48 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Андрей Могильный писал(а):
Так просто нельзя. Геообъект удален, восстановить штатными средствами нельзя. Если таблица неупаковывалась, то можно попробовать извлечь объект из map-файла. Для этого надо знать его структуру, а ее мало кто знает.

Ну не совсем так, восстановить - сложно. Но утилита для этого есть. Хотя она создана для восстановления полностью удаленных записей в несжатом файле. Известное мне "НО" - восстанавливается не обязательно то, что ждешь. Есть вариант, когда число удаленных записей и удаленных гео-объектов не совпадает, если таблицу часто редактировали разными способами. Ну, это о другом.
---
А если вся правильная информация о надписи сохранена, то восстановить ее можно функцией
Код:

CreateText( window_id, x, y, text, angle, anchor, offset )

на пример, сохранив данные о надписях в атрибутике всех надписей таблицы temp001, где были только надписи:
Код:

Alter Table "temp001" ( add x Float,y Float ) Interactive
set coordsys table temp001
update temp001 set name_field=objectinfo(obj, 3),x=centroidx(obj),y=centroidy(obj)

в окне, как было сказано выше у выбранных записей были удалены только гео-объекты. Если не менять масштаб этого окна и игнорировать выравнивание надписей, то набор команд:
Код:

Browse * From Selection
update selection set obj=CreateText( frontwindow(), x, y, name_field, 0, 0, 0 )

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

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


Top.Mail.Ru