【问题标题】:How to use WKT to draw polygon in qgis?如何使用 WKT 在 qgis 中绘制多边形?
【发布时间】:2017-12-14 03:34:26
【问题描述】:

我有一个 CSV 文件,其中的数据字段包含如下数据

多边形 ((79.87749999947846 6.997500000409782, 79.88249999947845 6.997500000409782, 79.88249999947845 7.002500000409782, 79.87749999947846 7.002500000409782, 79.87749999947846 6.997500000409)

我想通过使用 qgis 中的这个数据字段来绘制一个多边形。我该怎么做?

【问题讨论】:

    标签: gis data-science qgis


    【解决方案1】:

    例如,我有一个 csv 有两列“Id”和“geom”,geom 有你的 POLYGON 示例,

    转到 layer->Add Layer->Add delimited text Layer 并浏览您的 csv 和几何字段组合框选择包含您的 wkt 数据的列,在我的case 是 "geom" 和 Geometry definition 选择 (WKT) 选项

    结果是:

    换一种方式,使用 Python:

    uri ='file:///C://Users//fjraga//Desktop//test.csv?delimiter=%s&crs=epsg:4326&wktField=%s' % (",", "geom")
    lyr = QgsVectorLayer(uri, 'Test','delimitedtext')
    QgsMapLayerRegistry.instance().addMapLayer(lyr)
    

    但如果你只想使用 QGIS python 控制台加载这个 WKT 几何,试试这个:

    wkt = "POLYGON ((79.87749999947846 6.997500000409782, 79.88249999947845 6.997500000409782, 79.88249999947845 7.002500000409782, 79.87749999947846 7.002500000409782, 79.87749999947846 6.997500000409782))"
    
    temp = QgsVectorLayer("Polygon?crs=epsg:4326", "result", "memory")
    QgsMapLayerRegistry.instance().addMapLayer(temp)
    
    temp.startEditing()
    geom = QgsGeometry()
    geom = QgsGeometry.fromWkt(wkt)
    feat = QgsFeature()
    feat.setGeometry(geom)
    temp.dataProvider().addFeatures([feat])
    temp.commitChanges()
    

    【讨论】:

    • 谢谢 - 一旦我将 QgsMapLayerRegistry.instance 更改为 QgsProject.instance,python 代码就可以在 QGIS 3.x 中运行
    【解决方案2】:

    您将文本复制到剪贴板中。

    然后:

    1. 打开 QGIS
    2. 打开“编辑”菜单
    3. 进入“将对象插入为”/“将要素插入为”子菜单
    4. 选择矢量或临时图层
    5. 选择正确的坐标系

    你就完成了。

    就这么简单。

    【讨论】:

      【解决方案3】:

      使用已知文本 (WKT) 从剪贴板创建新图层

      剪贴板上的功能可以粘贴到新图层中。为此,请选择一些特征,将它们复制到剪贴板,然后使用 Edit ‣ Paste Features as ‣ 将它们粘贴到新图层并选择:

      新建矢量图层...:将出现将矢量图层另存为...对话框(有关参数,请参阅从现有图层创建新图层)

      or Temporary Scratch Layer...:您需要为该层提供一个名称

      创建了一个新图层,其中填充了所选要素及其属性(并添加到地图画布中)。

      注意

      可以从剪贴板创建图层并选择功能 并在 QGIS 中复制以及来自另一个应用程序的功能, 只要它们的几何图形是使用众所周知的文本 (WKT) 定义的。

      参考: https://docs.qgis.org/3.10/en/docs/user_manual/managing_data_source/create_layers.html#creating-new-layers-from-the-clipboard

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-03
        • 1970-01-01
        • 2015-11-15
        • 2015-08-02
        • 2019-06-23
        • 1970-01-01
        • 2011-01-16
        相关资源
        最近更新 更多