Questions tagged «qgis»

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



1
在PostgreSQL的QGIS中使用array []数据类型
我只是GIS的初学者,所以很高兴在这里看到任何评论。 我在PostgreSQL中有已连接到QGIS的表。表中的列具有数据类型array[]。但是用户使用{a,d,c}这样的视图将数据插入列并不容易。有没有简单的方法可以编辑数据? 我只是想将数据放入'a,b,c'这样的QGIS中,并trigger在INSERT / UPDATE之前进行创建,以便将数据Postgres正确地放入表中。但这似乎也不是最好的方法。

3
使用QGIS以编程方式查找与另一个矢量多边形图层重叠> 90%的多边形?
我试图弄清楚如何使用python提取一个向量中与另一个向量重叠> 90%的多边形。然后,我想要一个仅显示这些多边形的矢量/地图。示例图片显示了我的图层。我希望所有> 90%红色的灰色多边形。 我需要通过python(或类似的自动化方法)来完成所有操作。我有约1000张地图以相同的方式处理。
9 qgis  python  pyqgis 

4
使QGIS属性表字段自动执行?
我正在以某种方式使用QGIS和我拥有的Excel工作表进行水文项目。为此,我想提取包含在代表管道截面的矢量层中的线的一些信息。 我需要提取的信息是: 身份证号 长度 X,Y起始和结束坐标 我找到了一种使用“ $ length”和另一种用于X和Y坐标的算法捕获该字段的方法,但是为此,我需要打开Attributes表,将表达式放在每个属性列中,然后单击以更新字段。 当我画一条线时,有没有办法自动填写这些字段?也就是说,我绘制/编辑一条线(开始编辑或结束节点),当我打开属性表时,将填充并更新长度字段和坐标X,Y。

1
QGIS为什么不从.prj文件检测CRS?
我在postgreSQL / postGIS数据库中有许多1公里的六角形网格,覆盖了美国的各个县。每个网格具有CRS EPSG:3857,而县层具有EPSG:3857。在QGIS中使用县查看网格时,一切看起来都很宏伟。 但是...为了与同事共享这些网格,我不得不使用ogr2​​ogr将它们导出到shapefile。在QGIS中查看这些图像时,每个网格看上去都在大约20 km左右移动,并且QGIS自动将CRS设置为EPSG:3395(这不是项目CRS)。 当我从QGIS导出postGIS表作为shapefile 时,.prj文件看起来与ogr2ogr导出的shapefile完全相同,但是postGIS导出的表正确显示。我注意到从QGIS导出shapefile时QGIS会创建一个.qpj文件,因此得出的结论是QGIS忽略了.prj而是在寻找.qpj。为什么没有.qpj的情况下无法读取.prj?其他shapefile(例如来自美国人口普查的shapefile)没有.qpj,但QGIS可以正确显示这些文件。 我想出了一种解决方法,方法是保存default.qpj并为此使用ogr2​​ogr导出的每个文件为此创建一个新的.qpj,但这似乎很麻烦,而且显然不可复制,因为它仅适用于EPSG:3857。 旁注:我正在使用QGIS 2.0.1。 编辑: 这是我使用的ogr2ogr命令: ogr2ogr -f "ESRI Shapefile" /home/matt/data/hex_grid_1 PG:'dbname=mydb user=matt' hex_grid_1 .prj的内容: PROJCS [“ WGS_84_Pseudo_Mercator”,GEOGCS [“ GCS_WGS_1984”,DATUM [“ D_WGS_1984”,SPHEROID [“ WGS_1984”,6378137,298.257223563]],PRIMEM [“ Greenwich”,0],UNIT [“ Degree”,0.017453292519943295] [“ Mercator”],PARAMETER [“ central_meridian”,0],PARAMETER [“ false_easting”,0],PARAMETER [“ false_northing”,0],UNIT [“ Meter”,1],PARAMETER [“ standard_parallel_1”,0.0] ] .qpj的内容: PROJCS …
9 qgis  postgis  ogr2ogr  epsg 

2
使用内存层作为Runalg的输入和/或输出?
可以将存储层用作runalg的输入和/或输出吗? 使用runandload可以使它工作: processing.runandload("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\dissolved.shp") 参数2和3是输入层,它们已经在内存中,参数3是输出层,它被写入内存并在以下工具(Dissolve)中使用。这可以正常工作,但是当我尝试对runalg使用相同的逻辑时,似乎未创建我在内存中的合并层,因为Dissolve工具从不运行。例如,以下内容将不起作用: processing.runalg("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\datenschrott\dissolved.shp") 我可以假设runalg要么不接受内存中的图层,要么不输出任何图层?

2
删除特征时如何减小shapefile的大小?
这个小小的脚本删除了所有图层中的所有小功能。这可以正常工作,但.shp文件的大小不会减小。请告诉我为什么... canvas = iface.mapCanvas() expr = QgsExpression("$length<100") for l in canvas.layers(): l.startEditing() it = l.getFeatures(QgsFeatureRequest(expr)) for ft in it: l.deleteFeature(ft.id()) l.commitChanges()
9 qgis  python 

1
QGIS Server将UPDATE…WHERE NULL发送到WFS层中的postgis
我正在运行Windows Server 2012服务器。 PostgreSQL 9.3.5,64位 POSTGIS 2.1.3 QGIS服务器2.6.1-2 QGIS Desktop 2.8.3和2.12 我正在使用使用QGIS Desktop 2.12的Microsoft Surface Pro 4平板电脑来编辑存储在Postgresql数据库中的某些图层。数位板中的层是QGIS Server服务的WFS层。 当我在图层中插入一些数据以强制将数据发送并存储在服务器中后进行编辑时,有时更新未在数据库中进行。 我可以看到POST http请求可以很好地到达服务器,但是有时我看不到数据库中的提交(更新),而有时它可以正常工作并执行提交。 在QGIS Server的日志中,我可以看到(我在QGIS Desktop中更新了3个功能的数据): //QGIS SERVER RECEIVED HTTP POST FROM QGIS DESKTOP [4852][11:11:19] ********************new request*************** [4852][11:11:19] remote ip: 192.168.144.20 [4852][11:11:19] CONTENT_TYPE: text/xml [4852][11:11:19] HTTP_USER_AGENT: Mozilla/5.0 QGIS/2.8.2-Wien [4852][11:11:19] MAP:D:\OSGeo4W\apps\qgis\bin\alumbrado\alumbrado.qgs [4852][11:11:19] REQUEST:Transaction …

1
从QGIS Python插件添加PostGIS层
我尝试开发一个插件,以从插件中向qgis添加postgis层,作为学习python的一部分。 如果我从qgis中的python控制台运行它,则用于添加postgis图层的代码可以从食谱中获取,并且可以正常工作(如果在对话框result == 1中按了OK按钮,则应该将我的图层添加到qgis中)。 但是,如果我从插件运行它,则会引发消息NameError:未定义名称'QgsDataSourceURI'。为什么从插件运行该错误? 我如何从插件/函数内部添加图层与从Python控制台添加图层有区别吗? def run(self): """Run method that performs all the real work""" # show the dialog self.dlg.show() # Run the dialog event loop result = self.dlg.exec_() # See if OK was pressed if result == 1: # Do something useful here - delete the line containing …

1
异国投影QGIS
我想在QGIS中使用一些我看不到直接支持的投影。一个例子就是这样的保形立方体投影。http://www.csiss.org/map-projections/Polyhedral_Globes/Cube_Gnomonic.pdf 关于寻找细节以及使用此或类似投影的任何提示?

3
使用QGIS映射一百万个点
我正在尝试在美国映射不超过元数据的,具有超过一百万纬度/经点的CSV。我从未尝试过映射这么多数据,并且想知道我应该采取什么步骤。我知道QGIS的数据太多,所以我尝试将其拆分为100,000行CSV,但随后得到了很多我不知道该怎么处理的文件。我认为最好是按人口普查汇总点,但是不知道使用Javascript(我从未使用过Python)或命令行工具的最佳方法吗?有什么建议么?
9 qgis  turf 

3
具有多边形的“贪婪”剪切线
我希望将一组折线(下图中的黑线)剪辑到多边形的外部边界。多边形内的任何空隙均应忽略。我理想的输出是黄色虚线。初始线可能是直线,也可能不是直线。图像是一个简化的示例,实际上多边形要复杂得多,并且有数百条线。我认为凸包不会起作用(但是我可能错了)。我对arcgis,qgis,arcpy,shapely等解决方案持开放态度。最好在python中进行编码,因为如有必要,我也对其他选项开放。为了使我的同事更容易共享工具,Arcgis也将是更可取的,但这不是必需的。 我现在能想到的最好的方法是将一条线与多边形相交,在所有边界相交处创建一组点。按距离到直线起点的距离对点进行排序。最远和最近的(FAC)点将是多边形的外边界。然后,使用FAC点从原始线中选择适当的顶点,并从适当的点创建黄色虚线。它应该可以工作,但看起来比必要的更为复杂。 一些其他想法: 这些线是线性的,足以进行点之间的简单距离计算,而不必进行线性参照。 如果有一种工具可以在一点上分割一条线,但是我找不到它,那么在arcpy中这很容易。 有人在想吗?


2
剪切光栅图像会增加文件大小
使用QGIS 2.4.0 Chugiak我有一个关于裁剪光栅图像的问题。我有一个航拍图片,我想使用shapefile的范围进行裁剪。到目前为止,我已经使用光栅/提取/剪切器工具来做到这一点。问题是我的输出栅格的文件大小几乎是原始文件的三倍(即分别为725.283和249.693 kb),而其覆盖面较小。 为什么我的文件更大?有什么办法可以“设置”输出文件的大小? Clipper的帮助功能参考以下页面:http : //www.gdal.org/gdal_translate.html尽管我不能从中做很多。 我对QGIS比较陌生。

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.