Questions tagged «python»

Python是许多GIS程序中使用的一种开源解释型编程语言。

2
ArcGIS ModelBuilder可以打开Excel文件进​​行手动编辑,然后将这些编辑反馈回模型吗?
我的任务是使用ArcGIS ModelBuilder创建一个模型,该模型最初运行几个地理处理任务,然后再将Excel表连接到这些地理处理的结果。但是,模型需要首先实际打开Excel文件,以便用户手动编辑它,然后用户保存其编辑并关闭文件。然后,在模型继续执行许多其他地理处理任务之前,期望模型将这个Excel文件连接到数据集的属性表(模型的一部分)。 我在下面提供了一个高级示意图,以帮助说明这一点(我理解,开始时可能没有多大意义)。 因此,该模型将运行,完成一些地理处理任务,暂停以打开Excel文件,等待用户对其进行编辑,保存并关闭它,然后再继续将该Excel文件加入属性表,然后运行一个数字。其他地理处理任务。 我应该想象这将需要将一个或两个Python脚本合并到模型中。目前,尽管我只是想知道这个概念是否确实可行。

2
从模板以编程方式加载composer并使用PyQGIS生成图集
我正在尝试构建一个插件来从文件加载打印作曲家,生成图集并导出到图像。到目前为止,我已经成功加载了模板并将其导出到图像。 我无法将图例中的任何图层(也在目录中)添加到导出的地图中,这将导致生成空白地图,并且所有字段表达式均不起作用。 # Get layers in the legend and append, must be a cleaner way to do this? layers = self.iface.legendInterface().layers() layerStringList = [] for layer in layers: layerID = layer.id() layerStringList.append(layerID) # Add layer to map render myMapRenderer = QgsMapRenderer() myMapRenderer.setLayerSet(layerStringList) myMapRenderer.setProjectionsEnabled(False) # Load template myComposition = QgsComposition(myMapRenderer) myFile …

3
使用仅限Python的工具读取国家海拔数据集(ArcGrid / GridFloat / IMG)吗?
我已经从USGS提供的国家海拔数据集中找到了高精度的海拔数据(1/3-1/9弧秒分辨率)。它具有int IMG,Arcgrid和GridFloat格式。我知道ArcGrid与付费软件包相对应,但是我试图坚持使用免费提供的工具。 我有要与地面相关的GPS数据。 是否有任何Python库可让我使用IMG,ArcGrid或GridFloat格式的数据文件将GPS数据转换为海拔高度?

2
如何在pyQGIS中更改矢量层的颜色?
添加矢量图层时是否可以更改颜色?我有一个带有水域的矢量层,并希望将其加载为蓝色样式。该层添加有: QgsMapLayerRegistry.instance().addMapLayer(self.vlayer) 加载后或加载时,我能以某种方式更改颜色吗?
10 qgis  python  pyqgis  color 

3
如何使用pyQGIS缩放到所选功能
我想创建一个选择功能并将其缩放的功能(在QGIS中类似)。因此,具有以下功能: QgsMapLayerRegistry.instance().addMapLayer(self.vlayer) def zoomTo(self): layer = self.vlayer atable = self.ui.table selectList=[] for i in atable.selectionModel().selectedRows(): ID = atable.item(i.row(),0).text() selectList.append(int(ID)) layer.setSelectedFeatures(selectList) 所选要素在地图上突出显示。但是我不知道如何对选定的要素进行“缩放”或将其聚焦在地图中间。
10 qgis  python  pyqgis 

3
在运行沉重的插件时,如何防止Qgis被检测为“无响应”?
我使用以下行来通知用户有关状态: iface.mainWindow().statusBar().showMessage("Status:" + str(i)) 该插件大约需要2分钟才能在我的数据集上运行,但是Windows将其检测为“未响应”并停止显示状态更新。对于新用户来说,这不是很好,因为它看起来好像程序崩溃了。 有没有解决的办法,这样用户就不会对插件的状态感到困惑?
10 qgis  python 


1
用于获取两点之间的高程差的Python脚本[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为地理信息系统堆栈交换的主题。 上个月关闭。 我有几个1000公里长的河段。我需要找到从上游到下游两个距离为1 Km的连续点之间的高程差。如何从DEM获得高程差?我有栅格格式和矢量格式的流段。如果我对Python脚本有一些了解,那会更好。
10 python  dem  elevation 

1
向土地测量师教授Python
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 有没有人有使用Python自动执行或简化常见测量任务的良好示例? 我本周将为GIS课堂教授Python / ArcPy实验室。班上有许多调查学生认为GIS在很大程度上浪费了他们的时间,并且只参加该课程是因为这是必需的。我想给他们一些激动的东西。 一个小背景:大多数学生毕业后可能会在林业或产权公司工作,而我们在阿肯色州,所以这里几乎所有的东西都是基于PLSS。到目前为止,我的想法是向他们展示角度数学函数,并提到了几个免费的基于Python的CAD程序。我还了解到有一个项目可以为AutoCAD编写一个提供Python界面的插件。 我已经教过这堂课,而且正如预期的那样,验船师并不太激动。我仍然很乐意听到使用Python促进测量的任何很好的例子。

2
如何使用ogr python缓冲矢量shapefile?
我想学习如何使用Python中的国家和居住区的数据集从使用OGR http://www.naturalearthdata.com/downloads/50m-cultural-vectors/。我试图使用过滤器和缓冲区在命名国家/地区的指定缓冲区(从ne_50m_admin_0_countries.shp中的要素类ADMIN过滤)中查找点(ne_50m_populated_places.shp)。问题似乎是我不了解用于buffer()的单位。在脚本中,我只是使用任意值10来测试脚本是否有效。该脚本会运行,但会从加勒比海地区返回命名国家为“安哥拉”的人口稠密的地方。理想情况下,我希望能够指定一个缓冲距离,例如500km,但是由于我的理解是buffer()使用的是country.shp单位(将采用wgs84纬度/经度格式),因此无法解决该问题。对此方法的建议将不胜感激。 # import modules import ogr, os, sys ## data source os.chdir('C:/data/naturalearth/50m_cultural') # get the shapefile driver driver = ogr.GetDriverByName('ESRI Shapefile') # open ne_50m_admin_0_countries.shp and get the layer admin = driver.Open('ne_50m_admin_0_countries.shp') if admin is None: print 'Could not open ne_50m_admin_0_countries.shp' sys.exit(1) adminLayer = admin.GetLayer() # open ne_50m_populated_places.shp and get …
10 python  ogr  buffer 

2
确定来自shapefile的最小多边形数以覆盖感兴趣的区域
我有很多shapefile,它们代表感兴趣的区域,需要使用各种卫星图像源(IKONOS,RapidEye等)进行分析。不幸的是,这些图像没有使用像Landsat这样的路径系统,因此范围差异很大。 我在每个AOI上剪切了shapefile,分别表示不同图像采集的范围,所有这些都已经被认为可以接受。其中一些shapefile具有500个或更多的多边形。 我需要找到一种方法,最好是一种可以自动化的方法(最好是Python和ArcInfo 10,也可以使用FOSS),以确定覆盖我每个感兴趣区域的最少数量的多边形。

2
使用pyshp将.csv文件转换为.shp?
我试图了解如何在python中使用csv模块在与python脚本相同的文件夹中打开csv文件,然后使用shapefile模块pyshp创建shapefile。 csv文件如下所示,但可以有几千行的记录: id_nr;date;target;start_lat;start_lon 1;2012-05-21;navpoint 25x;55.123654;13.456954 1;2012-05-23;navpoint 11f;55.143654;12.456954
10 python  shapefile  csv  pyshp 

2
如何绕过arcpy for / while循环中的错误?
我有一个方便的脚本工具,该脚本工具在工作空间中循环并重命名shapefile并将其复制到要素数据集。但是,如果工作空间中某个位置的shapefile损坏,则脚本将失败并停止处理。 您如何处理此类错误?有没有办法打印错误文件并继续处理for循环中的下一个shapefile,直到完成? import arcpy from arcpy import env # Allow overwriting of output env.overwriteOutput = True # Parameters env.workspace = arcpy.GetParameterAsText(0) state = arcpy.GetParameterAsText(1) gdb = arcpy.GetParameterAsText(2) # Get a list of shapefiles in folder fcs = arcpy.ListFeatureClasses() # Find the total count of shapefiles in list fcCount = len(fcs) …
10 python  arcpy 

1
在使用pyqgis遍历矢量层时,如何检查是否选择了要素?
在使用以下代码(从pyqgis cookbook的示例总结)遍历向量层的同时,有没有办法检查是否选择了要素? provider = vlayer.dataProvider() feat = QgsFeature() allAttrs = provider.attributeIndexes() provider.select(allAttrs) while provider.nextFeature(feat): geom = feat.geometry() attrs = feat.attributeMap() for (k,attr) in attrs.iteritems(): print "%d: %s" % (k, attr.toString()) 另外,我可以使用创建一个选定功能的列表vlayer.selectedFeatures(),但我希望有一种方法可以直接检查每个功能。
10 qgis  python  pyqgis  select 

2
如何在GDAL / OGR Python绑定中捕获PostgreSQL / PostGIS错误?
查询失败后是否可以在OGR中捕获PostgreSQL输出错误消息? 例如 conn.ExecuteSQL('SELECT * FROM non_existing_table;') 在Postgres中,这将返回错误消息: "Error: relation 'non_existing_table' does not exist." 在ogr中,我们获得了标准: "Error: current transaction is aborted, commands ignored until end of transaction block" 如果我们能够捕获/解析Postgres错误消息,那将是一个额外的好处。考虑到我对SWIG / CPL的了解,我怀疑这有点长远,但是值得一问,看看是否有人有想法。理想情况下,这将是在Python中进行,但是我也会接受C / C ++注释! 谢谢。

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.