我想用python自动化一些qgis进程。我找到了一篇有趣的文章(http://www.qgistutorials.com/en/docs/running_qgis_jobs.html),它描述了如何在日志中看到处理命令。我检查了它,它适用于内置命令,但我还需要使用一个名为MMQGIS的插件。日志不包含此插件的进程命令。我可以从命令行以某种方式调用它吗?
如果我只使用内置函数创建一个平端边缓冲区,那么另一个解决方案因为我不需要使用这个插件,希望日志将包含处理命令。 / p>
答案 0 :(得分:0)
您可以从插件中引用另一个插件,从qgis.core导入插件dict:
from qgis.core import plugins #QGIS2
from qgis.utils import plugins #QGIS3
然后您可以列出所需插件的所有公开方法和属性。在你的情况下:
dir (plugins['mmqgis'])
你会得到
['__doc__', '__init__', '__module__', 'animate_columns', 'animate_columns_action', 'animate_lines', 'animate_lines_action', 'animate_menu', 'animate_rows', 'animate_rows_action', 'attribute_export', 'attribute_export_action', 'attribute_join', 'attribute_join_action', 'buffers', 'buffers_action', 'color_ramp', 'combine_menu', 'create_menu', 'delete_duplicate_action', 'delete_duplicate_geometries', 'float_to_text', 'float_to_text_action', 'geocode_menu', 'geocode_street_layer', 'geocode_street_layer_action', 'geocode_web_service', 'geocode_web_service_action', 'geometry_convert', 'geometry_convert_action', 'geometry_export', 'geometry_export_action', 'geometry_import', 'geometry_import_action', 'grid', 'grid_action', 'gridify', 'gridify_action', 'hub_distance', 'hub_distance_action', 'hub_lines', 'hub_lines_action', 'iface', 'import_export_menu', 'initGui', 'kml_export', 'kml_export_action', 'merge', 'merge_action', 'mmqgis_add_submenu', 'mmqgis_menu', 'modify_menu', 'search', 'search_action', 'search_select_menu', 'select', 'select_action', 'sort', 'sort_action', 'spatial_join', 'spatial_join_action', 'street_address_join', 'street_address_join_action', 'text_to_float', 'text_to_float_action', 'unload', 'voronoi', 'voronoi_action']
现在如果你想执行一个插件方法:
plugins['mmqgis'].attribute_join()
然后你必须深入研究mmqgis插件架构,用适当的方法和适当的参数调用你需要的方法