Плагины
Re: Плагины
Доброго времени суток !
Дано : В активном окне открыто n-е кол-во таблиц (слоев) rкарты.
Необходимо: во время выполнения цикла по количеству слоев(таблиц) карты ,
текущий слой (таблицу ) карты делать изменяемым(ой) т.е. редактируемым(ой)
Это возможно или каждый раз слой(таблицу) карты делать изменяемым в ручном режиме ?
Дано : В активном окне открыто n-е кол-во таблиц (слоев) rкарты.
Необходимо: во время выполнения цикла по количеству слоев(таблиц) карты ,
текущий слой (таблицу ) карты делать изменяемым(ой) т.е. редактируемым(ой)
Это возможно или каждый раз слой(таблицу) карты делать изменяемым в ручном режиме ?
Re: Плагины
Добрый день.
не совсем понятна постановка задачи .
Вы хотите из axipy назначать нужному слою свойство редактируемог редактируемого ?
У каждой карты ( class Map ) существует свойство
https://axipy.axioma-gis.ru/6.1/referen ... able_layer
property editable_layer: VectorLayer
не совсем понятна постановка задачи .
Вы хотите из axipy назначать нужному слою свойство редактируемог редактируемого ?
У каждой карты ( class Map ) существует свойство
https://axipy.axioma-gis.ru/6.1/referen ... able_layer
property editable_layer: VectorLayer
Матвеич писал(а): ↑09 янв 2025, 14:56 Доброго времени суток !
Дано : В активном окне открыто n-е кол-во таблиц (слоев) rкарты.
Необходимо: во время выполнения цикла по количеству слоев(таблиц) карты ,
текущий слой (таблицу ) карты делать изменяемым(ой) т.е. редактируемым(ой)
Это возможно или каждый раз слой(таблицу) карты делать изменяемым в ручном режиме ?
Re: Плагины
Добрый день gisamap !
Уточнение :
цикл по слоям активной карты
for layer in axipy.view_manager.active.map.layers
как сделать каждый текущий слой карты редактируемым ?
..............
выполняем с объектами редактируемого слоя операции
...........
propertyeditable_layer: VectorLayer - как правильно написать этот оператор для редактирования текущего слоя карты ?
P.S. Подскажите в Python API есть оператор аналогичный Alter Object (MapBasic) который изменяет
форму , положение и графический тип объекта. Меня интересует изменение положения объектов: точки, линии и т.д.
Уточнение :
цикл по слоям активной карты
for layer in axipy.view_manager.active.map.layers
как сделать каждый текущий слой карты редактируемым ?
..............
выполняем с объектами редактируемого слоя операции
...........
propertyeditable_layer: VectorLayer - как правильно написать этот оператор для редактирования текущего слоя карты ?
P.S. Подскажите в Python API есть оператор аналогичный Alter Object (MapBasic) который изменяет
форму , положение и графический тип объекта. Меня интересует изменение положения объектов: точки, линии и т.д.
Re: Плагины
или для изменения положения объектов применяем :
Для простых операций типа сдвиг, масштабирование и поворот, рекомендуется использовать shift(), scale(), rotate() соответственно.
Для простых операций типа сдвиг, масштабирование и поворот, рекомендуется использовать shift(), scale(), rotate() соответственно.
Re: Плагины
Благодарю Вас !!! Буду разбираться.
Re: Плагины
Доброго времени суток форумчане !
Помогите понять логику перемещения графических объектов в axipy Python API Гис Аксиома
Этот пример приведен в руководстве разработчика. Запускаю в редакторе - выполнение .Все Океюшки .
Могу догадываться , что пример это только фрагмент в процессе изменения положения объекта , а связь
применения оператора (изменения положения объекта ) с записями таблицы остается за скобками.
Координаты линии пересчитывает и печатает правильно, а как увидеть графическое изменение положения этой линии
в окне открытой таблицы.
На практике у меня в окне открыта таблица "земля.tab" СК План-схема. Отрисована линия begin=(300.0 200.0) end=(320.0 220.0).
Как увидеть на карте изменение положения этой линии ? т.е. линия с координатами Line begin=(300.0 200.0) end=(320.0 220.0) должна переехать в другое место с новыми координатами begin=(320.0 220.0) end=(340.0 240.0).
Если возможно приведите тестовый рабочий пример !!! или дополните этот пример.
******** ПРИМЕР ИЗ РУКОВОДСТВА ***************************
import axipy
from PySide2.QtGui import QTransform
dx = 20
dy = 20
scale_x = 1
scale_y = 1
# Исходная линия
line = axipy.Line((300,200), (320,220))
print('source>>', line)
'''
source>> Line begin=(300.0 200.0) end=(320.0 220.0)
'''
# Формируем матрицу
# Сначала масштабируем
tr = QTransform.fromScale(scale_x, scale_y)
# Затем перемещаем
tr *= QTransform.fromTranslate(dx, dy)
# Применяем матрицу
line_transform = line.affine_transform(tr)
print('transformed>>', line_transform)
'''
transformed>> Line begin=(320.0 220.0) end=(340.0 240.0)
'''
#***************************************************
Помогите понять логику перемещения графических объектов в axipy Python API Гис Аксиома
Этот пример приведен в руководстве разработчика. Запускаю в редакторе - выполнение .Все Океюшки .
Могу догадываться , что пример это только фрагмент в процессе изменения положения объекта , а связь
применения оператора (изменения положения объекта ) с записями таблицы остается за скобками.
Координаты линии пересчитывает и печатает правильно, а как увидеть графическое изменение положения этой линии
в окне открытой таблицы.
На практике у меня в окне открыта таблица "земля.tab" СК План-схема. Отрисована линия begin=(300.0 200.0) end=(320.0 220.0).
Как увидеть на карте изменение положения этой линии ? т.е. линия с координатами Line begin=(300.0 200.0) end=(320.0 220.0) должна переехать в другое место с новыми координатами begin=(320.0 220.0) end=(340.0 240.0).
Если возможно приведите тестовый рабочий пример !!! или дополните этот пример.
******** ПРИМЕР ИЗ РУКОВОДСТВА ***************************
import axipy
from PySide2.QtGui import QTransform
dx = 20
dy = 20
scale_x = 1
scale_y = 1
# Исходная линия
line = axipy.Line((300,200), (320,220))
print('source>>', line)
'''
source>> Line begin=(300.0 200.0) end=(320.0 220.0)
'''
# Формируем матрицу
# Сначала масштабируем
tr = QTransform.fromScale(scale_x, scale_y)
# Затем перемещаем
tr *= QTransform.fromTranslate(dx, dy)
# Применяем матрицу
line_transform = line.affine_transform(tr)
print('transformed>>', line_transform)
'''
transformed>> Line begin=(320.0 220.0) end=(340.0 240.0)
'''
#***************************************************
Re: Плагины
Добрый день.
Во вложении пример
Требуется что бы была открыта таблица с именем name_table='test_sift_object' можете изменить
далее в цикле проходим по всем записям и изменяем геометрию ( сдвигаем )
ft.geometry=ft.geometry.shift(20,20)
в место ft.geometry.shift(20,20) может быть любая вновь созданная геометрия
Во вложении пример
Требуется что бы была открыта таблица с именем name_table='test_sift_object' можете изменить
далее в цикле проходим по всем записям и изменяем геометрию ( сдвигаем )
ft.geometry=ft.geometry.shift(20,20)
в место ft.geometry.shift(20,20) может быть любая вновь созданная геометрия
Матвеич писал(а): ↑12 янв 2025, 13:31 Доброго времени суток форумчане !
Помогите понять логику перемещения графических объектов в axipy Python API Гис Аксиома
Этот пример приведен в руководстве разработчика. Запускаю в редакторе - выполнение .Все Океюшки .
Могу догадываться , что пример это только фрагмент в процессе изменения положения объекта , а связь
применения оператора (изменения положения объекта ) с записями таблицы остается за скобками.
Координаты линии пересчитывает и печатает правильно, а как увидеть графическое изменение положения этой линии
в окне открытой таблицы.
На практике у меня в окне открыта таблица "земля.tab" СК План-схема. Отрисована линия begin=(300.0 200.0) end=(320.0 220.0).
Как увидеть на карте изменение положения этой линии ? т.е. линия с координатами Line begin=(300.0 200.0) end=(320.0 220.0) должна переехать в другое место с новыми координатами begin=(320.0 220.0) end=(340.0 240.0).
Если возможно приведите тестовый рабочий пример !!! или дополните этот пример.
******** ПРИМЕР ИЗ РУКОВОДСТВА ***************************
import axipy
from PySide2.QtGui import QTransform
dx = 20
dy = 20
scale_x = 1
scale_y = 1
# Исходная линия
line = axipy.Line((300,200), (320,220))
print('source>>', line)
'''
source>> Line begin=(300.0 200.0) end=(320.0 220.0)
'''
# Формируем матрицу
# Сначала масштабируем
tr = QTransform.fromScale(scale_x, scale_y)
# Затем перемещаем
tr *= QTransform.fromTranslate(dx, dy)
# Применяем матрицу
line_transform = line.affine_transform(tr)
print('transformed>>', line_transform)
'''
transformed>> Line begin=(320.0 220.0) end=(340.0 240.0)
'''
#***************************************************
- Вложения
-
- shiftObject.py
- (271 байт) 19 скачиваний
Re: Плагины
Смотрю и не вижу вложение с примером наверное забыл
Матвеич писал(а): ↑10 янв 2025, 13:26 Добрый день gisamap !
Уточнение :
цикл по слоям активной карты
for layer in axipy.view_manager.active.map.layers
как сделать каждый текущий слой карты редактируемым ?
..............
выполняем с объектами редактируемого слоя операции
...........
propertyeditable_layer: VectorLayer - как правильно написать этот оператор для редактирования текущего слоя карты ?
P.S. Подскажите в Python API есть оператор аналогичный Alter Object (MapBasic) который изменяет
форму , положение и графический тип объекта. Меня интересует изменение положения объектов: точки, линии и т.д.
- Вложения
-
- SetEditableLayer.py
- (474 байт) 16 скачиваний
Re: Плагины
добрый вечер gisamap !!!
благодарю за ответ , буду разбираться.
P.S. Может имеет смысл собрать , систематизировать наши вопросы и Ваши ответы и создать рабочие примеры
с инструкцией для чайников (новичков) для освоения Python API ГИС Аксиома
благодарю за ответ , буду разбираться.
P.S. Может имеет смысл собрать , систематизировать наши вопросы и Ваши ответы и создать рабочие примеры
с инструкцией для чайников (новичков) для освоения Python API ГИС Аксиома