Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Подписывание объектов
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей
Предыдущая тема :: Следующая тема  
Автор Сообщение
Евгений Ившин



Зарегистрирован: 02.03.2005
Сообщения: 65
Откуда: Курган

СообщениеДобавлено: Ср 08 Июн 2005 07:37    Заголовок сообщения: Подписывание объектов Ответить с цитатой

Подскажите можно ли сделать подпись объекта (текст берется из таблицы) в 2 строки и более? Если да, то как? Возможно я невнимательно читал документацию, но не нашел такой опции. Embarassed
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Ср 08 Июн 2005 20:09    Заголовок сообщения: Ответить с цитатой

Вам следует использовать не текстовый метод отображения, а символьный:
1. Создаете символьный метод отображения и открываете редактор рисунка символьного метода.
2. Компонуете рисунок с использованием элементов "Текст" так как необходимо. В текстовых элементах рисунка (а точнее в их текстах), действуют такие же правила, как и в текстовом методе отображения (поля, заключенные в "{" и "}").
3. Закрываете редактор рисунка и устанавливаете нужный способ отображения рисунка ("в вершинах", "на выходе из первой вершины" и др.).
После этого контур, использующий для отображения стиль с указанным выше методом отображения, будет отображать на карте символ с текстами, значения которых будут браться из атрибутивных (семантических) данных объекта.
Помимо того, что такой способ позволит вывести строки друг под другом, можно воспользоваться всей мощью символьного метода отображения.
Например, поставить линию между верхней строкой и нижней, сделать разные шрифты для верхней и нижней строк, заключить один из текстов в кружок и многое другое.

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Евгений Ившин



Зарегистрирован: 02.03.2005
Сообщения: 65
Откуда: Курган

СообщениеДобавлено: Чт 09 Июн 2005 07:25    Заголовок сообщения: Ответить с цитатой

Спасибо, за подсказку. Но дело в том, что необходимый текст содержится в одном поле таблицы. И он достаточно длинный. Я хотел узнать, можно ли такой текст (из одного поля) разместить в 2 строки и более. А предложенный вами способ подходит лишь к случаю, когда текст берется из двух и более полей. Или я ошибаюсь?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Чт 09 Июн 2005 22:07    Заголовок сообщения: Ответить с цитатой

В ИнГео 4.3 такого Вы сделать не сможете!
Однако в ИнГео 4.4 (следующая версия) мы планируем использовать механизм скриптов для формирования отображаемых текстов.
В этом случае Вы сможете в тексте символьного метода определить следующую конструкцию:
{script:=Join(Split(SemData("таблица1.поле1"), ","),vbNewLine)}
Или, если у Вас есть два текстовых элемента (верхний и нижний), тогда,
для текста верхнего элемента:
{script:
dim lines
lines = Split(SemData("таблица1.поле1"), ",")
result=lines(0)
}
для текста нижнего элемента:
{script:
dim lines
lines = Split(SemData("таблица1.поле1"), ",")
if UBounds(lines) > 0 then
result=lines(1)
else
result = ""
end if
}

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Snoopy



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

СообщениеДобавлено: Вс 14 Авг 2005 17:49    Заголовок сообщения: Ответить с цитатой

А например разместить надпись по ломаной линии!!!???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Борис Салтыков



Зарегистрирован: 19.05.2008
Сообщения: 42
Откуда: angarsk / msk

СообщениеДобавлено: Чт 18 Фев 2010 14:11    Заголовок сообщения: перерисовка подписи Ответить с цитатой

Как быть если подпись отображает динамически изменяемое значение семантического поля, ведь при изменении значения даже нажатие F5
(перерисовка) не приводит к обновлению подписи. Помогает только дисконнект-коннект, но это же абсурд, если мы делаем on line табло ситуации в районе.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
APopov



Зарегистрирован: 19.06.2006
Сообщения: 347
Откуда: Самара

СообщениеДобавлено: Чт 18 Фев 2010 19:54    Заголовок сообщения: Ответить с цитатой

http://www.integro.ru/forum/viewtopic.php?p=2745#2745
_________________
ОАО "Самара-Информспутник",
инженер-программист Попов Артем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Asko



Зарегистрирован: 30.11.2012
Сообщения: 6
Откуда: Белгородская область

СообщениеДобавлено: Ср 12 Дек 2012 17:54    Заголовок сообщения: Ответить с цитатой

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



Зарегистрирован: 09.03.2005
Сообщения: 535
Откуда: г. Братск

СообщениеДобавлено: Ср 12 Дек 2012 18:45    Заголовок сообщения: Ответить с цитатой

Непонятен вопрос.
Символьным методом можно сделать что подпись будет поворачиваться вместе с поворотом карты. Также можно сделать что подписи будут всегда горизонтальны, независимо от поворота карты

_________________
Сергей Николаев
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Asko



Зарегистрирован: 30.11.2012
Сообщения: 6
Откуда: Белгородская область

СообщениеДобавлено: Чт 13 Дек 2012 11:53    Заголовок сообщения: Ответить с цитатой

nikser простите за тупой вопрос как???? сделать чтобы символьный метот отображался всегда горизонтально???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Чт 13 Дек 2012 12:50    Заголовок сообщения: Ответить с цитатой

Asko писал(а):
nikser простите за тупой вопрос как???? сделать чтобы символьный метот отображался всегда горизонтально???


Символьный метод отображения с рисунком с текстом.
Способ отображения "В вершинах контура".

Если задать масштаб рисунка равный нулю, на всех масштабах будет одинакового размера.

И пририсовывать к объекту точечные формы с таким стилем.
Рисунок всегда ориентирован вертикально.

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
nikser



Зарегистрирован: 09.03.2005
Сообщения: 535
Откуда: г. Братск

СообщениеДобавлено: Чт 13 Дек 2012 13:07    Заголовок сообщения: Ответить с цитатой

Чуть чуть дополню Михаила.
Вы создаете символьный объект точечного типа. Неважно как он выглядит рисунок, текст или еще что. Максимальное количество вершин выставляете 1.
То есть поскольку базовой линии не будет, текст будет всегда ориентирован так как вы его нарисуете.
Нарисуете горизонтально - будет всегда отображаться горизонтально. Нарисуете вертикально - будет всегда вертикально

_________________
Сергей Николаев
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Asko



Зарегистрирован: 30.11.2012
Сообщения: 6
Откуда: Белгородская область

СообщениеДобавлено: Пт 14 Дек 2012 11:52    Заголовок сообщения: Ответить с цитатой

nikser, Михаил Власов, не совсем такое я хочу сделать, то есть получается символьный метод привязан к земельному участку, а в ваших вариантов помучается что надо создавать отдельный слой, или я что-то не понимаю...


02.jpg
 Описание:
 Размер файла:  143.98 KB
 Просмотрено:  87910 раз(а)

02.jpg



01.jpg
 Описание:
 Размер файла:  196.81 KB
 Просмотрено:  87910 раз(а)

01.jpg


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



Зарегистрирован: 09.03.2005
Сообщения: 535
Откуда: г. Братск

СообщениеДобавлено: Пт 14 Дек 2012 13:28    Заголовок сообщения: Ответить с цитатой

Где мы говорили про отдельный слой?
Есть слой земельных участков, вам его нужно подписать, но что бы подпись оставалась строго горизонтальной независимо от того под каким углом смотрим карту.
У земельного участка есть какие-то данные то есть в слое есть таблица.
Данные в подпись берутся из какого-то поля таблицы.
Создаете стиль например "подпись участка неповорачивающаяся"
В стиле на второй вкладке "правила", ставите галочку - максимальное количество точек и значение - 1.

Затем создаете символьный метод для этого стиля, в котором рисуете все что хотите. В том числе и текст.
Если стиль задан для масштаба 1:0, размер подписи (и всех его причиндалов) будет неизменен для любого масштаба
Единственное, указываете "Способ отображения - "в вершинах контура"
В принципе всё.

PS Я делал для нового слоя поскольку сижу в рабочей базе
Все это легко создается для любого слоя



Панорама1.png
 Описание:
 Размер файла:  32.97 KB
 Просмотрено:  87905 раз(а)

Панорама1.png



_________________
Сергей Николаев
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
nikser



Зарегистрирован: 09.03.2005
Сообщения: 535
Откуда: г. Братск

СообщениеДобавлено: Пт 14 Дек 2012 13:34    Заголовок сообщения: Ответить с цитатой

Вот пример подписи микрорайона (площадного объекта)
Второй рисунок повернут относительно первого на 30 градусов



6.png
 Описание:
 Размер файла:  32.35 KB
 Просмотрено:  87904 раз(а)

6.png



_________________
Сергей Николаев
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Yana



Зарегистрирован: 31.07.2013
Сообщения: 7
Откуда: Moscow

СообщениеДобавлено: Ср 31 Июл 2013 01:58    Заголовок сообщения: Ответить с цитатой

Здравствуйте! Осваиваю Ингео первую неделю.

Ситуация такая: слой импортирован из AutoCAD через dxf. Все хорошо, вот только первоначально подписи были повернуты относительно объекта, а нужно горизонтально. Использовала способ, что описан выше, т.е. вместо текстового метода использовала точечный, но, так как объект у меня состоит из двух прямоугольников - теперь подписывается каждый, а нужно, чтобы подпись была одна. Никак не могу разобраться.



ingeo_rk.PNG
 Описание:
 Размер файла:  4.39 KB
 Просмотрено:  86876 раз(а)

ingeo_rk.PNG


Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Ср 31 Июл 2013 09:42    Заголовок сообщения: Ответить с цитатой

Yana писал(а):
Здравствуйте! Осваиваю Ингео первую неделю.

Ситуация такая: слой импортирован из AutoCAD через dxf. Все хорошо, вот только первоначально подписи были повернуты относительно объекта, а нужно горизонтально. Использовала способ, что описан выше, т.е. вместо текстового метода использовала точечный, но, так как объект у меня состоит из двух прямоугольников - теперь подписывается каждый, а нужно, чтобы подпись была одна. Никак не могу разобраться.

Киньте IDF с этим слоем, подскажем как лучше сделать.

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Yana



Зарегистрирован: 31.07.2013
Сообщения: 7
Откуда: Moscow

СообщениеДобавлено: Ср 31 Июл 2013 10:19    Заголовок сообщения: Ответить с цитатой

Мой первый опыт экспорта в IDF. Надеюсь, я все правильно сделала. Заранее, спасибо за помощь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Yana



Зарегистрирован: 31.07.2013
Сообщения: 7
Откуда: Moscow

СообщениеДобавлено: Ср 31 Июл 2013 10:21    Заголовок сообщения: Ответить с цитатой

Файл не прилепился


test.rar
 Описание:

Скачивание
 Название файла:  test.rar
 Размер файла:  1.26 KB
 Скачено:  3405 раз(а)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Ср 31 Июл 2013 11:08    Заголовок сообщения: Ответить с цитатой

Yana писал(а):
Ситуация такая: слой импортирован из AutoCAD через dxf. Все хорошо, вот только первоначально подписи были повернуты относительно объекта, а нужно горизонтально. Использовала способ, что описан выше, т.е. вместо текстового метода использовала точечный, но, так как объект у меня состоит из двух прямоугольников - теперь подписывается каждый, а нужно, чтобы подпись была одна. Никак не могу разобраться.


У вас два выхода:
  1. Вместо символьного метода использовать текстовый (как оно, вероятно, и было после импорта DXF), но тогда придется все базовые линии поворачивать вручную, чтобы текст был правильно ориентирован.
  2. Оставить символьный метод, но удалить вторую точку контура (оставить в контуре одну вершину). Тогда текст будет в одном экземпляре.

И в том и в другом случае придется поработать руками.

Если руками не хочется, можно написать скрипт, который переберет все объекты слоя, найдет контура со стилем "Подпись номера РК" и сам выполнит либо поворот либо удаление второй вершины.

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Yana



Зарегистрирован: 31.07.2013
Сообщения: 7
Откуда: Moscow

СообщениеДобавлено: Ср 31 Июл 2013 11:15    Заголовок сообщения: Ответить с цитатой

Спасибо большое за ответ!

Было подозрение, что руками придется работать Crying or Very sad Скрипты, к сожалению, не мой уровень Embarassed Еще учится и учится в этом направлении.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Ср 31 Июл 2013 12:31    Заголовок сообщения: Ответить с цитатой

Yana писал(а):
Было подозрение, что руками придется работать Crying or Very sad Скрипты, к сожалению, не мой уровень Embarassed Еще учится и учится в этом направлении.

Это не так уж сложно.

Вот вам для начала скриптовый модуль, который делает, что я написал.
  1. Скачиваете архив с модулем, распаковываете его, там один файл "Нормализация текстов.inm".
  2. В ИнГео нажимаете кнопку F7, появится окно со списком модулей.
  3. Нажимаете кнопку "Импорт...". Выбираете файл "Нормализация текстов.inm". Появится список модулей из этого файла. Ставите галочку напротив "Нормализация текстов", жмете "ОК". В списке модулей появится "Нормализация текстов".
  4. Ставите галочку напротив модуля. Он запустится.
  5. Нажимаете кнопку "Закрыть".
  6. У вас в меню "Правка" в самом низу появятся две новых команды: "Оставить только первую точку" и "Выровнять линию текста".
  7. Пользуетесь этими командами.


Если захотите поглядеть, как это сделано и подправить что-либо, нажмите "F7", выделите "Нормализация текстов" и нажмите кнопку "Редактор".
Появится среда программирования, там потыкайте, поизучайте.



Нормализация текстов.zip
 Описание:

Скачивание
 Название файла:  Нормализация текстов.zip
 Размер файла:  1.1 KB
 Скачено:  3576 раз(а)


_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Yana



Зарегистрирован: 31.07.2013
Сообщения: 7
Откуда: Moscow

СообщениеДобавлено: Ср 31 Июл 2013 13:06    Заголовок сообщения: Ответить с цитатой

Спасибо огромное! Сейчас буду пробывать Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Yana



Зарегистрирован: 31.07.2013
Сообщения: 7
Откуда: Moscow

СообщениеДобавлено: Ср 31 Июл 2013 13:24    Заголовок сообщения: Ответить с цитатой

Ой, проблема - архив не распаковывается ( Если не трудно, перезалейте, пожалуйста Embarassed


Снимок.PNG
 Описание:
 Размер файла:  47.48 KB
 Просмотрено:  86837 раз(а)

Снимок.PNG


Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Ср 31 Июл 2013 13:56    Заголовок сообщения: Ответить с цитатой

Нетрудно


Нормализация текстов.zip
 Описание:

Скачивание
 Название файла:  Нормализация текстов.zip
 Размер файла:  1.18 KB
 Скачено:  3023 раз(а)


_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей Часовой пояс: GMT + 5
На страницу 1, 2  След.
Страница 1 из 2

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


© phpBB Group
Русская поддержка phpBB