问题标签 [qgis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python可以读取电子表格中单元格的值吗?
全部,
python可以读取电子表格中单元格的值吗?
从制图/GIS/分析的角度来看:最简单的示例是在给定 shapefile(GIS 数据集)上运行缓冲区(接近)工具的脚本。
对于缓冲距离参数,脚本将指向电子表格单元格中的值(首选自由或开放式办公室),而不是仅使用“1000”英尺之类的数字。
如果有一种方法可以通过按钮从电子表格中触发脚本,那将是下一步(那么下一步就是在电子表格中添加一个地图控件以查看更新的结果!)
只是为了让我深入了解我的目标:我想使用电子表格作为分析“仪表板”,用户可以在其中使用不同的参数进行分析 - 公园(杂货店等)周围的距离是多少在 1/2 英里对 1/4 英里......然后电子表格中的另一张表将对该附近的人口统计数据进行细分。
谢谢!!!
(也在这里发布:https ://gis.stackexchange.com/questions/49288/can-python-read-the-value-of-a-cell-in-a-spreadsheet )
-mb
python - 创建一个 python shell 环境启动器以使用 pyQgis
我正在尝试修改在“ http://inasafe.linfiniti.com/html/id/developer-docs/platform_windows.html ”中找到的 shell 启动器,以便我可以使用它直接启动我想要的任何 shell(在我的情况,我想在 Windows 的 Python 27 库文件夹中使用默认的 IDLE gui)。到目前为止,我的更改并没有给我带来可以接受的结果。这是我的启动器版本,我应该在哪里更改它?
我的操作系统是 Windows XP,Python 的版本是 2.7.3,而 Qgis 是 1.8 (Lisboa)。我对 Python 和其他东西很陌生,所以如果有一些错误,请原谅我的大错误(但我很确定有)。
c++ - GEOSGeometry 到 geos::geom::Geometry
我可能有小问题。我正在尝试使用 GEOS 库。我在自己的库中有使用 GEOS 库的函数。我想在我用 C++ 编写的 QGIS 插件中使用这个库。问题是,我的库中的函数使用 . geos::geom::Geometry
,但在 QGIS 插件中,有GEOSGeometry
. 我认为这是同一件事,但可能不是。
谁能解释我这两者之间的区别并给我一个建议,如何将它们相互转换或告诉我我做错了什么?谢谢。
gis - 如何使用多边形 id 访问 shapefile 中的特定多边形?
我有一个由 QGIS 创建的 shapefile,它有 25 个多边形。我需要使用多边形 ID 访问每个多边形。我正在使用 java 应用程序来访问这些多边形。请让我知道任何好的教程开始。
在此先感谢,哈萨拉。
c++ - Compiling quantum gis dtclassifier c++ plugin
Quantum GIS (qgis) is an open source GIS software. The functionality of qgis can be extended by plugins written in python or c++. This question is related to the DTClassifier which is c++ based. DTClassifier make it possible to automate the classification of raster maps, such as automate the classification of forests on remote sensed data.
I want to install the plugin on qgis 1.8.0 (Ubuntu 12.04 64-bit), that is done by placing the compiled linux DTClassifier plugin file into
However, that is a 32-bit binary сompiled under 32-bit Slackware 13.1 using OpenCV 2.3.1 while my os is Ubuntu 12.04 64 bit. Puting the file into
is not recognized by qgis. Maybe because I have 64-bit os and OpenCV 2.4.1. So I tried to compile the provided source code but failed to do so. Anybody who could provide me with help how to compile the plugin or provide a already compiled file?
This is what I have accomplished so far:
I installed OpenCV 2.4.1, and Qt4, and downloaded the source for DTClassifier
This source was put into the qgis-1.8.0 source. Then cmake was run with the CMakeLists.txt:
I found this (forum message) which is points to a 64-bit version for Ubuntu 11.04, but I could not make it work.
The details of what I have tried so far can be found below:
The CMakeLists.txt
It did not give any error
. But then make fails complaining a lot:
python - Windows 7 64 位上的 PyDev 2.7.1:获取解释器信息时出错(与 QGIS 相关)
我从 OSGeo4W 包中安装了 QGIS,其中还包括 Python 2.7 和许多用于 Python 的空间库。
我在 Windows 7 中设置了以下环境变量:
从 W7 CLI 执行 C:\OSGeo4W\bin\python.exe 或只是 python(因为它得到正确解析)时,我可以导入import pyspatialite
没有问题的东西,所以我假设 PYTHONPATH 设置正确。
但是,当尝试在 PyDev 中添加 Python 解释器时,出现以下错误:
就好像 PyDev 无法识别 PYTHONPATH。此外,在“库”-选项卡下,我没有看到任何条目(这再次暗示 PyDev 无法识别 PYTHONPATH)。
我已经重新启动了 Eclipse,但没有成功。
更新:重新启动整个系统工作。天哪,我们还生活在 90 年代。
python - sudo easy_install bsddb3 错误:找不到本地 Berkeley DB 安装
我尝试使用 Python 2.7.3 在 qgis 上制作插件
并且发生了错误
我找到了一种安装bsddb3来替换 bsddb的方法
但是当我尝试
它给了我一个错误
我找到了安装 Homebrew 和 GCC 可以解决问题的方法
但是在我安装后但仍然发生错误
我如何解决这个问题?
这是我遵循的步骤
破解 OS X 的 Python dbhash 和 bsddb 模块使其工作
python - 在 Python 中导入 PyQGIS 模块时出现问题
由于我之前的问题已经结束,我正在努力改进它,让社区了解它可能对广大用户有用。我找到了一个 SHELL LAUNCHER,它允许以“传统方式”绕过系统环境设置来集成 python 和 QGIS(即使用 PyQGIS)。原始版本完美运行(在http://inasafe.linfiniti.com/html/id/developer-docs/platform_windows.html找到它)。我一直在尝试修改它以让任何人使用他自己喜欢的 IDE(而不是像原来的那样使用 Windows 命令提示符)。因此,我进行了修改并最终使用了这个命令启动器:
无论如何,当我运行它时,它会打开 idle.pyw 但我无法导入模块,就像系统变量仍然没有正确设置一样,尽管它们似乎是通过调查 sys.path 来实现的。导入(例如)“qgis.core”模块时出现的错误是:
我的操作系统是 Windows XP sp3,Python 是 2.7.3,QGIS 是 Lisboa v.1.8。我希望有人可以帮助我,这可能有助于解决导入 PyQGIS 模块的常见问题。
command-line - 从命令行向 GeoTiff 添加色阶
我有数百个栅格 GeoTIFF 和一个色标,我需要将色标分配给每个栅格。在 QGIS 中将比例逐一添加到每个栅格是不可行的,因为此过程需要多次完成。
有没有办法从命令行执行此操作,以便我可以编写该过程的脚本?我被告知要考虑编写自定义 VRT(只是 XML),但这样做的文档很少,而且似乎面向 GIS 专家。我一直无法找到用于此任务的 GDAL 实用程序。
c# - 在 C#.Net 中重新创建 QuantumGIS SLD (XML) 文件
背景
我目前正在完成我的论文,需要一些关于我正在编写的程序的帮助。我的目标是快速了解一个程序,它可以连接到 PostgreSQL 数据库,检索所需的数据,然后使用它创建一个文件,描述如何在 GIS 套件或 WebMapServer(或类似服务器)中显示指定的数据)。
现在我对 C# 非常熟悉,并且已经使用了几年,但是从未真正深入研究过使用它来存储 XML 中的数据,甚至在我的解决方案中通常使用 XML 文件,因此对 C# 没有太多经验XML 类。
现在,快速指出 SLD (StyledLayerDescriptor) 文件本质上只是 XML 文档。
问题
我无法使用 C#重新创建它。我遇到的主要问题是找出如何使用 XmlWriter 类在每个子元素的开头没有 xmlns="..." 的每个元素名称之前重新创建“se:”前缀,还有长字符串顶部的命名空间声明,尽管看似未使用。
这是我迄今为止能够生产的。
编辑:
我还可以生成带有前缀和命名空间声明的每个子元素,如文档顶部的“StyledLayerDescriptor”所示。
如果需要,我可以发布我的任何 XmlWriter 代码,要么这真的很简单,我错过了一些东西,要么很难重新创建,因为我现在一直在寻找答案。我已经阅读了我认为“在 C#.Net 2008 中开始 XML”的相关章节,并且仍在努力重新创建文件。
任何帮助或指导将不胜感激,因为它让我坚持了一段时间,而且在我现在修复之前,我无法真正继续编程。
还要指出的是,我觉得在每个元素之前获得前缀 se: 对我来说具有更高的优先级,尽管如果父名称声明为 se:,在这种情况下,您需要为其子元素添加“StyledLayerDescriptor”吗?不必要?
干杯
伯爵