zoukankan      html  css  js  c++  java
  • QGIS练手

    又熬夜了...

    这篇博客可能会将QGIS数据管理部分和ArcGIS数据管理进行对比学习。

    1. 本地数据文件与数据库(矢量)

    1.1 文件

    QGIS用的是shp文件、kml文件、geojson文件较多,gml也可...

    ArcGIS不用说,几乎全都支持(请放弃使用远古的Coverage格式···)

    当前最通用还是shp文件,不是因为它性能优秀,是因为历史缘故。

    1.2 本地数据库

    QGIS我目前使用了GeoPackage这个本地数据库,它有3个子文件组成:*.gpkg、*.gpkg-wal、*.gpkg-shm

    ArcGIS本地数据库有两种,mdb已经不推荐了,大多数时候还是gdb

    ps:ArcGIS内置的数据结构规定了ArcGIS的数据库只能是面向对象的。

    1.3 关系数据库

    为了提高性能,一般采用关系数据库。

    QGIS我目前已经学会Postgresql的PostGIS插件,通常称为PostGIS数据库

    此外,QGIS还支持SpatialLite、SQLite、MySQL、Oracle、DB2这些数据库MS

    ArcGIS在ArcSDE的支持下,几乎所有的第三方关系数据库都可以连接上去,但是不一定是最新版本

    PostGIS提供了一款shp/dbf2postgis工具,支持dbf或者shp文件(必须英文名)导入导出PostGIS数据库

    2. QGIS数据编辑

    肯定会有数据编辑的时候,我目前做过的操作是

    在本地创建GeoPackage数据库和矢量数据,编辑完成后转存到PostGIS数据库里。

    矢量数据编辑无非就两种数据

    第一种就是地理信息数据,也叫空间数据,一般在关系数据库或者ArcGIS属性表里以几何字段表示,这就是这份数据的几何信息。

    第二种就是非空间数据,也叫属性数据。即关系数据库里的表或者ArcGIS属性表的其他列,可以存储对应的空间数据下的其他信息。

    (bb一句,空间分析围绕着空间数据和非空间数据展开,可以只分析空间数据,也可以只分析非空间数据,当然也可以二者结合一起分析)

    当然也有一种简便的空间数据编辑方法,即直接对PostGIS里的矢量数据(被称作表)进行编辑。

    2.1 PostGIS矢量数据编辑

    概念:模式。

    模式就是一个虚拟的目录。打个比方,见下图

    PracDB数据库下就有5个模式,这相当于ArcGIS里的要素数据集;而模式下的表即对应ArcGIS要素数据集下的要素类。只不过,ArcGIS要素数据集下的要素类远远不止普通的矢量数据罢了。

    我在PracDB数据库下新建了一个MyGZApp模式;其他四个模式是PostGIS模板必须的模式,在不知道具体构成的情况下,我先不改动这四个模式下的数据,创建自己的模式用于管理数据。

    在QGIS3.4中,使用数据库工具(或者菜单栏上的数据库管理工具)即可进行PostGIS数据库的数据操作。

    使用表格菜单,可以创建普通数据表,也可以创建带几何字段的空间矢量数据,也可以导入支持的所有类型的数据。

    在创建表的时候,就可以指定非空间数据所定义的列的信息了,比如列名(即属性名)、列数据类型(整形浮点型文本型日期型等)、数据长度等。

    创建空间数据时,需要指定几何数据,否则就是普通的表格了。上图中点矢量和普通表格的图标还是不同的(在MyGZA...那个模式下)

    在这个表格菜单下的“编辑表格”按钮,也可以对已有的矢量数据进行列编辑,增删改都可以(见下图)。

    注意:普通数据表在浏览面板里是看不到的:

    当前,貌似不支持手工输入坐标新建点,但是可以用顶点编辑工具修改坐标值:

    激活这个工具,右键需要编辑的顶点,就可以编辑其xy坐标了,x是经度,y是纬度(假如你用的是GCS)

    未完待续(还想试试导入csv或者其他数据)

  • 相关阅读:
    nohup
    wonder vscode plugins
    myhome vscode plugins
    virtural machine eth1
    单片机电子时钟的设计(期末课程设计)
    解决Eclipse中更改HTML页面后,浏览器查看页面无变化
    ASP.NET 中的 Session对象
    windows下mysql数据库导入导出
    TP5.1分表,partition分表实例,根据自增主键水平分表
    PHP操作mysql数据库分表的方法
  • 原文地址:https://www.cnblogs.com/onsummer/p/11220075.html
Copyright © 2011-2022 走看看