Плагины
Re: Плагины
# Получение активного окна карты
active_map_view = axipy.view_manager.active
# Получение редактируемого слоя активного окна карты
editable_layer = active_map_view.editable_layer
# Получение таблицы редактируемого слоя
table = editable_layer.data_object
attributes = table.schema
attributes.append(attributes.string('new_attr')) # добавляет в конец
====================================================================
attributes.append(attributes.string('new_attr')) # добавляет в конец
AttributeError: 'Schema' object has no attribute 'string'
active_map_view = axipy.view_manager.active
# Получение редактируемого слоя активного окна карты
editable_layer = active_map_view.editable_layer
# Получение таблицы редактируемого слоя
table = editable_layer.data_object
attributes = table.schema
attributes.append(attributes.string('new_attr')) # добавляет в конец
====================================================================
attributes.append(attributes.string('new_attr')) # добавляет в конец
AttributeError: 'Schema' object has no attribute 'string'
Re: Плагины
Александр ! Доброго времени суток !
Возможно ли чтобы при выполнении команд, в Гис Аксиома, они отображались бы в Консоль Python
(либо другом вспомогательном окне). Разработчики могут использовать это окно для того .чтобы увидеть
какие операторы и функции Python API , используются при выполнении различных команд ГИС Аксиома.
P.S. Это значительно облегчит жизнь разработчика.
Возможно ли чтобы при выполнении команд, в Гис Аксиома, они отображались бы в Консоль Python
(либо другом вспомогательном окне). Разработчики могут использовать это окно для того .чтобы увидеть
какие операторы и функции Python API , используются при выполнении различных команд ГИС Аксиома.
P.S. Это значительно облегчит жизнь разработчика.
Re: Плагины
Пример изменения структуры таблицы формата Tab:
Дополнительно прочитать про возможные операции со схемой (axipy.Schema) можно по ссылке: https://axioma-gis.ru/axipy/dev-guide/5 ... a.html#id3
Code: Select all
import axipy as axp
# Получение активного окна карты
active_map_view = axp.view_manager.active
# Получение редактируемого слоя активного окна карты
editable_layer = active_map_view.editable_layer
# Получение таблицы редактируемого слоя
table = editable_layer.data_object # type: axp.Table
# Изменение структуры таблицы формата Tab:
schema = table.schema # type: axp.Schema
# Код Integer
schema.append(axp.Attribute.integer("Код"))
# sem Char (100)
schema.append(axp.Attribute.string("sem", 100))
# h Decimal(10,3)
schema.append(axp.Attribute.decimal("h", 10, 3))
# new_attr string
schema.append(axp.Attribute.string("new_attr"))
# Прямое изменение схемы таблицы поддерживается только для форматов Tab и Shape.
table.schema = schema
Re: Плагины
К сожалению, мы не можем реализовать данный подход в связи с высокой трудоемкостью этого процесса.Матвеич писал(а): ↑28 мар 2024, 13:03 Александр ! Доброго времени суток !
Возможно ли чтобы при выполнении команд, в Гис Аксиома, они отображались бы в Консоль Python
(либо другом вспомогательном окне). Разработчики могут использовать это окно для того .чтобы увидеть
какие операторы и функции Python API , используются при выполнении различных команд ГИС Аксиома.
P.S. Это значительно облегчит жизнь разработчика.
Мы изучили этот вопрос и пришли к выводу, что это будет для нас чрезвычайно сложно.
Re: Плагины
Уважаемый Андрей !
Благодарю Вас за помощь.
Всего то не учел :
import axipy as axp и
table.schema = schema
хотя у меня было : import axipy и работал по примеру из ссылок .... мудрено больно
Благодарю Вас за помощь.
Всего то не учел :
import axipy as axp и
table.schema = schema
хотя у меня было : import axipy и работал по примеру из ссылок .... мудрено больно
Re: Плагины
"import axipy" и "import axipy as axp" делают одно и тоже, axp - это просто удобное сокращение. В коде можно использовать и тот и другой вариант - они равнозначны.
Code: Select all
>>> import axipy
>>> import axipy as axp
>>> axipy == axp
True
Re: Плагины
Доброго времени суток !!!
Андрей Благодарю Вас за помощь !!!
Форумчане вопрос : - "Возможно ли запустить файл *.exe (написан на Visual Basic) из Python API ?"
Андрей Благодарю Вас за помощь !!!
Форумчане вопрос : - "Возможно ли запустить файл *.exe (написан на Visual Basic) из Python API ?"
Re: Плагины
Добрый день.
Да - можно.
import subprocess
subprocess.run(["RegressionSystem.exe", "-config filename"])
https://stackoverflow.com/questions/159 ... ing-python
Да - можно.
import subprocess
subprocess.run(["RegressionSystem.exe", "-config filename"])
https://stackoverflow.com/questions/159 ... ing-python
Re: Плагины
запускаю команды из консоли Python:
>>> import subprocess
>>> subprocess.run(["RegressionSystem.exe", "C:\DJOKER\Topik\TOOLS\geotools.exe"])
результат:
<console>:1: DeprecationWarning: invalid escape sequence \D
Unhandled Python Exception:
Traceback (most recent call last):
File "C:\Program Files\Axioma v5\bin\python\Lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<console>", line 1, in <module>
File "C:\Program Files\Axioma v5\bin\python\Lib\subprocess.py", line 493, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Program Files\Axioma v5\bin\python\Lib\subprocess.py", line 858, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Program Files\Axioma v5\bin\python\Lib\subprocess.py", line 1327, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Не удается найти указанный файл
какой именно файл не удается найти. Мой файл - "C:\DJOKER\Topik\TOOLS\geotools.exe"
вероятно команда : subprocess.run(["RegressionSystem.exe", "C:\DJOKER\Topik\TOOLS\geotools.exe"]) составлена мной неверно ?
>>> import subprocess
>>> subprocess.run(["RegressionSystem.exe", "C:\DJOKER\Topik\TOOLS\geotools.exe"])
результат:
<console>:1: DeprecationWarning: invalid escape sequence \D
Unhandled Python Exception:
Traceback (most recent call last):
File "C:\Program Files\Axioma v5\bin\python\Lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<console>", line 1, in <module>
File "C:\Program Files\Axioma v5\bin\python\Lib\subprocess.py", line 493, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Program Files\Axioma v5\bin\python\Lib\subprocess.py", line 858, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Program Files\Axioma v5\bin\python\Lib\subprocess.py", line 1327, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Не удается найти указанный файл
какой именно файл не удается найти. Мой файл - "C:\DJOKER\Topik\TOOLS\geotools.exe"
вероятно команда : subprocess.run(["RegressionSystem.exe", "C:\DJOKER\Topik\TOOLS\geotools.exe"]) составлена мной неверно ?
Re: Плагины
Дополнение - я работаю в среде Python API ГИС Аксиома