Страница 1 из 1

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

Добавлено: 04 фев 2022, 06:39
AlexP
Допустим
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),
но после этого возникает диалог , добавить таблицу в активную карту?

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

Добавлено: 04 фев 2022, 06:42
AlexP
Или допустим в ленте поставить кнопку, которая открывает определенный рабочий набор?

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).
Для его использования, Вам необходимо создать папку и распаковать этот архив в нее. Далее, в диалоге модули/настройки добавить эту созданную папку. После этого модуль появится в списке. Запускаем, отметив галкой.

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

Добавлено: 07 фев 2022, 10:11
AlexP
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')
не отображается экран карты, хотя модуль выполняется без ошибок

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

Добавлено: 07 фев 2022, 12:49
Дмитрий
Если рабочий набор сохранен с открытой картой, то она должна быть показана.