当前位置: 首页 > news >正文

萍乡做网站的怎么做网站后期维护

萍乡做网站的,怎么做网站后期维护,做网站学哪种代码好,东莞公司注册服务平台文章目录 整体架构QGis库官方文档编译生成的库 core地图和图层矢量图层(Vector layers)图层要素符号图层要素要素渲染(feature renderer)符号(symbol) 坐标映射数据源(data provider) Raster layers图层符号数据源坐标映射 core库其他有用类 guiQgsMapCanvasQgsMapToolQgsLayer… 文章目录 整体架构QGis库官方文档编译生成的库 core地图和图层矢量图层(Vector layers)图层要素符号图层要素要素渲染(feature renderer)符号(symbol) 坐标映射数据源(data provider) Raster layers图层符号数据源坐标映射 core库其他有用类 guiQgsMapCanvasQgsMapToolQgsLayerTreeView/QgsLayerTreeModelQgsMapCanvasItem其他有用的gui类 analysisQgsProcessingProviderQgsProcessingAlgorithmQgsProcessingRegistryQgsProcessingContextQgsProcessingFeedbackQgsProcessingAlgRunnerTask 整体架构 QGis库官方文档 下表是官方文档中的模块说明 库文档说明coreThe CORE library contains all basic GIS functionality核心库guiThe GUI library is build on top of the CORE library and adds reusable GUI widgets基于CORE库的增加了可复用的界面组件analysisThe ANALYSIS library is built on top of CORE library and provides high level tools for carrying out spatial analysis on vector and raster data集成了一些算法如缓冲区的生成3DThe 3D library is build on top of the CORE library and Qt 3D framework3D库plugin classesContains classes related to implementation of QGIS plugins组件库 如data provider, 一些算法都是采用插件机制实现的QgsQuickThe QgsQuick library is built on top of the CORE library and Qt Quick/QML framework基于CORE库可用于QMLserverThe SERVER library is built on top of the CORE library and adds map server components to QGIS服务端组件 其中3DQgsQuick和server库需要在编译之前进行配置配置项分别为WITH_3D WITH_QUICK和WITH_SERVER具体编译配置方法见开发环境搭建章节 编译生成的库 实际编译生成的库如下图 库说明appQGis Desktop程序库属于应用层并没有这个库的官方文档native不同平台之间特有的功能python用于使用python特性test单元测试库core核心库gui小组件库analysis算法库 其中core为基础库其他库都依赖core以下详细说明core、gui和analysis三个库 core core库是qgis系统中的基础类包含所有基本的GIS功能而该库的很大一部分功能是用于处理矢量(vector)和栅格(raster)地理空间数据并在地图中显示这些类型的数据。在讲解vector和raster之前先介绍一下地图图层概念 地图和图层 地图由多个图层组成一个层绘制在另一个层的上层qgis支持多种类型的图层 Annotaion layer: 表示包含一组地理参考注释的地图层例如标记、直线、多边形或文本项。在qgis desktop中可以添加对应类型的annotaion Group layer: 由一组子层组成的地图层 Mesh Layer: 表示支持在结构化或非结构化网格上显示数据的网格层。多用于存储气候气象数据、水文数据、洋流数据等 Plugin Layer: Base class for plugin layers. 插件实现自定义图层 PointCloud Layer: 点云图层 Vector Tile Layer: 矢量瓦片图层 Raster Layer: 栅格图层 Vector Layer: 矢量图层 其中矢量图层和栅格图层是最常用的我们将重点研究这两个图层下图是矢量图层和栅格图层叠加显示效果图 矢量图层(Vector layers) 矢量数据通常用点、线、多边形等基本几何对象描述。矢量格式的地理空间数据通常从**矢量数据源(data provider)**读取常见的矢量数据源有.shp文件、数据库、内存、webservice等等如下图QGis添加矢量图层示例 矢量层本身由QgsVectorLayer类表示。矢量层包括很多模块如下图所示 下面重点讲解以下模块 symbology: 图层要素符号proj: 坐标映射providers: 数据源 图层要素符号 图层要素 矢量格式具有许多要素(features)矢量图层属性表每一行都代表一个要素 以jilin_city.shp为例在QGis中添加图层后打开属性表(Attribute Table)如下图所示 可以看到矢量属性表有9行代表9个要素这9个要素以符号的形式显示在地图上使用QGis的地图工具:Identify Feature工具查看属性如下图 可以看到要素(feature)的属性包含了idGeometry以及附件属性QgsFeature类用于表示要素。每个要素都有以下属性 id: feature idGeometry: 要素的地理信息表示要素是地图上点、线、多边形等。Attributes: 要素的附加属性例如一个城市要素可能具有total_area、population、elevation等属性。属性值可以是字符串、整数或浮点数。 要素渲染(feature renderer) 上边已经看到了jilin_city.shp中的要素(feature)渲染为一个点在QGis中提供了多种渲染方式如下图 而QgsFeatureRenderer类是这些渲染方式的父类见如下类图 以后的章节我们一一讲解各个渲染类 符号(symbol) 设置渲染器之后需要设置符号以单一符号渲染器为例可设置的符号类别如下图 QgsSymbol是符号的父类见下图的类图 QgsFillSymbol,QgsLineSymbol和QgsMarkerSymbol分别对应三种几何图形面、线和点的符号 坐标映射 在GIS软件中空间坐标依据坐标系的不同分为地理坐标和投影坐标。地理坐标是将地球比作一个类椭球体描述一个点在球面上的位置。但是在地图制图过程中往往需要在一个平面无论是纸质地图还是电子地图上展示地物这时需要解决地球球面与地图平面之间的矛盾因此需要对地球进行投影经过投影后的坐标称为投影坐标因此投影坐标是建立在地理坐标之上的。 为了解决地球椭球面和地图平面之间的矛盾需要将地球椭球面进行投影经过投影以后的坐标系称为投影坐标系。投影后的平面坐标系一定会出现变形我们只能在等距、等积和等角之间进行取舍。因此在不同应用场景下大量的投影坐标系应运而生。 各个国家或地区建立了能够基本符合自己国家或地区的地球椭球面或者根据精度需要及特定应用场景构建了不同的地球椭球面。根据构建的地球椭球面的参数不同地理坐标系也层出不穷。我国的地理坐标系经历了从北京1954坐标系BJZ54到西安1980坐标系XI’AN-80再到2000国家大地坐标系CGCS2000的发展过程。 由于地理坐标系和投影坐标系众多如果仅通过参数对这些坐标系进行整理与应用则过于麻烦因此需要通过标准化组织将这些坐标系归档整理。对于石油的探查和开采来讲坐标系的不同会显著影响开采精度因此欧洲石油调查组织European Petroleum Survey GroupEPSG整合了绝大多数常用的坐标系并为每个坐标系设置了一个编码例如“EPSG:4326”和“EPSG:3785”分别表示WGS 1984坐标系和WGS 1984 Web墨卡托投影坐标系。 QGis矢量图层会显示坐标系如下图 数据源(data provider) 类QgsVectorDataProvider代表Vector Layer的数据源类图如下 数据源包含的数据在QGis中以表格形式展示如下图 Raster layers 光栅格式的地理空间数据本质上是位图图像其中图像中的每个像素都对应于地球表面的特定部分。 栅格数据采用某种数据类型的数值阵列存储数据阵列中的每个数值称为一个像元Pixel。由于数据阵列本身不存在空间信息因此需要元数据进行界定。 栅格数据的元数据包括空间坐标系、数据类型等。 光栅图层本身由QgsRasterLayer类表示。每个光栅图层包括 symbology: 图层要素符号proj: 坐标映射Data provider: 数据源 图层符号 Raster Layer有多种渲染方式QgsRasterRenderer是Raster图层渲染的父类如下图 在QGis中设置不同渲染器 Multiband color 如果光栅数据具有多个波段则通常会将带组合以生成所需的颜色。例如一个波段可能表示颜色的红色分量另一个波段可以表示绿色分量还有一个波段则可能表示蓝色分量。Paletted/Unique values 如果光栅数据只有一个波段则像素值可以用作调色板的索引。调色板将每个像素值映射到特定的颜色。Singleband gray 如果光栅数据只有一个波段但没有提供调色板。像素值可以直接用作灰度值也就是说越大的数字越亮越小的数字越暗。或者像素值可以通过伪彩色算法来计算要显示的颜色。Singleband pseudocolor 多波段数据可以使用调色板绘制多波段光栅数据源或者将其绘制为灰度或伪彩色图像。Hillshade 多用于显示高程数据Contours 显示轮廓 数据源 类QgsRasterDataProvider代表Raster Layer的数据源类图如下 成员函数identify用于查看raster图层数据 QgsRasterIdentifyResult QgsRasterDataProvider::identify ( const QgsPointXY point, QgsRaster::IdentifyFormat format,const QgsRectangle boundingBox QgsRectangle(), int width 0,int height 0,int dpi 96 )后边章节会逐一介绍相关类和函数 坐标映射 坐标参考系Coordinate Reference SystemCRS界定了栅格数据所处的投影坐标系或地理坐标系。 core库其他有用类 类说明QgsProject代表当前项目,包含一系列属性如地图图层及其样式、布局、注释、画布等QgisQgis类提供全局常量供整个应用程序使用QgsGeometry代表几何特征是feature的空间表示QgsGeometry对象本质上是笛卡尔/平面几何。QgsCurve曲线类型的抽象基类QgsPoint点类型QgsSurface曲面类型QgsRectangle矩形QgsEllipse椭圆形QgsDistanceArea距离、面积测算类 gui GUI库构建在CORE库之上并添加了可重用的GUI小部件 QgsMapCanvas 地图视图也称为地图画布用于显示地图控件QGIS主窗体的地图区域就是一个地图视图。QGIS支持多地图视图即可以在保留地图区域的基础上以面板的形式增加地图视图或3D地图视图。QGIS多个地图视图采用同一个图层控制面板控制因此一般用于显示同一个地图主题的不同四至范围数据或以3D形式展示数据。 QgsMapcanvas类是一个用于在画布上显示所有GIS数据类型的类。是QGraphicsView的子类 包括以下功能 当前显示的地图图层的列表。这可以使用layers()方法访问。获取地图使用的地图单位米、英尺、度等。可以通过调用mapUnits())方法来获取。显示范围即当前显示在画布中的地图区域。地图的范围将随着用户放大和缩小以及在地图上平移而改变。当前映射范围可以通过调用extent()方法来获得。当前地图工具可以使用setMapTool()设置使用mapTool()获取当前工具设置地图背景色使用canvasColor()获取坐标转换将地图坐标转换为窗口坐标 QgsMapTool 地图视图控制可以使用地图浏览工具栏 QgsMapTool是地图工具类基类用于和用户交互、操作地图、处理鼠标事件。类图如下 QgsLayerTreeView/QgsLayerTreeModel QgsLayerTreeView类扩展了QTreeView提供图层管理功能并提供了一些附加功能。如下图 QgsMapCanvasItem QgsMapCanvasItem是可以直接画在map canvas的item的基类Map Canvas Item显示优先级高于图层。类图如下 QgsVertexMarker: 这将绘制一个图标“X”、“”或小方框以地图上的给定点为中心。QgsRubberBand: 这将在地图上绘制任意几何类型。它在用户绘制时提供视觉反馈。QgsAnnotationItem: 在地图上添加标注的基类其子类如下图 其他有用的gui类 类说明QgsMapTip鼠标悬停时显示的提示信息QgsColorDialog颜色选择框QgsBlendModeComboBoxQgsBrushStyleComboBoxQgsColorRampComboBoxQgsPenCapStyleComboBoxQgsPenJoinStyleComboBox以上QComboBox用户界面小部件提示用户输入各种绘图选项QgsScaleComboBox选择缩放等级 analysis analysis库建立在CORE库之上为对矢量和光栅数据进行空间分析提供了高级工具QGis中算法多集中在Processing Toolbox中如下图 QgsProcessingProvider QgsProcessingProvider类通常提供一组相关算法类图如下 QgsProcessingAlgorithm QgsProcessingAlgorithm类代表一种算法通常由QgsProcessingRegistry进行创建之后可以运行算法获取结果 QgsProcessingRegistry QgsProcessingRegistry类用于注册算法处理的各个组件包括providers, algorithms,input,output and various parameters. 以clip算法为例使用QgsProcessingRegistry创建算法类 const QString id native:clip; QVariantMap conf; conf.insert(QStringLiteral(INPUT),layer-id()); conf.insert(QStringLiteral(OVERLAY),jilin_dist.shp); QgsProcessingOutputLayerDefinition value( TEMPORARY_OUTPUT ); conf.insert(QStringLiteral(OUTPUT),value); auto algorithm QgsApplication::processingRegistry()-createAlgorithmById(id,conf);QgsProcessingContext QgsProcessingContext用于算法运行时 QgsProcessingFeedback QgsProcessingFeedback用于接收算法运行时的反馈 QgsProcessingAlgRunnerTask QgsProcessingAlgRunnerTask是在线程中运行算法的类类图如下
http://www.zqtcl.cn/news/425395/

相关文章:

  • 常宁市城乡和住房建设网站怎样加强文化建设
  • 视频网站如何做营销策划模板网站 seo
  • 中企动力做网站好吗网页建设软件
  • 爱站网seo浙江省嘉兴市建设局网站
  • 南宁做网站比较好的公司有哪些贵阳网站上门备案业务
  • 网络叶子 网站推广做一手房做那个网站好
  • 太仓网站建设平台成都家装设计公司排名
  • 现在建一个网站一年费用只要几百元如何建一个免费试用网站
  • 网站没有被收录销售型网站的建设流程及特点
  • 成都58手机微信网站建设名录近一周财经新闻热点
  • wordpress情侣网站源码微信开放平台官网登录
  • 网站改版提示无需改版有没有兼职做设计的网站
  • 网站sem怎么做网络建设设计方案
  • wap网站在线生成做饰品网站
  • 网站主机在哪里注册呢江西的赣州网站建设
  • 零基础网站建设视频教程建筑设计专业是干什么的
  • 淘客做网站的话虚拟主机多大重庆网上房地产网签合同查询
  • 官网建站网站seo关键字优化软件
  • 网站制作的内容什么好开发板用什么语言编程
  • 医院品牌网站建设aws创建wordpress
  • dw做的网站怎么让别人看到动易网站频道栏目字体大小修改
  • 东莞网站设计公司排名辽宁建设工程信息网网上开标
  • 网站推广工具有页面素材图片
  • 网页设计搭建网站外贸求购信息平台
  • 仓库改造类网站怎么做手机创建网站的软件
  • 成都平台网站建设公司邯郸网络科技公司
  • 热门课程自己做网站大型购物网站建站
  • apache 创建网站重庆建站模板
  • 手机怎么制作网站叶县建设局网站
  • 怎么做后台网站一键更新搜索引擎优化的主要策略