Условные обозначения

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
pahanbi4
Сообщения: 5
Зарегистрирован: 10 сен 2019, 10:50

Условные обозначения

Сообщение pahanbi4 » 18 сен 2019, 11:03

Здравствуйте! Не могу понять как присвоить условное обозначение геометрии.

Есть вот такой код, который создает геометрию для использования в диалоге редактирования стиля.

Код: Выделить всё

csm = CoordSysFactory.defaultCoordSysFactory().createNonEarth(LinearUnit.MIUnit_Meter)
geom = Line(csm, QLineF(QPointF(5,5), QPointF(10,10)))
1) Как присвоить созданной линии стиль до открытия диалога?
Стиль хранится в строке в формате мапинфо. Собственно геометрия создается только для того чтобы была возможность изменить стиль в диалоге)))
Т.е. создаем геометрию, присваиваем ей стиль и отправляем на изменение в диалог.. Из диалога его можно забрать через style().

Код: Выделить всё

style_edit = StyleEditDialog(geom)
style_edit.exec()
2) Как взять стиль с геометрии? С той же самой Line и ей подобным (Point, Polygon..)
Аватара пользователя
Дмитрий
Сообщения: 56
Зарегистрирован: 04 июн 2019, 08:33

Re: Условные обозначения

Сообщение Дмитрий » 18 сен 2019, 11:51

Здравствуйте!

Оформление геометрии в данном случае удобнее задать двумя способами до выполнения метода exec() диалога:
1. используя строку MapBasic
2. взять стиль для данного типа объекта, установленный в системе по умолчанию (закомментированная строка в примере ниже). Это и ответ на второй вопрос.

Код: Выделить всё

from axioma.mapinfo import *
from axioma.gui import *

point=axioma.core.geometry.Point(None, 0, 0)
style = MapBasicStyle().styleFromString('Symbol (33,255,14)')
#style=axioma.app.render.styleService().newObjectStyle().style(point)
style_edit = StyleEditDialog(point)
style_edit.setStyle(style)
style_edit.exec()
Аватара пользователя
pahanbi4
Сообщения: 5
Зарегистрирован: 10 сен 2019, 10:50

Re: Условные обозначения

Сообщение pahanbi4 » 19 сен 2019, 04:29

Спасибо!
Ответить