Questions tagged «qgis»

QGIS是根据GNU通用公共许可证许可的跨平台GIS应用程序。


2
在QGIS 2.18.1中通过python合并矢量层
我目前正在使用以下代码将两个矢量层合并在一起: def append_layers(layer1, layer2, output): from processing.core.Processing import Processing Processing.initialize() import processing.tools processing.tools.general.runalg("qgis:mergevectorlayers", layer1, layer2, output) append_layers(layer1.shp, layer2.shp, output.shp) 这在QGIS 2.14中似乎可以正常工作,但是在2.18.1中失败,并显示以下消息: Error: Wrong number of parameters ALGORITHM: Merge vector layers 在2.14和2.18之间是否有变化?还是我只是缺少真正明显的东西?

2
将文本从每个分隔符之前的字符串字段拆分为新字段
我试图从包含以点分隔的文本的字符串字段中提取文本数据,然后使用字段计算器将其放置在新字段中。 我正在使用此python函数(源自QGIS中/之前的如何提取文本?): from qgis.core import * from qgis.gui import * @qgsfunction(args='auto', group='Custom') def func(value1, feature, parent): return value1.split('.')[0] 这将返回第一个点之前的所有文本。现在,我想知道如何编写该函数以将每个分隔的文本行放在单独的字段中。 之前: 后:


1
在QGIS API中保存空间索引?
我正在尝试使用Qgis API为某些shapefile创建空间索引。我已按照内森·伍德罗(Nathan Woodrow)博客(https://nathanw.net/2013/01/04/using-a-qgis-spatial-index-to-speed-up-your-code/)中所述的步骤进行操作,并且效果很好: layer = QgsVectorLayer(path, name, 'ogr') idx = QgsSpatialIndex() all_features = layer.getFeatures() map(idx.insertFeature, all_features) 我的问题是我没有任何结果文件(.qix?.sbn?.sbx?) 如何保存该空间索引,以便Shapefile的未来用户可以从中受益?


3
更改Shapefile数据源编码?
我试图通过属性更改唯一的shapefile数据源编码,以及如何将shapefile从LATIN1编码为UTF-8?但这并没有改变。 如果不保存QGIS项目,是否不能直接更改shapefile数据源编码? 我也尝试了这段代码,它显示了更改编码,但是当我再次打开shapefile时,它显示了相同的旧系统编码: for layer in QgsMapLayerRegistry.instance().mapLayers().values(): layer.setProviderEncoding(u'UTF-8') layer.dataProvider().setEncoding(u'UTF-8') print layer.name(), layer.dataProvider().encoding() (我不是保存QGIS项目,而是直接访问和保存shapefile。保存项目并执行此任务后,它将正常工作)
9 qgis  pyqgis  encoding 

2
将带有坐标列表的Excel文件添加到QGIS作为图层?
我之前在QGIS中添加了分隔的文本图层,并分别包含了经度和纬度。但是现在我有一个Excel文件,例如: station no parcel no parcel coordinates 63 215 X1,Y1; X2,Y2; X3,Y3; X4,Y4 因此,我将每个宗地的所有宗地坐标都放在一列中。我需要将此数据和地块添加到我的先前的shapefile中,没有桩号。但是我不知道如何将这个坐标导入QGIS。

1
在QGIS中附加ArcGIS图像服务器数据集?
我尝试使用'qgis.utils.iface.addRasterLayer()'在QGIS中添加数据集。但这会引发此错误。 无效的层:GDAL提供者无法打开GDAL数据集 http ://precisionedgeag.com:8080/arcgis/rest/services/ImageServices/RapidEye_R_NDVI?f=json&pretty=true:`C:\ DOCUME〜1 \ 15937.DSM \ LOCALS〜1 \ Temp \ file.dat'无法识别为受支持的文件格式。栅格层提供者无效(提供者:gdal,URI:http://precisionedgeag.com:8080 / arcgis / rest / services / ImageServices / RapidEye_R_NDVI?f = json&pretty = true 如何在QGIS中添加此ArcGIS服务器(Imageservice数据集)?

1
合并相邻的平行线并将计数添加为QGIS中的属性?
我有一个包含多条线的层,这些线代表飞机的飞行轨迹。我的目标是创建地图以分析某些空域中的交通流量。 我想合并彼此相距一定距离(例如1海里)内的所有平行线或接近平行线的线段。 合并的新行应包含一个属性,其中包含已合并的原始行数。例如,如果将5条平行线合并为一条,则新合并的线应具有5的count属性,这将允许我相应地设置其样式。 考虑以下原理图示例: 输入: 三个单独的线,其中两个具有相同的平行线段。 所需的输出: 绿色和橙色线的公共部分已合并为一条线(红色)。新的红线的count属性为2。 注意:在此示例中,红线将是两个原始线段的平均值。其余的绿色和橙色线段不必完全连接到新的红色线。换句话说,拓扑不必是完整的,因为结果将仅用于视觉表示。 基本上,我正在尝试创建以下内容: (资源) 我将如何在QGIS中实现这样的结果?请记住,实际数据集比上面的示例大得多,因此该解决方案应该是可伸缩的。 我遇到了本教程,该教程的功能与我要尝试的非常相似。但是,我希望能够使用QGIS做到这一点。
9 qgis  line 


2
QGIS 2.16合并缺少文件夹选项
我已经安装了QGIS 2.16,并注意到“合并”(“矢量菜单”>“数据管理”)似乎不再具有“文件夹”选项。此选项使您可以处理/合并完整的文件夹,而不必先将图层加载到项目/工作区中。我看过QGIS 2.16的变更日志-尽管fTools已被Processing工具所代替,但我看不到为什么删除了额外的功能。

2
使用QGIS Modeler将处理结果保存到文件中吗?
我想从模型中将处理结果保存到文件中。在我的模型中,我有一些Extract by location算法(带有两个矢量输入)可以产生合理的结果,但只能作为临时层,我必须Save as...手动进行,这对于大量的分析来说既麻烦又费时。 最好,我想传递一个路径到我的模型,在这里我的结果保存为shapefile(第一步)。 这就是模型。请注意,输出向量(文件)无法连接到任何处理结果: 从屏幕快照a)中可以看出,即使在Save selected features算法b)中,我们也可以传递最终结果的名称,而不是文件。 一个) b) 我有一个模糊的想法,如何使用python脚本实现此目标,但是可以结合使用现有工具吗?

1
在pyqgis中注册自定义qgsfunction
我在独立应用程序中使用pyqgis。现在,我想创建一个自定义表达式,以根据的规则用作filterExpression ruleBasedRendererV2。(我之前尝试过使用现有功能的渲染器,并且一切正常!) 自定义qgisfunction(按位AND功能-由于尚无此功能)如下所示: from qgis.utils import qgsfunction @qgsfunction(args="auto", group='Python') def bitwise_and(value1, value2, feature, parent): return value1 & value2 我也尝试通过以下方式进行注册: from qgis.core import QgsExpression QgsExpression.registerFunction(bitwise_and) 通过以下方式测试表达式: expressionString = 'bitwise_and(2, 2) = 2' exp = QgsExpression(expressionString) if exp.hasParserError(): print(exp.parserErrorString()) (2=2始终给予True)在注册功能后有效,否则失败。但是,我仍然不能在规则内使用表达式... 现在,包含该功能的文件位于我的项目文件夹的顶部,该文件夹自动包含在PATH中,对吗?(根据Nathan Woodrow的说法,文件可以放在PATH中的任何位置-请参阅https://nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/)。 更新:到目前为止,函数的注册可以通过上面的代码进行-现在问题出在函数本身上。 更新#2: 很奇怪!do_nothing获得两个参数的简单函数在我的代码中运行良好: @qgsfunction(args="auto", group='Python') def do_nothing(value1, value2, feature, parent): …

1
如何在空间上对很多点进行分区?
我拥有客户的位置数据,拥有超过1.3亿条记录,分布在全国各地。这是PostGIS中的空间表 我现在想将整个国家划分为“服务区”,这样每个服务区都具有: Atleast 30位客户 最多1000平方公里。 我研究了ArcGIS的Aggregate工具,但由于不符合我的标准,因此: 它没有考虑最小数量 我只有Qgis&Grass可支配。 我可以使用什么工具/过程来实现这一目标?
9 qgis  grass  partition 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.