标签: qgis

在独立Python QGis应用程序中加载Layer/Shapefile时出错

我尝试使用PyQgis API在Python上加载shapefile但无济于事.我仔细检查了shapefile的路径,发现它是正确的.QGIS模块似乎也进口得很好.当我在QgsRegistry中检查提供者列表时,它什么都不返回.我可以知道我错过了什么或者我应该如何解决问题?

我使用的是Ubuntu 12.04,QGIS 2.4.0 Chugiak和Python 2.7.3.先感谢您!

以下是我的输出和代码:

"/usr/bin/python2.7 /home/victorzhiyulee/IdeaProjects/Delineation/select_dun_calculate_print.py应用程序状态:QGIS_PREFIX_PATH的环境变量:
前缀:在/ usr/bin中/ QGIS插件路径:在/ usr/bin中/ QGIS/lib中/ QGIS/plugins包数据路径:/ usr/bin/qgis/share/qgis活动主题名称:
活动主题路径::/images/themes //默认主题路径::/images/themes/default/SVG搜索路径:/ usr/bin/qgis/share/qgis/svg /用户数据库路径:/usr/bin/qgis/share/qgis/resources/qgis.db

提供商列表无法找到OGR提供商!文件已存在; 路径是正确的('/home/victorzhiyulee/Desktop/dun.shp','dun','ogr')图层无法加载!

处理完成,退出代码为0"

__author__ = 'victorzhiyulee'
# Importing QGis API
# Importing OGR & OSR
import os
import sys
import PyQt4.QtCore
import PyQt4.QtGui
import qgis.core
import qgis.gui
from qgis.core import *
from qgis.gui import *
from osgeo import ogr, osr
from PyQt4.QtCore import *

# Supply path to the QGis resources on your PC
# noinspection PyTypeChecker
QgsApplication.setPrefixPath("/usr/bin/qgis", True) …
Run Code Online (Sandbox Code Playgroud)

python shapefile qgis

2
推荐指数
1
解决办法
2446
查看次数

使用Python计算多边形图形文件中的点数

我有一个由各个州组成的美国多边形图形文件,作为其属性值。此外,我还有一些数组,用于存储我也感兴趣的点事件的纬度和经度值。从本质上讲,我想“空间连接”点和面(或执行检查以查看每个面和面[即状态])点),然后求和每个州的点数,找出哪个州的“事件”数最多。

我相信伪代码将是这样的:

Read in US.shp
Read in lat/lon points of events
Loop through each state in the shapefile and find number of points in each state
print 'Here is a list of the number of points in each state: '
Run Code Online (Sandbox Code Playgroud)

任何库或语法将不胜感激。

根据我的判断,OGR库是我所需要的,但是我在语法上遇到了麻烦:

dsPolygons = ogr.Open('US.shp')  

polygonsLayer = dsPolygons.GetLayer()  


#Iterating all the polygons  
polygonFeature = polygonsLayer.GetNextFeature()  
k=0  
while polygonFeature:
    k = k + 1  
    print  "processing " + polygonFeature.GetField("STATE") + "-" + str(k) + " of " + str(polygonsLayer.GetFeatureCount())  

    geometry = …
Run Code Online (Sandbox Code Playgroud)

python geolocation shapefile qgis shapely

2
推荐指数
1
解决办法
3678
查看次数

是否可以将形状文件中的几何数据从 QGIS 导出到 CSV?

我正在尝试从大量 shapefile 中获取几何数据到数据库(Google 数据存储)中。问题是,我不需要使用地图,我只需要坐标,所以我只需要数字坐标。理想情况下,我想使用 CSV,但任何纯文本都可以使用。我有一台 Mac 并且已经能够安装 QGIS(我也尝试过 udig 但界面令人困惑)。虽然将 shp 文件作为矢量图层加载到 QGIS 中很容易,但我不知道如何导出几何图形,或者即使可能。

有谁知道如何从 shp 文件中提取纯文本几何图形?理想情况下使用 QGIS,但任何方法都将不胜感激。

gis qgis export-to-csv

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

是否可以以编程方式拍摄卫星图像?

我正在创建一个项目,可以花费很长时间和用户并将其保存在数据库中,然后服务器将提取这些坐标并动态获取卫星图像.我如何拍摄卫星图像,是否可以使用哪些工具?

php gis google-maps qgis

2
推荐指数
1
解决办法
7370
查看次数

使用 gdal_rasterize 时如何启用 BIGTIFF=YES 选项?

我正在Rasterize (write over existing raster)QGIS 中使用该工具 - 但是,如果您从命令行或 python 调用 gdal,则会出现同样的问题。

我正在将矢量特征刻录到栅格中,其值基于属性表中的字段。

一切正常,工作正常,除非目标栅格大于 4GB BigTiff 而不是常规 geotiff。如何使用错误中提到的 bigtiff 选项?

错误是:

'ERROR 1: TIFFAppendToStrip:Maximum TIFF file size exceeded. Use BIGTIFF=YES creation option. 
Run Code Online (Sandbox Code Playgroud)

代码如下:

gdal_rasterize -a burn_value -l shapefile_name C:/Users/Cate/Folder/shapefile_name.shp C:/Users/Cate/Folder/raster_name.tif
Run Code Online (Sandbox Code Playgroud)

gis raster gdal rasterizing qgis

2
推荐指数
1
解决办法
8912
查看次数

如何使用 WKT 在 qgis 中绘制多边形?

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

POLYGON((79.87749999947846 6.997500000409782,79.88249999947845 6.997500000409782,79.88249999947845 7.002500000409782,79.87749999947846 7.002500000409782,79.87749999947846 6.997500000409782))

我想通过在 qgis 中使用这个数据字段来绘制一个多边形。我怎样才能做到这一点?

gis qgis data-science

2
推荐指数
1
解决办法
6731
查看次数

postgis 不适用于所有 postgres 用户

当在启用 Potgis 的数据库上创建新用户时,我遇到了一个奇怪的问题:该新用户无法访问 postgis 扩展,而早期创建的用户可以。

使用我的用户帐户,我得到以下输出:

mydb => SELECT postgis_version();
postgis_version
---------------------------------------
 2.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)
Run Code Online (Sandbox Code Playgroud)

对于新用户,我得到以下信息:

mydb => SELECT postgis_version()
mydb-> ;
ERROR:  function postgis_version() does not exist
LINE 1: SELECT postgis_version()
           ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

QGIS 还提示我 postgis 未激活:

2018-01-23T16:38:13 1   No PostGIS support in the database.
Run Code Online (Sandbox Code Playgroud)

我正在连接到完全相同的数据库。用户确实有权访问公共模式和geometry_columns 表。

我在这里有点迷失,因为根据我的信息,Postgis 是数据库级别的扩展,它应该适用于所有用户。

postgresql postgis qgis postgresql-9.6

2
推荐指数
1
解决办法
2356
查看次数

从 GeoPackage 中删除图层

我正在尝试使用该sf包从 GeoPackage 文件中删除矢量图层。“删除”是指永久删除而不是覆盖或更新。我知道该delete_layer选项,但据我所知,这仅用于在将图层替换为同名图层之前删除图层。

不幸的是,我使用非标准编码为 GeoPackage 编写了一个带有名称的层,这有效地使整个 gpkg 文件在 QGIS 中无法读取。因此,我试图找到一种通过 R 删除它的解决方案。

gis r qgis r-sf geopackage

2
推荐指数
1
解决办法
1385
查看次数

qgis中的mysql连接

我刚刚在我的Ubuntu 10上安装了Quantum GIS 1.8.0,我想添加MySql表作为源但没有连接到mysql的选项可以任何人指导我如何连接到mysql?

Qgis中可用数据库类型的选项是MSSQL,ODBC,PostgreSQL和ESRI个人GEO数据库.

mysql qgis

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

NameError:未定义名称“QgsMapLayerRegistry”

我正在使用 Qgis 3.4.9。我该如何修复 修复错误:NameError: global name 'QgsMapLayerRegistry' is not defined。

from qgis.core import QgsMapLayerRegistry 在 Qgis 3.4.9 中不起作用

QgsMapLayerRegistry.instance().addMapLayer(point_layer)
Run Code Online (Sandbox Code Playgroud)

qgis

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