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或者其他数据)
QGIS练手 - 数据的更多相关文章
- Qgis练手
师妹推荐了一个神器 Qgis,因为看我拿Echarts和Excel缝缝补补效率实在太低下. 还记得,以前写过一个“echarts画中国地图并上色”的笔记,那个应付一下事还行,真正需要精细画图的时候还得 ...
- QGIS练手 - 标注
又熬夜了... QGIS的标注就是标签,在QGIS3.x中有了改进. 不得不说,就光速度这一项,就能把ArcMap按在地上摩擦,更别说各种高级的标注样式了——除了标注功能面板UI有点“缺审美化”就是了 ...
- 练手mysqlbinlog日志恢复数据(centos6.5 64,mysql5.1)
练手mysql bin log日志相关 系统是centos 6.5 64 阿里云的服务器 mysql版本5.1 1 如何开启bin-log日志? vi /etc/my.cnf [mysqld] log ...
- python实现列表页数据的批量抓取练手练手的
python实现列表页数据的批量抓取,练手的,下回带分页的 #!/usr/bin/env python # coding=utf-8 import requests from bs4 import B ...
- web前端学习部落22群分享给需要前端练手项目
前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程, ...
- webpack练手项目之easySlide(二):代码分割(转)
在上一篇 webpack练手项目之easySlide(一):初探webpack 中我们一起为大家介绍了webpack的基本用法,使用webpack对前端代码进行模块化打包. 但是乍一看webpack ...
- Python之路【第二十四篇】:Python学习路径及练手项目合集
Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...
- 仿PC版微信的练手项目(可实时通讯)
仿PC版微信的DEMO 本项目是由一个仿PC版微信的vue前端项目,和一个使用leancloud进行数据存储的.提供WebSocket的node后端项目构成. 本项目使用的技术栈:vue + vue- ...
- Python入门、练手、视频资源汇总,拿走别客气!
摘要:为方便朋友,重新整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何编程问题请第一时间到此网站查找. ...
随机推荐
- ceph分布式存储
存储分类: DAS:直连存储 ide线 sata线 usd线 sas线 NAS:网络附加存储 nfs samba ftp SAN:存储区域网络 issci SDS ...
- Spring Boot 搭建TCP Server
本示例首选介绍Java原生API实现BIO通信,然后进阶实现NIO通信,最后利用Netty实现NIO通信及Netty主要模块组件介绍. Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可 ...
- 计蒜客-蒜场抽奖(AC自动机+状态压缩DP)
题解:题意不再说了,题目很清楚的. 思路:因为N<=10,所以考虑状态压缩 AC自动机中 val[1<<i]: 表示第i个字符串.AC自动机中fail指针是指当前后缀在其他串里面所能 ...
- 《JavaScript 正则表达式迷你书》知识点小抄本
介绍 这周开始学习老姚大佬的<JavaScript 正则表达式迷你书> , 然后习惯性的看完一遍后,整理一下知识点,便于以后自己重新复习. 我个人觉得:自己整理下来的资料,对于知识重现,效 ...
- java基础- Java编程规范与注释
一 前言 java编程规约是指在java代码编写过程中通俗的约定:通常我们是要遵守这些规范:这好比我们在生活中要遵守的道德准则,如果你做的事情超出了道德的底线,那就有可能会受到社会抨击:在java编程 ...
- 动态代理模式——JDK动态代理
今天,我就来讲一下动态代理的设计模式. 动态代理的意义在于生成一个代理对象,来代理真实对象,从而控制真实对象的访问.操作动态代理需要两个步骤:一.代理对象和真实对象建立代理关系.二.实现代理对象的代理 ...
- 松软科技Web课堂:JavaScript 类型转换
Number() 转换数值,String() 转换字符串,Boolean() 转换布尔值. JavaScript 数据类型 JavaScript 中有五种可包含值的数据类型: 字符串(string) ...
- leaflet-webpack 入门开发系列六矢量瓦片(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- 软件开发工具(第13章: Eclipse插件的使用与开发)
一.插件简介 插件的定义(了解) 插件是一种遵循其所依附的软件的接口规范所编写出来的程序. 插件实际上是对原有软件的扩展,替应用程序增加一些所需要的特定 功能. 插件的构成(重点.记忆) 每个插件都由 ...
- mysql-5.7.21-winx64安装教程
1 . 下载对用的版本信息 地址是:https://dev.mysql.com/downloads/mysql/ 2 . 解压到目录 D:\tools\mysql\mysql-5.7.21-winx6 ...