首页 \ 问答 \ 在另一个插件中使用qgis核心插件(Useage of qgis core plugin in another plugin)

在另一个插件中使用qgis核心插件(Useage of qgis core plugin in another plugin)

我正在尝试在QGIS中开发一个插件,其中导入数据作为点,我希望将点插入到多边形,然后对多边形运行分析。

如果我停止我的插件,使用qgis核心工具“Interpolate”,然后运行我的分析,它的工作完美。 但有什么办法可以导入Interpolate工具并自行提供工具? 就像是:

from qgis.core.??SOMETHING?? import interpolate

interpolate(InterpolateLayer, InterpolateMethod, numberOfColumns, numbersOfRows etc. etc.)

如果有任何方法我可以使用postgis替代? 我试过了:

select st_delaunaytriangles(pos, 0.001, 1) into new_table from table_with_point_as_pos

I am trying to develop a plugin in QGIS where import data as points, I would than like to interpolate the points to polygon and then run an analyse on the polygons.

It works perfectly if I stop my plugin, use the qgis core tool "Interpolate" and then run my analyse. But is there any way that I can import the Interpolate tool and feed the tool my self? Something like:

from qgis.core.??SOMETHING?? import interpolate

interpolate(InterpolateLayer, InterpolateMethod, numberOfColumns, numbersOfRows etc. etc.)

Alternative if there is any method that I can use from postgis? I tried:

select st_delaunaytriangles(pos, 0.001, 1) into new_table from table_with_point_as_pos

原文:https://stackoverflow.com/questions/37700806
更新时间:2019-11-21 10:10

最满意答案

我终于搞清楚了!

import processing
GRASS_REGION_PARAMETER = '%f,%f,%f,%f'% (min_lon, max_lon, min_lat , max_lat)
processing.runandload("grass:v.voronoi", path_and_file_name_point,False, False, GRASS_REGION_PARAMETER, -1, 0, 3, path_and_file_name_poly)

我在获取GRASS_REGION_PARAMETER的正确格式时遇到了很大的问题。 我最后有一个额外的空间导致没有创建多边形文件( "= '%f, %f, %f, %f '%"等而不是"= '%f,%f,%f,%f'%"等)

现在唯一的“问题”是,用100k +点运行这个过程需要相当长的时间。


I finally figure it out!

import processing
GRASS_REGION_PARAMETER = '%f,%f,%f,%f'% (min_lon, max_lon, min_lat , max_lat)
processing.runandload("grass:v.voronoi", path_and_file_name_point,False, False, GRASS_REGION_PARAMETER, -1, 0, 3, path_and_file_name_poly)

I had huge problems with getting the correct format for GRASS_REGION_PARAMETER. I had an extra space in the end which resulted in that no polygon file were created ("= '%f, %f, %f, %f '%" etc. instead of "= '%f,%f,%f,%f'%" etc.)

The only "problem" that remains now are that it takes rather long time to run the process with 100k+ points.

2016-07-01

相关问答

更多

如果一个物体撞得太快,区域约束就会炸毁我的物理模拟(Area constraint blows up my physics simulation if a body slams into it too fast)

我看到你正在用恒定的时间步长T进行计算。当在每一步上建模碰撞时,你应该使用等于最小时间的时间步长,然后任何原子到达任何障碍物。 使时间步长变化,原子永远不会“隧道”障碍。 PS碰撞检测有很多优化,请阅读gamedev论文以获取相关信息。 PS一个bug? force = new Vector2(-(_min.X - atom.Position.X), 0); 为X和Y反射单独创建力。 当原子进入角落时会发生什么? 只会施加第二个力。 PPS:使用epsilon 另一个重要的注意事项:如果使用浮

在另一个线程中使用WPF多边形(Using a WPF Polygon in another thread)

问题不在于Dictionary ,问题是Polygon存储在Dictionary中。 这些是在UI线程中创建的WPF UI元素,因此只有UI线程可以使用它们。 您可以在UI线程中执行Render操作(使用Dispatcher.Invoke )。 这意味着渲染会阻止您的UI线程,但至少在渲染操作之间 ,UI线程将能够处理其他事情,即,如果单个渲染操作所需的时间不是太多,则UI应该保持响应长。 The problem is not the Dictionary, the problem is the

Xcode英特尔编译器icc找不到#include (Xcode Intel compiler icc cannot find #include )

你已经设置了什么作为基础SDK? 什么版本的Xcode? FWIW我刚尝试使用Xcode 3.2.3和ICC 11.1(当然是OS X 10.6) - 使用标准Xcode模板创建了一个新的C ++控制台应用程序,将#include <algorithm>添加到main.cc,从默认切换gcc 4.2到ICC,它编译并运行时没有警告或错误。 基本SDK是系统默认值(10.6)。 可能只是您安装了错误的Xcode和/或ICC,或者您可能更改了基本SDK等项目设置,这会导致问题。 What do yo

Java - 在发送到方法之前递增变量(Java - Incrementing a variable before sending to the method)

k++执行后增量 。 换句话说,表达式的值是k的原始值,然后k递增。 在调用方法之前它仍然会增加,但作为参数传递的值是增量发生之前的值。 换句话说,打电话: x = list.get(k++); 相当于: int tmp = k; k = k + 1; x = list.get(tmp); 所以,如果你真的有: memory_version = array_list_data.get(k++); // Calls with 0, then k=1 mains_voltage_min =

如何使用Ember Data查找模型?(How to find model with Ember Data?)

现在,ember数据1.0.0 beta2中的等效方法是: this.store.find('person', {age: 30}) 有关所有更改的更多信息,请点击此处 。 希望能帮助到你。 The equivalent method in ember data 1.0.0 beta2 is now: this.store.find('person', {age: 30}) More info on all the changes can be found here. Hope it hel

Google可视化API的替代方案[关闭](Alternative to Google visualisation API [closed])

http://raphaeljs.com是一个非常好的图书馆 http://raphaeljs.com is a very nice library

使用python运行Latex编译器,如果乳胶中有错误,为什么会挂起?(Using python to run Latex compiler, why does it hang if there are errors in the latex?)

当遇到错误时, pdflatex询问用户如何继续,因此您的脚本会“挂起”,因为它需要输入。 使用pdflatex -interaction=nonstopmode -halt-on-error 。 请参阅此TeX StackExchange问题 。 When it encounters errors, pdflatex asks the user about how to proceed, so your script "hangs" because it is expecting input.

在wordpress中x秒后隐藏div(Hiding a div after x seconds in wordpress)

确保正确包含jquery: http://digwp.com/2009/06/including-jquery-in-wordpress-the-right-way/ 如何向WordPress添加简单的jQuery脚本? http://www.ericmmartin.com/5-tips-for-using-jquery-with-wordpress/ 在wordpress环境中使用jQuery()而不是$() 。 或者您可以: jQuery(function($){ setTimeout(

相关文章

更多

最新问答

更多
  • 用于Json解析的Phonegap插件(Phonegap Plugin for Json parsing)
  • ActionScript 2加载另一个加载其他文件的SWF - 相对路径/网址问题(ActionScript 2 load another SWF that loads other files - relative path/url problem)
  • 使用sql将一些列值放入新列中(put some column values in a new column using sql)
  • 在iOS中为NivevehGL设置View的背景图像(Setting the background image of the View for NivevehGL in iOS)
  • 从普通的C#开发人员到普通的Java开发人员需要多长时间?(How long will take from an average C# developer to an average Java developer?)
  • 通过datetimefield SQL Server加入(Joining by datetimefield SQL Server)
  • Python中是否有任何智能打印方法?(Are there any smart print methods in Python?)
  • R中关闭另一个表[关闭](Removing one table from another in R [closed])
  • 枚举数字(Enumerating digits)
  • 我想从现有数组中获取新数组,其中key是旧数组的重复值,value是重复计数?(I want new array from existing array with key as repeated value from old array and value as repeated count?)
  • 如何在不创建实例的情况下调用类方法(How to call a class method without creating an instance)
  • wxHaskell中嵌入的图像(Embedded images in wxHaskell)
  • 蚂蚁战争任务如何运作?(How does the ant war task work?)
  • Windows Workflow 4中的人员活动支持(Human activity support in Windows Workflow 4)
  • 在Firebug的Net Panel中缺少'DomContentLoaded'和'加载'时间信息(Missing 'DomContentLoaded' and 'load' time information in Firebug's Net Panel)
  • 如何抓取页面以查看复选框/广播/文本输入并检测其原始值的更改?(How can I crawl the page for checkbox/radio/text inputs and detect changes to their original values?)
  • Document.ready不起作用(Document.ready won't work)
  • Java序列化问题(Java serialization problem)
  • Javascript:如何在页面刷新时处理令牌验证?(Javascript: How should I handle token verification on page refresh?)
  • 数据库安全:中间“to_be_deleted”列/表?(Database safety: Intermediary “to_be_deleted” column/table?)
  • 使用mayavi时如何删除scalar_cut_plane中的红框和白色箭头?(How to remove the red frame and white arrow in scalar_cut_plane when using mayavi?)
  • 如何延迟MainPage,所以它在加载数据后启动?(How to delay MainPage, so it starts after data is loaded?)
  • 按Enter键更改EditText(Press Enter to change EditText)
  • 使用libavcodec解码时可以裁剪帧大小吗?(Can the frame size be cropped during decoding using libavcodec?)
  • Performance_Python根据元组的3个元素中的2个获得2个元组列表的并集(Performance_Python get union of 2 lists of tuple according to 2 out of the 3 elements of the tuple)
  • 为什么法线会随相机旋转?(Why normals rotate with camera?)
  • 如何将Intent与ListView一起使用?(How do I use Intents with ListView?)
  • html_safe无法使用rails(html_safe not working with rails)
  • 录制没有单独的程序或库的opengl视频(record opengl video without separate program or library)
  • 滚动到特定视图(Scroll to particular view)