Questions tagged «python»

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

1
将QGIS安装到虚拟环境?
我想安装QGIS。我在默认使用Python 2.5x的系统上,并且使用自制软件下载了python 3.7x。我用这段代码创建了一个虚拟环境。 brew install pyenv brew install pyenv-virtualenv exec $SHELL eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" pyenv activate my-virtualenv 我安装的Python 3.6和模块plotly,numpy,pygments,psycopg2,owslib,和PyYaml。 它们每个都局限于虚拟环境。如何安装软件包,以便仅从特定环境加载和使用Python。

1
使用GeoPandas更改绘图中的标记大小
我有一个带有点和一些关联数据的地理数据框。我想使用geopandas将其绘制在地图上,并使点的大小与geodataframe中的列之一相对应。 到目前为止,我有以下代码: base = world.plot(color='white', figsize=(20,10)) geo_df.plot(ax=base, marker='.', color='red', markersize = geo_df['Pop_2005']) plt.xlim([-85, -60]) plt.ylim([-5, 12.5]); 但我收到以下错误: TypeError: cannot convert the series to <class 'float'> 有任何想法吗?

1
调用gdal_merge进入python脚本
我是python的新手,并且对如何在(spyder)python脚本中使用gdal_merge不屑一顾。我使用Windows 10,Python 3.6,并从osgeo4w安装了gdal工具。我意识到还有很多其他文章描述了这个问题,但是没有一个可以帮助我解决这个问题。 当我从cmd调用gdal模块时,它的工作原理很像: python "C:\OSGeo4W64\bin\gdal_merge.py" -o merged.tif input1.tif input2.tif 但是,我无法使其在python脚本(spyder)中正常工作。 第一种方法产生一个输出,但是名称不正确:它产生一个“ out.tif”文件,而不是我要求的“ merged.tif”文件: import sys sys.path.append('C:\\OSGeo4W64\\bin') import gdal_merge as gm gm.main(['-o', 'merged.tif', 'N00W078.tif', 'N00W079.tif']) 第二种方法只是不产生任何输出: import subprocess merge_command = ["python", "C:\OSGeo4W64\bin\gdal_merge.py", "-o", "merged.tif", "input1.tif", "input2.tif"] subprocess.call(merge_command,shell=True) 关于如何解决此问题有什么想法?


3
跨国际日期变更线的多边形[-180 .. + 180经度]
我正在尝试为卫星轨道条带生成多边形。到目前为止,我有一种方法可以生成两条线,以[lat,long]表示每个条带的边缘。一些条带跨越了国际日期变更线,因此绕了一下: 我能够通过以下方式解决此问题ogr2ogr -wrapdateline: ogr2ogr -wrapdateline -f "ESRI Shapefile" test.shp orbits.shp 哪条线可能会分开 现在,我希望能够在两条线的内部生成多边形。因此,例如,在条幅的一个边缘与日期线交叉的情况下,当多边形出现在另一侧时会填充该多边形,例如: 我需要一种自动化的方法,因为我需要重复很多次任务。最好在python中,因为那是我生成线的方式。这是包含这些行的两个shapefile:wraparound ; datelinefixed

1
Python GDAL:ogr.open或driver.open?
我一直在使用GDAL和python来操纵shapefile。打开源文件时,我先将驱动程序设置为“ ESRI Shapefile”,然后使用所需的shapefile调用驱动程序的“ Open”方法。 我对此没有任何问题;但是我很好奇Driver实例方法“ Open”和ogr函数“ Open”之间的区别是什么。例如,两者之间有什么区别? driver = ogr.GetDriverByName("ESRI Shapefile") source = driver.Open(“O:\myshp.shp”,0) 和 source = ogr.Open(“O:\myshp.shp”,0) 在特定的场景中,您会使用一个场景吗?
10 python  gdal 


2
从Python使用ArcObjects的准则
到目前为止,从Python访问ArcObjects吗?是我在GIS Stack Exchange上阅读和引用最多的问答。尽管取得了成功,但是在实际使用方面,它可能是我最薄弱的领域之一。表现不佳的很大一部分是由于我阅读和理解ArcObjects文档的能力很差。 那么,对于任何给定的任务,将.net / c ++ / java / ...文档和示例转换为python等价物有哪些准则?(哪种语言最适合该语言?),什么是最好的索引或登录页面?应该重点关注什么东西,并且至少可能同样重要,可以自由忽略的东西是什么? 假设您的读者至少具有python素养,并且不懂其他开发语言。从最初的构想和研究到有效的python结果,带我们进行一次小型编码练习。

3
是否可以通过Python命令设置项目CRS?
是否可以通过Python命令在QGIS中设置项目的项目CRS? 在我的情况下,用户应打开QGIS,启动我的书面插件,此插件将加载具有epsg代码31467(高斯Krueger区域3)的空间数据。不幸的是,QGIS的默认CRS是WGS84,所以我遇到了单位和比例的麻烦。 我的第一种方法是使用以下代码: my_crs = core.QgsCoordinateReferenceSystem(31467, core.QgsCoordinateReferenceSystem.EpsgCrsId) self.iface.mapCanvas().mapRenderer().setDestinationCrs(my_crs) 这将CRS更改(在已经可视化数据之后)到高斯Krueger区域3。至少右下角的espg代码已更改。单位仍然是度,刻度是完全错误的。高斯·克鲁格的1:5000是WGS 84中的1:528822376(在我的情况下是QGIS)。在属性中手动设置项目CRS之后,项目crs实际上是GK3,并且比例和单位正确。 所以我的问题是,我可以用不同于完成项目的其他方式设置项目CRS吗?我想避免手动方式。 我通过添加以下代码解决了该问题: qgis.utils.iface.mapCanvas().setMapUnits(0) qgis.utils.iface.mapCanvas().refresh() 这会将单位设置为米,并且刻度会自动更新。0代表米,1代表英尺,2代表度,3代表未知数。
10 qgis  python 

3
使用Python获取QGIS中一项选定功能的数据吗?
我对python和QGIS有问题。是否可以使用python获取QGIS中一项选定功能的数据,如果可以,怎么办? 在我的示例中,我有一个图层,其中显示了一些用于城市规划的地块。如果现在选择一个宗地,我想获取该宗地的数据。此数据应通过python脚本读取,然后添加到自动创建的PDF文件中。最后一步很容易,但是我没有从所选功能中获取数据。 可以从活动层获取数据,但是也可以从该层的一个选定要素中获取数据吗? 希望您能够帮助我。问候
10 qgis  python  pyqgis 

5
在ArcGIS中以编程方式编辑/更新元数据?
有谁成功通过编程方式更新了ArcGIS 10中的元数据?考虑使用Python / arcpy但也可以使用ArcObjects(C#或Python / comtypes)。 我需要同时更新FGDC和ArcGIS-ISO格式的元数据,并且无论使用哪种解决方案,都必须能够保留现有(非空白)元素以及添加的元素,除非在发生冲突的情况下添加的元素将覆盖现有元素。

1
从MODIS测绘数据中提取特定纬度和经度的值
我正在尝试确定地球上特定地点(即我们的天文观测台)上随时间变化的可沉淀水蒸气(PWV),臭氧和气溶胶的量。为此,我已经有了一些Python代码modapsclient,可以使用这些代码每天两次下载MODIS Aqua和Terra MYDATML2和MODATML2产品,这些产品涵盖了我感兴趣的特定经度和纬度。 我不确定如何提取所需的特定量(例如,获取MODIS数据的时间和天文台特定纬度和经度的PWV),以使其成为时间值序列。该MYDATML2产品似乎包含二维纬度和经度网格Cell_Along_Swath_5km,并Cell_Across_Swath_5km让我猜这使得SWATH数据相对于瓷砖或网格数据?我想要的数量Precipitable_Water_Infrared_ClearSky似乎也与相对Cell_Along_Swath_5km,Cell_Across_Swath_5km但是我不确定如何在特定的纬度上获得该PWV值,我对此感兴趣。请帮忙吗?

1
为什么我的sceneID无法在landsat-utils中下载?
我需要自动下载Landsat映像以进行森林监视。我正在使用landsat-utils软件包。但是,当我从兴趣区域设置我的sceneID时,代码无法正常运行。 因此,这是我要获取以测试脚本的sceneID(LC82150682015350LGN01)的一个示例。 我试图从USGS输入用户名和密码,但是它不能解决问题,但问题仍然存在。 这里的代码: $ landsat download LC82150682015350LGN01 AttributeError: 'RemoteFileDoesntExist' object has no attribute 'message' 当我设置USGS用户名和密码时,错误是: AttributeError: 'USGSError' object has no attribute 'message' 为什么我没有使用此sceneID获得文件?我已更改它,但遇到了同样的问题。



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.