初次接触GIS的朋友,常常弄不清数据源(Data Source)图层(Layer)的区别与联系,导致在数据处理和分发时出现一些问题,例如:辛辛苦苦做出了一幅漂亮的地图,为什么再次打开数据时,地图又变回丑陋的样子?怎么才能把工作成果分发给同事,让他打开数据时效果跟我本机一模一样?

回答这些问题,我们需要从数据源的基本概念说起。

本文从数据源和图层的区别与联系、打开数据源管理器、数据源管理器界面介绍和QGIS支持打开的数据源类型等方面,整体上初步介绍数据源相关知识。后续将陆续推出文章,详细介绍不同数据源的创建、打开、管理等内容。

 01 

数据源与图层

数据源(Data Source)顾名思义指的是数据的来源,是数据的物理存储方式,具体表现为硬盘上的一个个数据文件或者数据库中一张张表。QGIS中的数据源主要指的是各种不同类型地理空间数据的文件、数据库或网络数据服务。同时,QGIS也兼具处理非空间数据即纯属性数据的能力。

图层(Layer)不保存数据本身,通常用于定义空间数据在地图窗口中的显示方式,是地理空间数据的可视化表达。图层通过与具体的数据源关联,采用符号和标签等制图元素将数据绘制在地图中。

多个图层叠加得到内容丰富的地图

图片来源:https://blog.csdn.net/dsac1/article/details/78027574

通俗来说,数据源是存储在计算机硬盘上的一个个文件,图层是数据的表达方式,是QGIS为了图形漂亮而给数据设置地图符号、颜色、线型、填充等。打开数据文件,设置美观的样式将数据显示在地图窗口中,就叫做地图

在QGIS中,数据源一般显示在【浏览】面板中,【图层】面板列出了当前地图窗口所绘制的图层。

同一份数据可以用不同的样式绘制在地图窗口中。在【图层】面板中,右键点击图层,点击【创建图层副本】,即可为同一数据创建不同图层副本。

当图层复制完成时,地图窗口的上方将提示该副本使用了同一数据源:

分别设置两个图层的样式,可以看到到相同数据源的两个图层叠加的效果。这是一个常用的作图技巧,通常用来突出显示研究区域边界。

 02 

打开数据源

在QGIS中,打开数据源有以下方式:

  • 点击菜单【图层】->【添加图层】,根据数据源类型选择对应的子菜单:

  • 根据数据源类型,点击【图层管理】工具栏上对应的按钮:

  • 点击【数据源管理】工具栏上的【打开数据源管理器】按钮,然后切换到对应的标签页:

实际上,以上方式均打开了同一个界面:【数据源管理器】对话框。

 03 

数据源管理器界面介绍

【数据源管理器】是QGIS默认的加载数据工具,它以风格一致的方式提供了打开矢量数据、栅格数据、网孔数据、数据库数据和网络数据的操作界面。

【数据源管理器】界面分为两部分:左边是数据源类型标签页,右边是对应数据源类型的参数设置区域。

点击左侧的数据源类型,即可切换到对应的标签页,右边区域显示不同的设置选项,完成设置后点击下方的【添加】按钮即可将对应的数据添加到【图层】面板,具有几何图形的数据将同时在地图窗口显示空间图形。

  • 浏览标签页

【数据源管理器】左侧最上方是【浏览】标签页。实际上该标签页是将主界面的【浏览】面板内嵌到【数据源管理器】中,两者的功能与操作方式完全相同:点击展开各个节点,可以查看图层文件、工程文件、Python脚本、模型文件等QGIS资源,拖拽或者双击将打开文件,如果是空间数据的文件,则显示在地图窗口中。

(关于【浏览】面板的操作,请参考:连载| 7 浏览面板(Browser Panel)实用技巧)

  • 文件型数据源

切换到矢量和栅格标签页,指定数据存储的路径,即可打开文件型矢量数据和栅格数据。

作为开源软件生态的一部分,QGIS对数据文件的支持是构建在OGR/GDAL开源库的基础上,因此对数据的读写能力也依赖于这些开源库所提供的数据引擎。

  • 矢量数据:支持 GeoPackage, GML, GeoJSON, GPX, KML, 分隔文本、ESRI格式(Shapefile,OpenFileGDB、FileGDB等)、MapInfo格式(TAB、MIF)、MicroStation 格式、AutoCAD DWG/DXF、GRASS等。(打开网页:https://gdal.org/drivers/vector/index.html 了解更多的矢量数据格式支持情况。)
  • 栅格数据:GeoTIFF, JPEG, ASCII Gridded XYZ, MBTiles, R or Idrisi rasters, GDAL Virtual, SRTM, Sentinel Data, ERDAS IMAGINE, ArcInfo Binary Grid, ArcInfo ASCII Grid等。(打开网址:https://gdal.org/drivers/raster/index.html 可查看完整栅格数据支持列表。

  • 网孔(mesh layer)数据源

网孔数据是一种非结构化的网格数据,由顶点(vertices)、边(edges)和表面(faces)组成,常用于模拟分析结果,如大气运动、流水淹没、污染物扩散等。

在【数据源管理器】中,切换到网孔标签页,可以看到打开网孔数据的界面。

QGIS通过MDAL提供网孔数据的支持,MDAL是一个开源库,github地址为:https://github.com/lutraconsulting/MDAL。

网孔数据支持如下格式:

NetCDF:常用格式,多用于科学研究领域。

GRIB:一般用在气象领域。

XMDF:如TUFLOW 模型的输出结果模拟。

DAT:多种水流动力学模型包的数据输出格式,如:BASEMENT, HYDRO_AS-2D, TUFLOW。

3Di:3Di模型包所使用的数据格式。

  • 分隔文本文件

文本文件包括txt、csv、dat、wkt等文件格式,使用分隔文本文件可以将带有空间位置信息的文本文件导入到QGIS,并还原其空间图形,显示在地图窗口中。

  • 数据库

由于文件型数据源在存储能力、性能、安全性、数据共享方面存在一些列问题,在大型项目中,GIS数据一般用数据库来存储和管理。

QGIS支持PostgreSQL/PostGIS, SQLite/SpatiaLite, Oracle, DB2、MSSQL Spatial, MySQL等数据库。

  • 网络数据源

网络地图和数据服务通常可以提供优质的底图和数据来源,叠加自己的业务数据快速得到分析结果。

QGIS支持打开的网络地图和数据服务包括:WM(T)S, WFS, WCS, CSW, XYZ tiles, ArcGIS services等。

  • QGIS格式数据源

QGIS自定义的数据格式包括:QML文件、虚拟数据源和内存数据源等。

 04 

小结

QGIS丰富的数据支持能力,可以满足一般的工作和学习需要,对于一些特殊的数据格式和数据存储需求,有能力的朋友可以通过编写插件或者修改底层代码实现,这也是开源软件的优点之一。

在使用QGIS管理数据的过程中,需要特别注意因数据源类型不同导致数据的组织方式不同问题,例如,MapInfo的TAB格式和AutoCAD的DXF格式允许在一个图层存储点、线、面等几何图形,而QGIS中一个图层只存储一种几何图形。这种差异导致数据导入以后存储发生变化,可能需要重新梳理图层内容,或者评估QGIS是否是解决当前问题的最佳选择。

文章推荐 连载| 7 浏览面板(Browser Panel)实用技巧 连载| 6 图层进阶(三)- 快速美化图层数据 连载|5 QGIS图层进阶(二)- 连接属性表 4 QGIS 3.x 图层进阶(一)创建和编辑图层 连载| 3 图查属性、属性查图 连载 | 2 图层基本操作 连载 | 1 QGIS的下载与安装

版权声明

本文欢迎转载,转载时请注明出处。

wpf listview 切换数据源 位置不刷新_连载| 8 初识数据源相关推荐

  1. wpf listview透明但字不要透明_早春松树松针上出现透明液体,不要不在意,可能是松大蚜在危害...

    每年一到春天很多做绿化的朋友就会发现,在松树的松针上常常会有透明的液体出现,在阳光下还一闪一闪的,很多人以为这是松树的松脂,却不知道这很有可能是松大蚜危害的标志,而这些透明的液体其实正是松大蚜吸食松树 ...

  2. 如何让listview或者gridview设置到底刷新新数据

    昨天简单的看了一下ScrollView的例子,虽然可以实现拉到底触发监听,但是Listview和gridview本身就自带了下拉属性,所以不需要ScrollView来实现. 那么在Listview和g ...

  3. arcgiss如何在空白点图层加入坐标_连载 | 21 QGIS工程文件属性设置(2)——坐标参照系、变换、默认样式、数据源、关系和变量...

    今天继续分享工程文件属性的设置,包括工程坐标参照系.变换.默认样式.数据源.关系和变量六个部分.  01  坐标参照系 工程坐标参照系定义了当前地图窗口所使用的坐标系,决定了如何将数据从其底层原始坐标 ...

  4. Flutter ListView封装,下拉刷新、上拉加载更多

    Flutter ListView封装,下拉刷新.上拉加载更多 ​ 封装了Flutter的ListView,只要传递请求数据的方法和绘制item的方法进去就可以绘制ListView,同时支持下拉刷新.上 ...

  5. [WPF]ListView点击列头排序功能实现

    [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了.微软的MSD ...

  6. WPF ListView中自动生成的列

    目录 介绍 为什么我们在这里 使用情况 其他可选的视觉样式 ColWidth属性 ColSort属性 ColCellTemplate属性 另一种样式选项--排序箭头颜色 代码 属性 排序装饰器 Aut ...

  7. android 下拉刷新listview,实现Android下拉刷新的ListView

    ListView的下拉刷新及上拉加载更多数据是我们开发中通常要实现的功能,开源项目中有很多的上下拉加载刷新的ListView可直接拿来使用,这几天刚好学习了下刷新的实现方式,把学习的资料做个记录: 实 ...

  8. WPF 动态切换黑|白皮肤

    WPF 动态切换黑|白皮肤 WPF 使用 WPFDevelopers.Minimal 如何动态切换黑|白皮肤 作者:WPFDevelopersOrg 原文链接:    https://github.c ...

  9. LISTVIEW嵌套GRIDVIEW的一些处理(点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置)(对这篇文章的优化处理,不每次都new onItemClickListener)...

    前几天写了点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置,当时的处理是在ListView的适配器里的GetView方法里每次都new GridView的onItemClickList ...

最新文章

  1. Android网络连接异常处理方案
  2. 安装apache+gd2(jpeg,png等)+mysql-client+php脚本
  3. jzoj4638-第三条跑道【欧拉函数,线段树】
  4. c语言中的取模运算符_C语言除法算法和取模运算的实现(多种算法,多种思路)...
  5. 职场实用和常用的十大心理学效应
  6. 存图利器——链式前向星
  7. 每日小记2017.3.7
  8. HTML中利用纯Microsoft Ajax Library做出可调用WebSerives的AutoComplete
  9. 基于设备树的TQ2440 DMA学习(2)—— 简单的DMA传输
  10. Oracle PL/SQL 存储过程
  11. java怎么将在中加入数字,在Java中将前导零添加到数字中?
  12. SiteMesh JSP布局框架介绍
  13. 被信息控制的我,心感不安
  14. java怎样编程界面_java程序的界面编程详解
  15. 用proxifier、ccproxy、teamviewer做网络代理
  16. Feb23 小白《linux就该这么学》学习笔记5
  17. 流程图中省略的图表怎么表示_如何将流程图和图表添加到Google文档或幻灯片
  18. 用jsp实现文件的下载(download.jsp)
  19. Kubernetes CKA认证运维工程师笔记-Docker快速入门
  20. Java项目员工信息管理系统

热门文章

  1. Android之通过VideoView控件播放一个视频出现的问题以及我的解决办法
  2. Spring自学日志04(java的方式配置Spring)
  3. 使用 Spring 简化 MyBatis
  4. Java常用性能分析工具 jconsole、jvisualvm、 jstat、jinfo、jmap、jhat、jstack
  5. mos管电路_三极管和MOS管原来这样用,混用代价高,电路设计中需谨慎
  6. React hooks + antd前台实现input搜索框实时搜索table表格
  7. 重庆师范大学第一届ACM选拔赛(公开赛)G-团日活动
  8. java在线聊天项目ppt_基于JavaEE的在线聊天聊天.ppt
  9. centos环境访问php显示源码,CentOS 6.8 搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展...
  10. 2017 3月21日,下午