wpf listview 切换数据源 位置不刷新_连载| 8 初识数据源
初次接触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 初识数据源相关推荐
- wpf listview透明但字不要透明_早春松树松针上出现透明液体,不要不在意,可能是松大蚜在危害...
每年一到春天很多做绿化的朋友就会发现,在松树的松针上常常会有透明的液体出现,在阳光下还一闪一闪的,很多人以为这是松树的松脂,却不知道这很有可能是松大蚜危害的标志,而这些透明的液体其实正是松大蚜吸食松树 ...
- 如何让listview或者gridview设置到底刷新新数据
昨天简单的看了一下ScrollView的例子,虽然可以实现拉到底触发监听,但是Listview和gridview本身就自带了下拉属性,所以不需要ScrollView来实现. 那么在Listview和g ...
- arcgiss如何在空白点图层加入坐标_连载 | 21 QGIS工程文件属性设置(2)——坐标参照系、变换、默认样式、数据源、关系和变量...
今天继续分享工程文件属性的设置,包括工程坐标参照系.变换.默认样式.数据源.关系和变量六个部分. 01 坐标参照系 工程坐标参照系定义了当前地图窗口所使用的坐标系,决定了如何将数据从其底层原始坐标 ...
- Flutter ListView封装,下拉刷新、上拉加载更多
Flutter ListView封装,下拉刷新.上拉加载更多 封装了Flutter的ListView,只要传递请求数据的方法和绘制item的方法进去就可以绘制ListView,同时支持下拉刷新.上 ...
- [WPF]ListView点击列头排序功能实现
[WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了.微软的MSD ...
- WPF ListView中自动生成的列
目录 介绍 为什么我们在这里 使用情况 其他可选的视觉样式 ColWidth属性 ColSort属性 ColCellTemplate属性 另一种样式选项--排序箭头颜色 代码 属性 排序装饰器 Aut ...
- android 下拉刷新listview,实现Android下拉刷新的ListView
ListView的下拉刷新及上拉加载更多数据是我们开发中通常要实现的功能,开源项目中有很多的上下拉加载刷新的ListView可直接拿来使用,这几天刚好学习了下刷新的实现方式,把学习的资料做个记录: 实 ...
- WPF 动态切换黑|白皮肤
WPF 动态切换黑|白皮肤 WPF 使用 WPFDevelopers.Minimal 如何动态切换黑|白皮肤 作者:WPFDevelopersOrg 原文链接: https://github.c ...
- LISTVIEW嵌套GRIDVIEW的一些处理(点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置)(对这篇文章的优化处理,不每次都new onItemClickListener)...
前几天写了点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置,当时的处理是在ListView的适配器里的GetView方法里每次都new GridView的onItemClickList ...
最新文章
- Android网络连接异常处理方案
- 安装apache+gd2(jpeg,png等)+mysql-client+php脚本
- jzoj4638-第三条跑道【欧拉函数,线段树】
- c语言中的取模运算符_C语言除法算法和取模运算的实现(多种算法,多种思路)...
- 职场实用和常用的十大心理学效应
- 存图利器——链式前向星
- 每日小记2017.3.7
- HTML中利用纯Microsoft Ajax Library做出可调用WebSerives的AutoComplete
- 基于设备树的TQ2440 DMA学习(2)—— 简单的DMA传输
- Oracle PL/SQL 存储过程
- java怎么将在中加入数字,在Java中将前导零添加到数字中?
- SiteMesh JSP布局框架介绍
- 被信息控制的我,心感不安
- java怎样编程界面_java程序的界面编程详解
- 用proxifier、ccproxy、teamviewer做网络代理
- Feb23 小白《linux就该这么学》学习笔记5
- 流程图中省略的图表怎么表示_如何将流程图和图表添加到Google文档或幻灯片
- 用jsp实现文件的下载(download.jsp)
- Kubernetes CKA认证运维工程师笔记-Docker快速入门
- Java项目员工信息管理系统
热门文章
- Android之通过VideoView控件播放一个视频出现的问题以及我的解决办法
- Spring自学日志04(java的方式配置Spring)
- 使用 Spring 简化 MyBatis
- Java常用性能分析工具 jconsole、jvisualvm、 jstat、jinfo、jmap、jhat、jstack
- mos管电路_三极管和MOS管原来这样用,混用代价高,电路设计中需谨慎
- React hooks + antd前台实现input搜索框实时搜索table表格
- 重庆师范大学第一届ACM选拔赛(公开赛)G-团日活动
- java在线聊天项目ppt_基于JavaEE的在线聊天聊天.ppt
- centos环境访问php显示源码,CentOS 6.8 搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展...
- 2017 3月21日,下午