Вопросы связанные с работой ГИС Аксиома
			
		
		
			- 
				
								Александр							
 
						- Администратор
 			
		- Сообщения: 693
 		- Зарегистрирован: 18 апр 2019, 11:21
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Александр » 11 мар 2024, 14:06
			
			
			
			
			Плагин может быть выгружен из Аксиомы при выходе из неё или пользователем при отключении плагина через диалоговое окно "Модули".
При этом Аксиома вызывает метод unload. В методе unload необходимо разместить всю логику, отвечающую за освобождение ресурсов, включая удаление кнопок.
Code: Select all
from axipy import Position, Plugin, tr, ActionButton
class MapTopik1(Plugin):
    def __init__(self) -> None:
        self._action1: ActionButton = ActionButton(
            title=tr("Открыть землю"),
            on_click=self.struc_check,
        )
        position = Position(tr("Основные"), tr("Команды"))
        position.add(self._action1)
        self._action2: ActionButton = ActionButton(
            title=self.tr("классификатор"),
            on_click=self.show_message,
            tooltip=self.tr("классификатор условных знаков М 1:500,1000,2000,5000")
        )
        position = Position(tr("Условные знаки"), tr("Минимальный"))
        position.add(self._action2)
    def unload(self) -> None:
        self._action1.remove()
        self._action2.remove()
    def show_message(self) -> None:
        print("message")
    def struc_check(self) -> None:
        print("открыть землю")
 
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Матвеич							
 
						- Пользователь
 			
		- Сообщения: 141
 		- Зарегистрирован: 09 янв 2024, 14:43
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Матвеич » 11 мар 2024, 18:05
			
			
			
			
			Александр Доброго времени суток!!!
ВСЕ ОТЛИЧНО !!!! Объяснили просто и доступно.
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Матвеич							
 
						- Пользователь
 			
		- Сообщения: 141
 		- Зарегистрирован: 09 янв 2024, 14:43
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Матвеич » 14 мар 2024, 17:55
			
			
			
			
			Александр Доброго времени суток !
  в письме изложил проблему с выпадающим списком.
 
 с интерфейсом заканчиваю .... кажется.
 
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Александр							
 
						- Администратор
 			
		- Сообщения: 693
 		- Зарегистрирован: 18 апр 2019, 11:21
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Александр » 18 мар 2024, 14:52
			
			
			
			
			Пример диалога с комбобоксом
Code: Select all
import axipy
from PySide2.QtCore import Qt
from PySide2.QtWidgets import (QComboBox, QVBoxLayout, QDialog)
def show_dialog():
    cb_file_type = QComboBox(None)
    cb_file_type.addItems(
        ["MapInfo File", "Bentley MicroStation DGN", "AutoCAD DXF", "GML - Язык географической разметки",
         "KML - Язык разметки Keyhole", "Шейп-файл ESRI", "SQLite / Spatialite RDBMS"])
    layout = QVBoxLayout()
    layout.addWidget(cb_file_type)
    dlg = QDialog(axipy.view_manager.global_parent)
    dlg.setWindowFlags(dlg.windowFlags() & ~Qt.WindowContextHelpButtonHint)  # Выключение значка "?"
    dlg.setLayout(layout)
    dlg.open()
show_dialog()
 
Официальная документация QComboBox тут 
https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QComboBox.html 
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Матвеич							
 
						- Пользователь
 			
		- Сообщения: 141
 		- Зарегистрирован: 09 янв 2024, 14:43
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Матвеич » 19 мар 2024, 08:53
			
			
			
			
			Доброго времени суток АЛЕКСАНДР!
   В ГИС Аксиома  реализован принцип конструктора  "Лего" - модули это детали "Лего". 
Можно собирать из базовых /приватных модулей пользовательские технологии обработки данных. 
Осталось только дать возможность  пользователю создавать свой каталог технологий. 
   Модули можно разделить на базовые и дополнительные.
Востребованные дополнительные модули, сторонних разработчиков , нужно тестировать и включать в 
базовый каталог модулей ГИС Аксиома.
  В целом в ГИС Аксиома за ,что ни хватишься  все уже есть , все работает!  МОЛОДЦЫ !!!.
Я Благодарю Вас Александр за терпение и оказанную Вами помощь в освоении Python API в среде ГИС Аксиома.
Вы правы абсолютно , знание Python необходимо для работы с Python API в среде ГИС Аксиома.
  Только благодаря Вашей помощи мне удалось сформировать свой интерфейс.
  P.S. К Вам обращаюсь в самом крайнем случае.
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Александр							
 
						- Администратор
 			
		- Сообщения: 693
 		- Зарегистрирован: 18 апр 2019, 11:21
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Александр » 19 мар 2024, 11:08
			
			
			
			
			Благодарю Вас за положительный отзыв о ГИС Аксиома и за доверие к нашей системе. Мы ценим вашу благодарность за помощь в освоении Python API и всегда готовы помочь вам при необходимости.
Вы правы, принцип "Лего", озвученный вами, позволяет пользователям создавать свои собственные технологии обработки данных. Пользователи могут публиковать свои модули на форуме, и при достаточной зрелости модуля мы включаем его в наш репозиторий. В дальнейшем некоторые популярные модули могут распространяться совместно с Аксиомой.
В следующей версии API будет добавлена возможность управления установленными модулями, что позволит, в том числе, создавать пользовательские репозитории.
Немаловажным фактором является возможность защитить модуль от несанкционированного доступа для возможности монетизации. Мы прорабатываем такую возможность, и в данный момент эта технология находится на стадии тестирования.
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Матвеич							
 
						- Пользователь
 			
		- Сообщения: 141
 		- Зарегистрирован: 09 янв 2024, 14:43
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Матвеич » 22 мар 2024, 09:20
			
			
			
			
			Вопрос ко всем кто может ответить...
 
   Открываем средствами ГИС Аксиома несколько таблиц в активном окне. Одну из таблиц
делаем редактируемой.
Вопрос:
  -  "Каким образом извлекаем  имя  редактируемой таблицы в активном окне ?"
P.S. Смог только отследить наличие редактируемой таблицы в окне.
      Александр извините , но в перекрестных ссылках руководства разработчика , увяз как пчела (или как ос) в паутине.
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Андрей							
 
						- Администратор
 			
		- Сообщения: 20
 		- Зарегистрирован: 01 окт 2020, 11:40
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Андрей » 22 мар 2024, 15:39
			
			
			
			
			Здравствуйте. Пример получения имени редактируемой таблицы в активном окне:
Code: Select all
import axipy
# Получение активного окна карты
active_map_view = axipy.view_manager.active
# Получение редактируемого слоя активного окна карты
editable_layer = active_map_view.editable_layer
# Получение таблицы редактируемого слоя
table = editable_layer.data_object
# Получение имени таблицы редактируемого слоя
name = table.name
 
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Матвеич							
 
						- Пользователь
 			
		- Сообщения: 141
 		- Зарегистрирован: 09 янв 2024, 14:43
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Матвеич » 22 мар 2024, 17:42
			
			
			
			
			Андрей ! Добрый вечер!
 
  Андрей , Благодарю Вас за помощь. К изучению Python и Python API только приступил и к логике Python 
еще не привык. Учусь только на ответах модератора Александра и братьев Форумчан ,в том числе и Вашего ответа.
Добавил Ваш фрагмент и конечно все получилось . Сейчас разбираюсь , а почему получилось....
			
			
									
									
						 
		 
		 
				
			 
				
		
		
			- 
				
								Матвеич							
 
						- Пользователь
 			
		- Сообщения: 141
 		- Зарегистрирован: 09 янв 2024, 14:43
 		
		
						
						
		
		
						
						
													
							
						
									
						Сообщение
					
								 Матвеич » 28 мар 2024, 09:23
			
			
			
			
			Есть открытая средствами Аксиома таблица. 
Необходимо добавить новые атрибуты :
- Код  Integer 
- sem  Char (100)
- h      Decimal(10,3)
 Т.е. изменить структуру существующей таблицы ...