标签: qgis

如何在python中读出QLineEdit中的文本?

我为我的插件创建了一个带有3个按钮的启动GUI.这非常有效,如果我单击其中一个按钮,则会启动特定操作.到目前为止这个工作.如果我点击其中一个按钮,新的GUI有两个按钮"ok"和"cancel",并出现一条lineedit.如果我按下取消,GUI将被关闭,如果我按下ok,我希望程序从editline读取文本并将其存储在变量中.到目前为止,这还没有奏效.

这是包含对话框的类:

from PyQt4.QtCore import pyqtSlot
from PyQt4.QtGui import QDialog, QLineEdit

from ui_grz import Ui_Dialog

class grzDialog(QDialog):

    def __init__(self):
        QDialog.__init__(self)
        # Set up the user interface from Designer.
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
Run Code Online (Sandbox Code Playgroud)

在使用QT Designer和命令pyuic4创建GUI之后,这是一个包含GUI结构的类:

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    _fromUtf8 = lambda s: s

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(387, 153)
        self.buttonBox = QtGui.QDialogButtonBox(Dialog)
        self.buttonBox.setGeometry(QtCore.QRect(30, 110, 341, 32))
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(10, 10, 361, 51))
        self.label.setObjectName(_fromUtf8("label"))
        self.lineEdit = QtGui.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(10, …
Run Code Online (Sandbox Code Playgroud)

python qgis qt-creator qlineedit

6
推荐指数
1
解决办法
3万
查看次数

QGIS是否支持WMS-T(随时间推移的WMS)?

有谁知道QGIS中是否支持WMS-T?

通过应用程序,我可以添加WMS图层,但我不能使用WMS-T(没有地方设置时间参数).

我一直在浏览Python插件,虽然有一些与时间有关(时间管理器,多时间和多变量数据可视化),但它们不支持WMS协议(它们直接与数据库一起工作).

问候

注意 - 我正在使用GeoServer

geolocation wms geoserver qgis

6
推荐指数
1
解决办法
509
查看次数

如何使用pyqgis在shape文件中添加功能?

我现在有一个形状文件,我想添加值来填充它的颜色

但现在我有一个问题

http://www.qgis.org/pyqgis-cookbook/vector.html#add-features

 feat = QgsFeature()
  feat.addAttribute(0,"hello")
  feat.setGeometry(QgsGeometry.fromPoint(QgsPoint(123,456)))
  (res, outFeats) = layer.dataProvider().addFeatures( [ feat ] )
Run Code Online (Sandbox Code Playgroud)

这是点的示例,现在我有多边形和折线

我想知道我是否有多边形如何添加功能到我用python选择的形状文件?

python qgis

6
推荐指数
1
解决办法
5614
查看次数

geojson 中的坐标顺序

我正在测试通过 GitHub 以 geojson 格式呈现数据,因为我想将它用于 INSPIRE 数据。INSPIRE 数据采用 GML 3.2.1 格式。我已经从http://services.cuzk.cz/gml/inspire/cp/epsg-4258/下载了数据集之一(在 ETRS 中)。我需要从中获取 json 文件,所以我在 Quantum GIS(版本 1.9)中打开了 GML 文件并将其保存为 geojson 文件(CRS=EPSG::4326),然后上传到我的 GitHub。geojson 中的坐标顺序是(东,北),但从 QGIS 保存文件后,它是(北,东)。我的数据来自捷克共和国,但它在也门呈现。有没有人有这个问题的经验?有人知道如何在 geojson 文件中切换坐标(或轴)的顺序吗?我在基于 xml 的数据格式方面比 json 有更多的经验,因此我希望这不是那么愚蠢的问题。

xml gml qgis geojson

6
推荐指数
1
解决办法
7601
查看次数

QGIS 2 web 插件和形状绘图选项

我希望能够在 QGIS2web 插件生成的地图上绘制一些特征。

我在这里找到了一些 Openlayers 绘图插件:

https://cdn.rawgit.com/HamHamFonFon/ol3-drawFeatures/82f29a3f/examples/basic_use.html

但我不知道如何将它们与我现有的地图结合在一起。

我试图在我的地图(qgis2web.js 文件)中绘制绘图变量。

在以下代码之间的位置:

    var layerSwitcher = new ol.control.LayerSwitcher({tipLabel: "Layers"});
  map.addControl(layerSwitcher);

    var searchLayer = new SearchLayer({
  layer: lyr_Chamberspoles_2,
  colName: 'Object',
  zoom: 18,
  collapsed: true,
  map: map
   });


  map.getView().fit([-22418.727413, 6814717.343345, -21916.579134, 6815076.983154], map.getSize());
Run Code Online (Sandbox Code Playgroud)

我绘制了这样的图:

  var layerSwitcher = new ol.control.LayerSwitcher({tipLabel: "Layers"});
  map.addControl(layerSwitcher);

   var searchLayer = new SearchLayer({
  layer: lyr_Chamberspoles_2,
  colName: 'Object',
  zoom: 18,
  collapsed: true,
  map: map
  });


    map.addControl(searchLayer);
    document.getElementsByClassName('search-layer')[0]
    .getElementsByTagName('button')[0].className +=
   ' fa fa-binoculars';

    var vector_draw = new ol.layer.Vector({
    source: new ol.source.Vector(),
    style: new …
Run Code Online (Sandbox Code Playgroud)

javascript openlayers qgis

6
推荐指数
1
解决办法
182
查看次数

在 qgis 插件中设置代理参数。如何

对于那些感兴趣的人,我找到了以用户透明的方式从 qgis 插件中设置代理设置的明确方法。如果您计划将 Web 服务与 urllib 或 QwebWiew 一起使用,这将非常有用。使用 Qsetting 功能可以从 qgis 应用程序读取和写入存储在注册表中的用户应用程序选项设置。问题是注册表项的使用没有记录,但是深入 qgis 源代码可以找到它们并将其用于插件中以用于其他目的。这是正确设置代理参数的一段代码。

    # procedure to set proxy if needed
    s = QSettings() #getting proxy from qgis options settings
    proxyEnabled = s.value("proxy/proxyEnabled", "")
    proxyType = s.value("proxy/proxyType", "" )
    proxyHost = s.value("proxy/proxyHost", "" )
    proxyPort = s.value("proxy/proxyPort", "" )
    proxyUser = s.value("proxy/proxyUser", "" )
    proxyPassword = s.value("proxy/proxyPassword", "" )
    if proxyEnabled == "true": # test if there are proxy settings
       proxy = QNetworkProxy()
       if proxyType == "DefaultProxy":
           proxy.setType(QNetworkProxy.DefaultProxy)
       elif …
Run Code Online (Sandbox Code Playgroud)

python plugins pyqt qgis

5
推荐指数
1
解决办法
2723
查看次数

How to add characters to filename using glob in Python?

The following is a snippet of code. The script takes the input files from a "Test" folder, runs a function and then outputs the files with the same name in the "Results" folder (i.e. "Example_Layer.shp"). How could I set it so that the output file would instead read "Example_Layer(A).shp"?

#Set paths
path_dir = home + "\Desktop\Test\\"
path_res = path_dir + "Results\\"

def run():

    #Set definitions
    input = path_res + "/" + "input.shp"
    output = path_res  + "/" + …
Run Code Online (Sandbox Code Playgroud)

python glob character qgis

5
推荐指数
1
解决办法
1503
查看次数

在 QGIS 或 Python 中向 GeoJSON 添加唯一的要素 id

根据GeoJSON格式规范

“如果某个功能具有常用标识符,则该标识符应作为名称为“id”的功能对象的成员包含在内。”

我的问题是如何将其添加到我的 GeoJSON 中?

如果我将其创建为属性,然后将其保存为 QGIS 中的 GeoJSON,它最终会出现在“属性”而不是“特征”中。

这就是我想做的:

{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name":"urn:ogc:def:crs:OGC:1.3:CRS84" } },

"features": [
{ "type": "Feature", "id":"1", "properties": { "Namn":.................
Run Code Online (Sandbox Code Playgroud)

这就是 QGIS 产生的结果:

{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },

"features": [
{ "type": "Feature", "properties": { "id": 1, "Name".................. 
Run Code Online (Sandbox Code Playgroud)

我也尝试过 PyGeoj https://github.com/karimbahgat/PyGeoj。它有一个添加唯一 ID 的功能,但它也会将其添加到属性下。

如果我打开 GeoJSON 并手动写入,那么它可以工作,但我不想对所有图层执行此操作,其中一些图层包含许多功能。

python qgis geojson

5
推荐指数
1
解决办法
4232
查看次数

导入错误:DLL 加载失败(导入 h5py)

我安装了 OSGeo4W 包以在 Windows 环境中使用 h5py。

\n\n

我使用 OSGeo shell 使用 pip install 安装 h5py。

\n\n

C:\\Users\\Public\\Desktop\\OSGeo4W>pip install h5py

\n\n

当我打开 QGIS 并转到 QGIS 中的 Python 控制台时,出现以下错误:

\n\n

\n\n

import h5py\nTraceback (most recent call last):\nFile "", line 1, in \nFile "C:/OSGEO41/apps/qgis/./python\\qgis\\utils.py", line 607, in _import\nmod = _builtin_import(name, globals, locals, fromlist, level)\nFile "C:\\OSGEO41\\apps\\Python27\\lib\\site-packages\\h5py_init_.py", line 43, in \nfrom . import h5a, h5d, h5ds, h5f, h5fd, h5g, h5r, h5s, h5t, h5p, h5z\nFile "C:/OSGEO41/apps/qgis/./python\\qgis\\utils.py", line 607, in _import\nmod = _builtin_import(name, globals, locals, fromlist, level)\nFile …
Run Code Online (Sandbox Code Playgroud)

python qgis h5py

5
推荐指数
1
解决办法
1万
查看次数

Plotting Geohash data in QGIS

Has anyone had any luck in importing data that has Geohash as a field into QGIS for any visualizations?

Ultimately my data is -

Name, Geohash, Value
Bob, 9mu9ecy, 3
Nancy, 9mu9ecy, 8
Nancy, 9mu9eff, 5
Tom, 9mu9ege, 5
Bob, 9mu9ege, 5
Mike, 9mu9emx, 8
Tom, 9mu9ep3, 7
Nancy, 9mu9epf, 2
Nancy, 9mu9epp, 4
...
Run Code Online (Sandbox Code Playgroud)

And I want to be able to create heatmaps and differential analysis with it.

Any help would be much appreciated.

qgis geohashing

5
推荐指数
0
解决办法
508
查看次数