【问题标题】:Load a point layer from CSV in PyQGIS QGIS 3.10在 PyQGIS QGIS 3.10 中从 CSV 加载点图层
【发布时间】:2021-03-30 08:28:18
【问题描述】:

我正在尝试使用从 CSV 加载到点层的脚本。我使用的代码是:

uri = "file:///some_path/PyQGIS/Some.csv?delimiter={}&xField={}&yField={}".format(os.getcwd(), ";", "X", "Y")

vlayer = QgsVectorLayer(uri, "Name", "delimitedtext")

QgsProject.instance().addMapLayer(vlayer)

.csv 文件的结构如下: SomeValue ----- X ----- Y

因此,坐标是根据 Amersfoort (EPSG:4289) 放置的,例如:X = 213404, Y = 500846。尝试手动加载时,一切正常。但是在脚本中,它似乎不起作用。澄清一下:使用的分隔符是;

提前致谢。

【问题讨论】:

    标签: csv vector gis qgis pyqgis


    【解决方案1】:

    您可以通过在 URI 定义中添加 &crs=epsg:4723 来指定 projection of your data set。所以你的情况变成:

    uri = "file:///some_path/PyQGIS/Some.csv?delimiter={}&crs=epsg:4289&xField={}&yField={}".format(os.getcwd(), ";", "X", "Y")
    
    vlayer = QgsVectorLayer(uri, "Name", "delimitedtext")
    
    QgsProject.instance().addMapLayer(vlayer)
    

    【讨论】:

      【解决方案2】:

      这个问题的答案已通过删除代码的“os.getcwd()”部分得到解决。希望这对遇到类似问题的人有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-29
        • 2020-04-15
        • 2015-03-24
        • 1970-01-01
        相关资源
        最近更新 更多