Как открыть программно набор данных

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
AlexP
Сообщения: 3
Зарегистрирован: 04 фев 2022, 06:23

Как открыть программно набор данных

Сообщение AlexP » 04 фев 2022, 06:39

Допустим
import axioma
json = {"src":"D:\\Map\\Seversk\\500.tab"}
table = axioma.core.open_json(json)
axioma.app.mainWindow.registerDataObject(table)
json = {"src":"D:\\Map\\Seversk\\1000.tab"}
table = axioma.core.open_json(json)
axioma.app.mainWindow.registerDataObject(table),
но после этого возникает диалог , добавить таблицу в активную карту?
Аватара пользователя
AlexP
Сообщения: 3
Зарегистрирован: 04 фев 2022, 06:23

Re: Как открыть программно набор данных

Сообщение AlexP » 04 фев 2022, 06:42

Или допустим в ленте поставить кнопку, которая открывает определенный рабочий набор?
Аватара пользователя
Дмитрий
Сообщения: 56
Зарегистрирован: 04 июн 2019, 08:33

Re: Как открыть программно набор данных

Сообщение Дмитрий » 04 фев 2022, 10:49

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

Вы используете устаревшую версию API Аксиомы. На данный момент вместо axioma рекомендуем использовать axipy.

Выглядит это примерно так:

from axipy import *
table1 = provider_manager.openfile('world.tab')
table2 = provider_manager.openfile('worldcap.tab')
layer1 = Layer.create(table1)
layer2 = Layer.create(table2)
map = Map([ layer1, layer2 ])
mapview = view_manager.create_mapview(map)

По второму вопросу: это лучше организовать в виде модуля. Пример во вложении (открываем рабочее пространство mws).
Для его использования, Вам необходимо создать папку и распаковать этот архив в нее. Далее, в диалоге модули/настройки добавить эту созданную папку. После этого модуль появится в списке. Запускаем, отметив галкой.
Вложения
sample_plugin.zip
(910 байт) 218 скачиваний
Аватара пользователя
AlexP
Сообщения: 3
Зарегистрирован: 04 фев 2022, 06:23

Re: Как открыть программно набор данных

Сообщение AlexP » 07 фев 2022, 10:11

from axipy import AxiomaPlugin, Position
from axipy.app import mainwindow

class Plugin(AxiomaPlugin):
def load(self):
self.__action = self.create_action('Схема электросетей',
icon='voronoi.png', on_click=self.on_clicked)
position = Position('Основные', 'Команды')
position.add(self.__action)
self.dock = None

def unload(self):
self.__action.remove()

def on_clicked(self):
mainwindow.load_workspace('D:/Map/Seversk/mapping/el.mws')
не отображается экран карты, хотя модуль выполняется без ошибок
Аватара пользователя
Дмитрий
Сообщения: 56
Зарегистрирован: 04 июн 2019, 08:33

Re: Как открыть программно набор данных

Сообщение Дмитрий » 07 фев 2022, 12:49

Если рабочий набор сохранен с открытой картой, то она должна быть показана.
Ответить