问题标签 [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.

0 投票
2 回答
7209 浏览

cmake - CMake 编译错误..(未知的 CMake 命令“QT4_WRAP_UI”)

我正在尝试为 qgis 构建草插件 ..

当我尝试使用 cmake .. 配置后出现以下错误..

我已经安装了 Qt4、PyQt 和 python2.6 ..

谁能帮我弄清楚这里出了什么问题?

谢谢。

0 投票
1 回答
3625 浏览

cmake - Cmake的未定义参考链接错误

我正在定制通过 cmake 构建的 qgis 源代码。

它有一个包含许多子目录的源代码树(其中也包含子目录)。

整个源代码树分为几个模块,如core,具有GIS核心组件,gui负责gui,app,负责主应用程序(包含main.cpp)和其他模块。

问题是我遇到了一个需要访问不同模块中的静态类成员的要求。准确地说是 Gui 模块中 QgisApp 类的一些成员。

因此,在 gui 模块的 .cpp 之一中正常包含 qgisapp.h 给了我对我想要访问的 mamber 的未定义引用。后来我将 .h 和 .cpp 包含在位于 Gui 内的 CMakeLists.txt 文件中模块的根目录,然后再次运行 cmake 以使 Makefile 具有正确的包含。但是如果未定义的引用很多,这实际上会增加数量(可能是因为我添加到 CMakeLists.txt 中的 .h 和 .cpp 本身包含其他 . h 和 .cpp 在应用模块自己的 CMakeLists.txt 中有引用)。

那么,如何在其他模块中使用某个模块的某个类的成员,这些模块是用放置在其各自根目录中的不同 CMakeLists.txt 集构建的?

这个问题与qgis没有特别的关系,但可以遇到与qgis类似的任何源代码树。所以它基本上是一个与Cmake相关的问题。

希望我能够解决我的问题。

帮助将不胜感激。

谢谢。

0 投票
2 回答
2178 浏览

qt - Qpainter.rotate() 问题 - qgis

我正在定制 QuantumGIS,它使用 Qt 的 Qpainter 来绘制和绘制......

我正在尝试在画布上绘制一条多段线,该多段线作为消息队列的更新......绘制非常好......但在我作为更新获得的多段线或多边形对象中还包括一个角度场用于物体的旋转。问题是,当我尝试在 qpainter 使用painter.rotate() 方法绘制折线之前旋转线时,线旋转得很好,但绘制的线的位置会发生变化......并且它会在每次缩放和Qgis画布的平底锅..在设置painter.rotate()之前,我正在保存画家状态并在绘制之后再次恢复其状态,我认为这类似于OpenGL的push / popMatrix函数。Qpainter 的保存恢复功能是否类似于 opengl 的 push/popMatrix 功能?

这是一个代码片段:

帮助表示赞赏。谢谢。

0 投票
1 回答
672 浏览

qt - QGIS(Quantum GIS)中的QTimer触发问题

我参与了构建一个自定义 QGIS 应用程序,其中实时数据将显示在应用程序的查看器上。

使用的 IPC 是 unix 消息队列。

数据将以指定的间隔刷新,例如 3 秒。

现在我面临的问题是要显示的数据的处理时间超过 3 秒,所以我所做的是在应用程序开始处理数据以进行下一次更新之前,刷新 QTimer 已停止处理完数据后,我再次重新启动 QTimer。应用程序应该以这样的方式工作,即在更新/刷新后(在此刷新期间应用程序无响应),用户应该有足够的时间继续在应用程序上工作,除了看到正在更新的数据。在一种情况下,我能够为用户工作获得可接受的暂停。

但是在不同的操作系统(RHEL 5.0 到 RHEL 5.2)上,情况有所不同。计时器变得狂野并继续触发,没有任何暂停 b/w 连续更新因此进入无限循环。处理此更新数据肯定需要更长的时间3 秒,但出于这个原因,我在处理时停止 - 重新启动了计时器。相同的逻辑在一种情况下有效,而在另一种情况下则没有。我观察到的另一个事实是,当快速触发计时器时发生刷新功能退出所花费的时间非常短,大​​约为 300 毫秒,因此我放置在此功能的开始和结束处的计时器的开始停止发生在那个小时间......所以在实际处理之前数据完成,队列中有 3-4 个计时器启动等待执行,因此对于每次连续更新,无限循环问题从那时起变得更糟。

这里要注意的重要一点是,对于一个操作系统中的相同代码,刷新时间显示为大约 4000 毫秒(相同数据量的实际处理时间),而对于另一个操作系统,刷新时间为 300 毫秒。

也许这与更新的操作系统上的较新库有关..但我不知道如何调试它,因为我无法得到任何线索为什么它会发生这种情况......也许与 pthreads 相关的东西已经改变了 b/w操作系统??

所以,我的问题是有什么方法可以确保我的应用程序中的某些处理是定时的(并且独立于操作系统)而不使用 QTimer,因为我认为 QTimer 不是实现我想要的好选择?

可以有什么选择??pthreads 或 Boost 线程?如果我要使用线程作为替代,哪一个会更好?但是无论更新处理需要多长时间,我如何确保至少有 3 秒的间隔 b/w 连续更新?

请帮忙。

谢谢。

0 投票
3 回答
8711 浏览

installation - 安装和访问 GDAL 库的简单方法?

GDAL 图书馆主页意味着到达那里的人已经知道他们在做什么。我使用 ArcGIS,并且不熟悉 GDAL 建议的具有库依赖关系的复杂设置。我可以下载一个简单的“包”吗?我找到了 maptools.org,我猜这些库可以通过任何选择的编程语言访问?我还发现了显然使用 GDAL 的 QGIS。

我正在研究 GDAL,因为它具有 ArcGIS 没有的功能。我选择的语言是python。我在这里最好的(也是最简单的)路线是什么?

谢谢!

0 投票
1 回答
723 浏览

ubuntu - 如何在 Lucid linux 的 qgis 1.3.0 中获得“导出到 mapserver 地图文件”选项?

我是 GIS 新手,我想将 qgis 文件导出到 mapserver 地图文件。但该选项在我的 Qgis 1.3.0 mimas 中不可用。怎么做才能得到它?请帮忙。

0 投票
1 回答
1142 浏览

windows - 使用 mingw 和 Cmake 为 Windows 构建 QGIS?

有谁知道如何使用 mingw 和 Cmake 为 Windows 构建 QGIS?有了它,我已经安装了所有必需的依赖项。

0 投票
4 回答
4174 浏览

open-source - 区域统计 QGIS

分区统计工具 (ArcGIS Spatial Analyst) 是否有任何开源替代方案?什么是最好的工具(我可以在脚本中使用)对光栅文件进行计数统计?

0 投票
2 回答
4478 浏览

vector - QGIS - 创建包含每个栅格单元边界的矢量图层

我想显示一个栅格图层,然后显示另一个图层,其中包含线(折线),它是其他栅格图层中单元格的边界

我考虑将每个单元格拆分为新的光栅文件,然后将其转换为矢量 - 也许有更简单的方法? http://imageshack.us/photo/my-images/21/qgispyt.png/

0 投票
1 回答
445 浏览

python - 为什么 qwt-5.2 认为我没有安装用于 x86_64 的 QtSvg?

我正在尝试从源代码构建Quantum GIS,但遇到了其中一个依赖项的问题。我需要制作和安装PyQwt并收到以下编译错误:

但是,如果我file在 QtSvg 上运行命令,它会告诉我有一个 x86_64 版本可用:

问题是因为它是通用二进制文件吗?