问题标签 [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 投票
1 回答
3909 浏览

webclient - QuantumGIS MapServer 和 Web Client 无法显示标准的 HelloWorld 地图

我有 Kubuntu 12.04。我已经按照教程安装了 QGIS MapServer :

(而且我也有一个工作的 apache2 服务器)

然后我有一个来自git的 QGIS Web 客户端,按照以下步骤进行配置:

  • sudo apt-get install apache2 libapache2-mod-fcgid
  • cp apache-conf/qgis-web-client.conf.tmpl apache-conf/qgis-web-client.conf

然后更新复制文件中的路径:

  • cd /etc/apache2/sites-available/
  • ln -s 。
  • sudo a2enmod 重写
  • sudo a2ensite qgis-web-client.conf
  • sudo /etc/init.d/apache2 重新加载
  • 检查 cgi-bin 中的符号链接是否正确
  • 检查 QGIS 库是否在您的 /etc/ld.so.conf 路径中
  • 复制 site/index.xml 并检查路径是否与您的系统匹配或修改 index.html 并将您的浏览器指向该路径

我不明白/etc/ld.so.conf路径中必须包含什么 - 也许这是一个问题?如果我是对的,我必须做什么来解决问题?我已经安装了 QuantumGIS,但不是从源头安装,但它会如此重要吗?

而且我在http://local.host/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities上有内部服务器错误。正常吗?

我已将qgis-web-client/js/GlobalOptions.js.templ-4326复制到qgis-web-client/js/GlobalOptions.js,仅此而已。

所以,这里有一个问题:我去我的http://local.host/qgis-web-client/site/,选择地图(HelloWorld,NaturalEarth - 没关系),然后我有一个 QGIS-Browser 窗口. 非常漂亮,但没有任何地图和图层 - 只有消息“正在加载地图... ”。我已经打开 Chrome 调试器并点击链接http://local.host/cgi-bin/qgis_mapserv.fcgi?map=/home/web/qgis-web-client/projects/helloworld.qgs&&_dc=1373135966552&SERVICE=WMS&VERSION=1.3 &REQUEST=GetProjectSettings

我已经看到了:

所以,问题是如何在 QGIS Web Client 中显示地图。

0 投票
1 回答
639 浏览

web-services - 用于 QGIS 的 WFS 2.0.0 插件中的 WFS 2.0.0 中的 StoredQueries


我正在我们的 INSPIRE Web 服务上针对 CadastralParcels 主题测试 storedQueries。当我在浏览器中运行它时,一切正常,但是当我尝试使用 Jürgen Weichand 的 WFS 2.0.0 插件通过 QGIS(版本 1.8.0 Lisboa)获取功能时,出现以下错误:

这是我在浏览器中使用的查询: http ://services.cuzk.cz/wfs/inspire-cp-wfs.asp?service=wfs&version=2.0.0&request=getFeature&storedQuery_id=GetParcel&srsName=EPSG::5514&KATUZE_KOD=601527&TEXT_DEF_BOD= 1


请注意,参数是用<Literal>标签括起来的,所以链接的真实地址是http://services.cuzk.cz/wfs/inspire-cp-wfs.asp?service=wfs&version=2.0.0&request=getFeature&storedQuery_id=GetParcel&srsName=EPSG::5514&KATUZE_KOD=<Literal xmlns="http://www.opengis.net/fes/2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string">601527</Literal>&TEXT_DEF_BOD=<Literal xmlns="http://www.opengis.net/fes/2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string">1</Literal>

同样的,参数是在QGIS WFS 2.0.0插件中填写的:
我想给她截图,但我没有足够的声誉。查询参数在浏览器和 WFS 2.0.0 插件中完全相同。然后,当我单击 getFeatures 时,我得到提到的错误。
有谁能够帮我?或者有人有类似的问题吗?
谢谢
迈克尔

0 投票
0 回答
1454 浏览

mysql - 检查一个点是否靠近带有 MySQL 空间扩展的线串(不可信)

我必须发现给定点是否与使用 MySQL Spatial 记录的数据库中存在的路线至少相距 500 米(或其他距离)。

我看到 MySQL Spatial 中没有类似的功能,并找到一个对我不起作用的先前答案,因为该线太大(超过 300 公里)无法逐点检查此解决方案: Find N Nearest LineString From A Point使用 MySQL 空间扩展

我什至无法创建一个缓冲区(具有给定半径的圆/多边形)来检查是否甚至触摸。


更新 - 12/7 我做到了,但 MySQL Spatial 它是不可信的接缝。我做了一个 createBuffer 函数,在给定点周围创建一个 20 点多边形,半径为米给定距离:http: //pastebin.com/xEFb8ZXi

我正在使用 QGis 测试来自这个缓冲区的给定结果,并且该功能一切正常(除了米到十进制的数值,它生成的值比预期的要小,但这不是现在的问题)。

并进行了一些相交检查,即使结果多边形不与线相交,这也是远离返回真。我只使用中心点重新进行了相同的测试,结果是一样的。我现在发现 INTERSECT 不检查 LineString 与 Point 或 Polygon,而是 LineString 的 Bounding Box,当 a 指示 Linestring BBox 外部的点时。

Intersects QUERY 其中“rota”是 Linestring 数据:

我现在如何信任 MySQL Spatial?还是我关于 INTERSECTS 的概念是错误的?


已解决: 我没有阅读 MySQL 5.5 版本的重要说明:

注意 目前,MySQL 并未按照规范实现这些功能。那些实现的返回与相应的基于 MBR 的函数相同的结果。

解决方案正在与服务器管理员一起更新到 5.6.1,说明中有升级

注意 MySQL 最初实现了这些函数,因此它们使用对象边界矩形并返回与相应的基于 MBR 的函数相同的结果。从 MySQL 5.6.1 开始,可以使用使用精确对象形状的相应版本。这些版本以 ST_ 前缀命名。例如, Contains() 使用对象边界矩形,而 ST_Contains() 使用对象形状。

从 MySQL 5.6.1 开始,对于已经精确的现有空间函数也有 ST_ 别名。例如,ST_IsEmpty() 是 IsEmpty() 的别名

0 投票
1 回答
749 浏览

postgresql - 在 PostgreSQL 中创建用户

我很难在 PostgreSQL 中设置用户(使用 PostGIS 扩展)——老实说,过去一周我一直在努力解决这个问题。我目前正在使用一个数据集,大多数用户应该只有读取权限,而一小部分用户应该能够编辑/删除/插入。

我正在关注这篇文章:- http://osqa.sjsoft.com/questions/155/how-do-i-create-a-read-only-postgresql-account,并遵循了其他几个示例(基本上相同的内容)在网上找到

但每次我尝试将数据加载到 QGIS 时,我都会收到如下消息:-

消息1

消息2

我在 PostGreSQL 9.2 数据库上使用 PGADMIN III。我很确定我在概念证明期间错过了一步或做了一些事情,这阻碍了我设置帐户的能力(为所有访问方法设置信任之类的东西会在我遇到的问题中起作用吗? )。

0 投票
3 回答
377 浏览

c++ - 如何将数据从终端传递到程序?

我正在使用 GPS 接收器,它将使用这样的 C++ 程序在终端中连续打印 GPS 消息

我想在我的 c++ 程序(QT 应用程序)中获取这些数据

以下是我的完整程序代码

在上面的代码中,我手动输入了纬度和经度的值,如下所示,

但我需要从终端获取这些值。

这两个程序都是用 c++ 编写的,但它们属于不同的框架。

0 投票
1 回答
687 浏览

qgis - python插件中的qgis首选项

我正在开发一个 qgis python 插件。这个插件改变了显示的默认 UI 窗口(我已经设法做到了)并创建了一些新的选项卡等。最近有人要求我修改qgis里面的一些选项。这些是他们希望我修改的内容:

在设置 -> 选项 -> CRS ...下修改首选项以始终使用此 CRS 启动新项目。他们希望我将其更改为特定的 CRS。他们还希望我更改常规选项卡和地图工具选项卡下的几个设置。

我不知道这些偏好在 API 中的位置和/或如何更改它们。我认为我不需要具体细节,但如果您能给我大致了解在哪里看,将不胜感激。谢谢!

0 投票
3 回答
1651 浏览

python - qgis 的 Python 插件出错

我正在关注为 开发插件的教程qgis,但是在尝试在文本框窗口中插入文本时遇到了错误。代码如下所示

类vector_selectbypointdialog.py:

类vector_selectbypoint.py:

init下创建这样的对象:

以及处理插入文本的方法:

错误是:

handleMouseDown self.dlg.clearTextBrowser() AttributeError: 'vector_selectbypointdialog' 对象没有属性 'clearTextBrowser'

0 投票
1 回答
759 浏览

c++ - 如何在centos中的qgis中创建QgsVectorLayer(可能缺少插件包?)

我按照这里的说明进行操作:

https://gis.stackexchange.com/questions/37111/how-to-install-qgis-on-centos-6

如果我运行:

那么provider是一个NULL指针

另外,如果我这样做:

然后打印:

此外,当我尝试使用以下内容加载 QgsVectorLayer 时:

然后它说该层无效。

这一切在 Ubuntu 中运行良好,但我无法在 centos 中运行。我想也许它缺少所有的插件。我错过了什么?

请帮忙。

0 投票
1 回答
634 浏览

gis - Topojson:如何在 GIS 软件中设计有效的多边形、线、点?

到目前为止,我一直使用来自网络的 GIS 文件,这些文件为我提供了管理多边形、河流、陆地等。然后我将它们转换为 Topojson 格式以提供 D3js。

今天我必须在 Quantum GIS (QGIS) 中设计自己的层 (wine_areas)。同样,此 .shp 文件稍后将转换为 Topojson 格式。

在 GIS 软件(.shp 文件)中设计我的形状、线条、点时:我应该担心哪些关键方面,以及如何做到这一点 .shp 和最终的 Topojson 文件是有效的,具有预期的类型?大多数情况下,相邻多边形共享它们的公共弧等。


我特别想知道如何在 GIS 软件中设计我的 topojson “弧”:

  • 我应该把我的形状放在附近吗[][]
  • 我应该设计一个形状并用一条线切割它吗[|]
  • 需要哪个级别的精度?(以及如何知道)

和其他提示。

0 投票
3 回答
128 浏览

c++ - 如何检索存储在列表中的点对

我在 QT Creator 工作。我想找到两点的斜率。对于两点 A(x1,y1) , B(x2,y2) 使用斜率公式

m = (y2-y1)/(x2-x1)。

问题 :

点存储在列表 p 中。我想从这个列表中一次取两个点,并找到两个点的斜率直到列表的末尾。

例如,如果列表包含 5 个点 {a,b,c,d,e}。我想找到 1.ab 2.bc 3.cd 4.de 的斜率

代码: