Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Евгений Ившин
Зарегистрирован: 02.03.2005 Сообщения: 65 Откуда: Курган
|
Добавлено: Ср 08 Июн 2005 07:37 Заголовок сообщения: Подписывание объектов |
|
|
Подскажите можно ли сделать подпись объекта (текст берется из таблицы) в 2 строки и более? Если да, то как? Возможно я невнимательно читал документацию, но не нашел такой опции.
|
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 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 Откуда: Самара
|
|
Вернуться к началу |
|
|
Asko
Зарегистрирован: 30.11.2012 Сообщения: 6 Откуда: Белгородская область
|
Добавлено: Ср 12 Дек 2012 17:54 Заголовок сообщения: |
|
|
а как сделать так чтобы этот символьный метод отображения отображал все надписи строго горизонтально а не вертел их относительно участка.
|
|
Вернуться к началу |
|
|
nikser
Зарегистрирован: 09.03.2005 Сообщения: 535 Откуда: г. Братск
|
Добавлено: Ср 12 Дек 2012 18:45 Заголовок сообщения: |
|
|
Непонятен вопрос.
Символьным методом можно сделать что подпись будет поворачиваться вместе с поворотом карты. Также можно сделать что подписи будут всегда горизонтальны, независимо от поворота карты
_________________ Сергей Николаев |
|
Вернуться к началу |
|
|
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.
То есть поскольку базовой линии не будет, текст будет всегда ориентирован так как вы его нарисуете.
Нарисуете горизонтально - будет всегда отображаться горизонтально. Нарисуете вертикально - будет всегда вертикально
_________________ Сергей Николаев |
|
Вернуться к началу |
|
|
Asko
Зарегистрирован: 30.11.2012 Сообщения: 6 Откуда: Белгородская область
|
Добавлено: Пт 14 Дек 2012 11:52 Заголовок сообщения: |
|
|
nikser, Михаил Власов, не совсем такое я хочу сделать, то есть получается символьный метод привязан к земельному участку, а в ваших вариантов помучается что надо создавать отдельный слой, или я что-то не понимаю...
Описание: |
|
Размер файла: |
143.98 KB |
Просмотрено: |
87910 раз(а) |
|
Описание: |
|
Размер файла: |
196.81 KB |
Просмотрено: |
87910 раз(а) |
|
|
|
Вернуться к началу |
|
|
nikser
Зарегистрирован: 09.03.2005 Сообщения: 535 Откуда: г. Братск
|
Добавлено: Пт 14 Дек 2012 13:28 Заголовок сообщения: |
|
|
Где мы говорили про отдельный слой?
Есть слой земельных участков, вам его нужно подписать, но что бы подпись оставалась строго горизонтальной независимо от того под каким углом смотрим карту.
У земельного участка есть какие-то данные то есть в слое есть таблица.
Данные в подпись берутся из какого-то поля таблицы.
Создаете стиль например "подпись участка неповорачивающаяся"
В стиле на второй вкладке "правила", ставите галочку - максимальное количество точек и значение - 1.
Затем создаете символьный метод для этого стиля, в котором рисуете все что хотите. В том числе и текст.
Если стиль задан для масштаба 1:0, размер подписи (и всех его причиндалов) будет неизменен для любого масштаба
Единственное, указываете "Способ отображения - "в вершинах контура"
В принципе всё.
PS Я делал для нового слоя поскольку сижу в рабочей базе
Все это легко создается для любого слоя
Описание: |
|
Размер файла: |
32.97 KB |
Просмотрено: |
87905 раз(а) |
|
_________________ Сергей Николаев |
|
Вернуться к началу |
|
|
nikser
Зарегистрирован: 09.03.2005 Сообщения: 535 Откуда: г. Братск
|
Добавлено: Пт 14 Дек 2012 13:34 Заголовок сообщения: |
|
|
Вот пример подписи микрорайона (площадного объекта)
Второй рисунок повернут относительно первого на 30 градусов
Описание: |
|
Размер файла: |
32.35 KB |
Просмотрено: |
87904 раз(а) |
|
_________________ Сергей Николаев |
|
Вернуться к началу |
|
|
Yana
Зарегистрирован: 31.07.2013 Сообщения: 7 Откуда: Moscow
|
Добавлено: Ср 31 Июл 2013 01:58 Заголовок сообщения: |
|
|
Здравствуйте! Осваиваю Ингео первую неделю.
Ситуация такая: слой импортирован из AutoCAD через dxf. Все хорошо, вот только первоначально подписи были повернуты относительно объекта, а нужно горизонтально. Использовала способ, что описан выше, т.е. вместо текстового метода использовала точечный, но, так как объект у меня состоит из двух прямоугольников - теперь подписывается каждый, а нужно, чтобы подпись была одна. Никак не могу разобраться.
Описание: |
|
Размер файла: |
4.39 KB |
Просмотрено: |
86876 раз(а) |
|
|
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 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 |
Размер файла: |
1.26 KB |
Скачено: |
3405 раз(а) |
|
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Ср 31 Июл 2013 11:08 Заголовок сообщения: |
|
|
Yana писал(а): | Ситуация такая: слой импортирован из AutoCAD через dxf. Все хорошо, вот только первоначально подписи были повернуты относительно объекта, а нужно горизонтально. Использовала способ, что описан выше, т.е. вместо текстового метода использовала точечный, но, так как объект у меня состоит из двух прямоугольников - теперь подписывается каждый, а нужно, чтобы подпись была одна. Никак не могу разобраться. |
У вас два выхода:
- Вместо символьного метода использовать текстовый (как оно, вероятно, и было после импорта DXF), но тогда придется все базовые линии поворачивать вручную, чтобы текст был правильно ориентирован.
- Оставить символьный метод, но удалить вторую точку контура (оставить в контуре одну вершину). Тогда текст будет в одном экземпляре.
И в том и в другом случае придется поработать руками.
Если руками не хочется, можно написать скрипт, который переберет все объекты слоя, найдет контура со стилем "Подпись номера РК" и сам выполнит либо поворот либо удаление второй вершины.
_________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
|
Yana
Зарегистрирован: 31.07.2013 Сообщения: 7 Откуда: Moscow
|
Добавлено: Ср 31 Июл 2013 11:15 Заголовок сообщения: |
|
|
Спасибо большое за ответ!
Было подозрение, что руками придется работать Скрипты, к сожалению, не мой уровень Еще учится и учится в этом направлении.
|
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Ср 31 Июл 2013 12:31 Заголовок сообщения: |
|
|
Yana писал(а): | Было подозрение, что руками придется работать Скрипты, к сожалению, не мой уровень Еще учится и учится в этом направлении. |
Это не так уж сложно.
Вот вам для начала скриптовый модуль, который делает, что я написал.
- Скачиваете архив с модулем, распаковываете его, там один файл "Нормализация текстов.inm".
- В ИнГео нажимаете кнопку F7, появится окно со списком модулей.
- Нажимаете кнопку "Импорт...". Выбираете файл "Нормализация текстов.inm". Появится список модулей из этого файла. Ставите галочку напротив "Нормализация текстов", жмете "ОК". В списке модулей появится "Нормализация текстов".
- Ставите галочку напротив модуля. Он запустится.
- Нажимаете кнопку "Закрыть".
- У вас в меню "Правка" в самом низу появятся две новых команды: "Оставить только первую точку" и "Выровнять линию текста".
- Пользуетесь этими командами.
Если захотите поглядеть, как это сделано и подправить что-либо, нажмите "F7", выделите "Нормализация текстов" и нажмите кнопку "Редактор".
Появится среда программирования, там потыкайте, поизучайте.
Описание: |
|
Скачивание |
Название файла: |
Нормализация текстов.zip |
Размер файла: |
1.1 KB |
Скачено: |
3576 раз(а) |
_________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
|
Yana
Зарегистрирован: 31.07.2013 Сообщения: 7 Откуда: Moscow
|
Добавлено: Ср 31 Июл 2013 13:06 Заголовок сообщения: |
|
|
Спасибо огромное! Сейчас буду пробывать
|
|
Вернуться к началу |
|
|
Yana
Зарегистрирован: 31.07.2013 Сообщения: 7 Откуда: Moscow
|
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Ср 31 Июл 2013 13:56 Заголовок сообщения: |
|
|
Нетрудно
Описание: |
|
Скачивание |
Название файла: |
Нормализация текстов.zip |
Размер файла: |
1.18 KB |
Скачено: |
3023 раз(а) |
_________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
|
|