QGIS 3.0的变更日志

image1

有史以来最伟大的QGIS发布!qgis 3.0是对我们所钟爱的开放源码地理信息系统的一次大检修和清理。Qgis3.0带来了大量的新变化——我们将在这里讨论其中的重点。我们可以一如既往地提醒您,QGIS是一个开源项目,如果您能够,请考虑支持我们的工作 donationssponsorship 或对代码文档、网站等的贡献。

Thanks

我们要感谢开发人员、文档编制人员、测试人员以及所有在那里自愿投入时间和精力的人(或者为他们提供资金)。从QGIS社区,我们希望您喜欢这个版本!如果你想捐献时间、金钱或参与到使QGIS更棒的工作中,请漫步至 qgis.org 伸出援手!

QGIS由捐助者和赞助商提供支持。在我们的网站上可以看到对该项目作出重大和小型财政捐助的捐助者的最新名单。 donors list . 如果您想成为正式的项目发起人,请访问 our sponsorship page 详情。赞助QGIS有助于我们资助我们的六个月一次的开发者会议,维护项目基础设施和资助缺陷修复工作。下面提供了当前赞助商的完整列表-非常感谢所有赞助商!

qgis是免费软件,您没有义务支付任何费用来使用它-事实上,我们希望鼓励人们广泛地使用它,无论您的财务或社会地位是什么-我们相信赋予人们空间决策工具将导致一个更好的社会为全人类。

QGIS 3.0版赞助商

黄金

|图2黄金:9000欧元

Land Vorarlberg

福拉尔贝格土地

QGIS user group Switzerland

瑞士QGIS用户组

|图像5银:3000欧元

AERO ASAHI Corporation

朝日航空公司

QGIS user group Denmark

丹麦QGIS用户组

ARTOGIS a/s

天南星A/S

QGIS user group Germany

德国QGIS用户组

OPENGIS.ch GmbH

OpenGISH公司

Terraplan

特拉普兰

Office of Public Works, Flood Risk Management and Data Management Section

公共工程办公室、洪水风险管理和数据管理科

WIGeoGIS

威格奥吉斯

青铜

|图14青铜:500欧元

2D3D.GIS

2D3D.GIS

Integrate Sustainability Pty Ltd

综合可持续发展私人有限公司

Ager Technology

AGE技术

LandPlan OS GmbH

Landplan OS股份有限公司

Alta ehf

Alta流行性出血热

Lutra Consulting

卢特拉咨询公司

Asociación Geoinnova

Asociaci_n geinnova公司

MHTC Ltd

宏达国际有限公司

Automatic Knowledge

自动知识

MappingGIS

映射地理信息系统

BGEO Open GIS, SL

bgeo打开gis,sl

Mapzen

马普赞

Cawdor Forestry

考多尔林业

Mierune LLC

迈尔诺有限责任公司

Chartwell Consultants Ltd.

Chartwell咨询有限公司

OSGeo.JP

OSGeo.JP

City of Canning

坎宁市

Open Geo Groep

开放式地质勘探

City of Canning

坎宁市

Pixalytics

像素化

Datenbankgesellschaft mbH

日期:BANKGESELLSCHAFT MBH

QGIS user group Brazil

巴西QGIS用户组

Dr. Kerth + Lampe Geo-Infometric GmbH

Kerth+Lampe Geo Informetric GmbH博士

QGIS user group Sweden

QGIS用户组(瑞典)

FORNAT AG

福纳特股份公司

QTibia Engineering

qtibia工程

Forest Design SRL

森林设计研究所

Royal Borough of Windsor and Maidenhead

温莎-梅登黑德皇家自治市镇

GAIA mbH

盖娅

SOLTIG (Soluciones en Tecnologías de Información Geográfica)

Soltig(Soluciones en tecnology_as de informaci_n geogr_fica)

GIS Support Sp. z o.o.

GIS支持Sp.Z O.O.

Septima

塞佩蒂玛

GKG Kassel, (Dr.-Ing. Claas Leiner)

GKG Kassel,(Dr.-ing.Claas Leiner)

Solargis s.r.o.

Solargis·S·R·O

Gaia3D, Inc.

盖亚三维有限公司

Syddjurs Kommune

康明斯

Gemeente Gouda

格梅恩古达

TerreLogiche

TerreLogiche

GeoS Geodätische Software Andreas Hellinge

geos geod_tische软件Andreas Hellinge

Trage Wegen vzw

特拉格-维根

Geographica

地理志

Urbsol

乌尔索尔

Gis3W

GIS3W

WAGNER-IT

瓦格内特

Infraplan Engineering Services Pvt. Ltd.

基建工程服务有限公司

WhereGroup GmbH & Co. KG

WhereGroup GmbH&Co.KG公司

Ingenieurbüro Kauppert

Ingenieurb_ro Kaupper

tkt teleconsult Kommunikationstechnik GmbH

tkt Teleconsult Kommunikationstechnik GmbH公司

Insurance Australia Group Limited (IAG)

澳大利亚保险集团有限公司(IAG)

一般

功能:删除区域统计插件

现在通过处理完全暴露了这一点,这是该功能驻留的逻辑位置。

功能:删除dxf2shp转换器插件

此功能在OGR中可用,不再需要专用的QGIS插件来完成此任务。

功能:从核心处理中删除taudem提供程序

taudem是一组非常特殊的工具,它需要安装一些额外的工具。所以我们决定把它变成单独的提供者,减少核心代码库的大小和维护工作。

功能:更多帮助和配置QGIS帮助文件位置的可能性

添加了更多算法和对话框的帮助按钮,现在指向在线QGIS文档。

配置允许访问存储在联机、组织网络或本地计算机上的上下文帮助。还可以组合不同的帮助来源。

image112

此功能由Alexander Bruy开发

功能:从处理中删除了OTB和Lidartools提供程序

新的逻辑将是开发能够遵循外部软件生命周期的插件提供者。

用户界面

功能:启用选项卡式浮动码头

对于qt>5.6版本,可以在同一浮动窗口中放置多个浮动平台,它们显示为选项卡https://wobq.com/blog/qdockwidget-changes-in-56.html。

image66

功能:添加对精细分辨率鼠标滚轮缩放的支持

一些鼠标/指针设备(尤其是在Mac上)的分辨率更高。它们以很高的频率发送鼠标轮事件,但增量值较小。使用这种设备进行缩放无法用于快速缩放操作。这已在3.0中修复。

此功能由Matthias Kuhn开发

功能:将搜索栏添加到“配置快捷方式”对话框

支持按操作名称和快捷方式搜索

image67

此功能由Alexander Bruy开发

特征:定位条

定位条是一个快速,随时准备,通用和可插入的搜索工具,在左下角的qgis。

目前,它可以搜索算法、动作和层名称,也可以通过键入属性值来选择当前活动层中的特征。

它很容易扩展,所以每个人都可以为他/她的国家地理编码服务或其他在线搜索或数据库搜索设施创建一个QGSlocatorFilter。

image68

这个功能是由nyall dawson开发的

功能:更多非阻塞,内联编辑

  • 地图单位缩放

  • 彩色啤酒和有限的随机斜坡编辑器

  • 在样式面板的内嵌颜色列表中编辑颜色

  • 编辑器中颜色和符号的内联编辑

现在在样式面板中以内联方式显示

功能:添加选项以显示用户颜色方案菜单

这增加了用户设置是否应在颜色按钮下拉菜单中显示用户创建的颜色方案的能力。

它可以通过“列表”选项卡上的“颜色选择器”对话框访问。只需添加一个新的配色方案,然后从“配色方案”菜单中勾选新的“显示在按钮中”选项。

如果您有一组常用调色板,并且希望它们可以通过“颜色”菜单立即可用,那么这很方便。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:地图画布北箭头装饰的颜色设置

已为所有地图画布北箭头装饰添加颜色设置。

image69

此功能由开发 Mathieu Pellerin

功能:改进的地图画布“另存为图像”

地图画布的“另存为图像”功能已经扩展,现在为用户提供了随时调整比例、分辨率和范围的可能性。范围可以限制为高宽比。还添加了另存为PDF函数,以快速将地图画布导出为与分辨率无关的PDF。

image70

此功能由Andreas Neumann提供资金(部分资金)

此功能由开发 Mathieu Pellerin

功能:切换主窗口中打开面板的可见性

可通过以下方式访问:—查看菜单>切换面板可见性- CTRL+标签 键盘快捷键

image71

此功能由开发 Mathieu Pellerin

特点:改进了用户界面的一致性

由qgis赠款计划赞助的“向用户界面控件添加一致性”的这项工作现在已经完成并合并到master中。作为这项工作的一部分,完成了以下任务:

  • 所有API transparency/opacity/alpha 标准化到 设置()不透明度() . 方法采用介于0(透明)和1(不透明)之间的双精度值,保持与qt api的一致性。

  • A 新小工具qgsopacitywidget 已经创建,并且现在通过设置不透明度的UI在任何地方使用。这可以确保一致的行为,并在任何地方查找不透明度控件。

  • 旋转 已经在API和UI中实现了标准化,所以现在总是顺时针旋转。所有旋转部件都已更新,因此它们接受-360到360之间的值。

  • 2.x使用旋转和数据定义旋转标记的项目是透明的 升级 在3.0中打开时

  • 在整个QGIS API中,比例API保持一致。 尺度分母与真实尺度的混淆已经被消除 现在一切都按比例分母运行。所有尺度范围调用的行为都是标准化的,具有最小/最大尺度的共同含义(以及与此相关的显式API文档)。

  • 所有的缩放控件现在都使用标准的缩放小部件来保持整个用户界面的一致性。

  • 现在,标签使用与其他用户界面相同的最小/最大比例定义,并且现有项目在3.0中打开时透明升级。

  • 修复了与扩展使用相关的最突出的错误,包括违反基于规则的扩展限制的错误

感谢qgis psc和项目捐赠者赞助这项工作并允许它继续下去!

此功能由QGIS赞助商和捐助者资助。

此功能由开发 Nyall Dawson

特征:在单个组中打开图层

如果尝试打开多个子图层,现在可以在图例中的同一组中打开所有子图层。

image72

此功能由 Kartoza

此功能由开发 Etienne Trimaille

三维特征

特征:三维地图视图和地形生成

我们有一个全新的本地三维地图视图在qgis!三维地图视图在顶部地形上显示二维地图(从项目图层渲染)。默认情况下,地形是一个平面,但可以使用带数字高程模型的栅格图层作为高度数据源。

使用“菜单视图>新建三维地图视图”添加项目的三维视图。这将使用3D地图画布创建一个新的停靠小部件。三维视图使用与二维地图视图相同的控件,使用鼠标(拖动地图以四处移动,鼠标滚轮以缩放)或键盘箭头键浏览地图。此外,还有特定于三维视图的相机控件:可以通过以下方式之一旋转和倾斜相机:

  • 按下鼠标中键拖动鼠标

  • 按下SHIFT键并拖动鼠标,同时按下鼠标左键

  • 按SHIFT键并使用上/下/左/右键

image121

此功能由 QGIS.ORG

此功能由开发 Martin Dobias (Lutra Consulting)

功能:地图图层的三维渲染器

在默认配置中,地图图层渲染为地形顶部的二维地图图像。但是,通过为某些地图层配置3D渲染器,可以更好地利用3D世界。使用3D渲染器,数据可以在3D视图中显示为真实的3D对象-这是当前支持的矢量层(所有几何类型-点、线或多边形)。这使得可视化效果更好,例如:

  • 具有建筑足迹的多边形可以拉伸(可能具有数据定义的高度),以实现三维外观。

  • 具有树点位置的点可以使用树的三维符号(简单的几何图形或从支持的文件格式加载的现有三维模型)进行渲染。

要配置三维渲染器,请使用“图层样式停靠”小部件或“矢量图层属性”对话框-有一个用于配置三维渲染器的新选项卡。

image122

此功能由 QGIS.ORG

此功能由开发 Martin Dobias, Peter Petrik (Lutra Consulting)

表达

特征:新表达式变量

添加 @project_crs@project_crs_definition 用于检索当前项目CRS的变量

功能:新的全局表达式变量@qgis u locale

返回qgis使用的当前区域设置。默认情况下,这是当前系统区域设置。如果用户在qgis设置中启用了区域设置覆盖,则将返回覆盖区域设置。

image63

此功能由Alexander Bruy开发

功能:地图设置的新表达式变量

- map_crs, map_crs_definition: retrieves crs details for map
- map_units: retrieves units for map (eg 'meters','degrees')

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:新表达式函数

Atlas表达式

  • atlas_layeridatlas_layername :返回地图集中当前图层的图层ID和图层名称。

聚合表达式

  • array u agg(expression,group u by,filter):返回字段或表达式中聚合值的数组。

数组表达式

包含用于创建和操作数组(也称为列表数据结构)的表达式函数的新组。与“map”数据结构相反,数组中值的顺序很重要,其中键-值对的顺序不相关,值由键标识。

  • **array(value1,value2,…………):返回一个包含作为参数传递的所有值的数组。

  • array_append(array,value):返回在末尾添加给定值的数组。

  • **array u cat(array1,array2,……………):返回一个包含所有连接的给定数组的数组。

  • 数组包含(数组,值):如果数组包含给定值,则返回true。

  • array \u distinct(array):返回包含给定数组的非重复值的数组。

  • array \u find(array,value):返回数组中某个值的索引(第一个为0)。如果找不到值,则返回-1。

  • array \u first(array):返回数组的第一个值。

  • array uget(array,index):返回数组的第n个值(第一个值为0)。

  • array 插入(array,pos,value):返回在给定位置添加给定值的数组。

  • array u intersect(array1,array2):如果array1的任何元素存在于array2中,则返回true。

  • array \u last(array):返回数组的最后一个值。

  • array 长度(array):返回数组的元素数。

  • array u prepend(array,value):返回一个在开头添加给定值的数组。

  • array \u remove \u all(array,value):返回一个数组,删除给定值的所有条目。

  • **array 移除位于(array,pos)**的数组:返回删除给定索引的数组。

  • array uReverse(array):返回给定的数组,数组值的顺序是相反的。

  • arrayu slice(array,start u pos,end u pos):返回数组的一部分。切片由start u pos和end u pos参数定义。

  • array u to u string(array,delimiter,empty u value):将数组元素连接成一个字符串,用分隔符分隔,空值用可选字符串分隔。

  • regexp 匹配(string,regex,empty u value):返回由捕获组捕获的所有字符串的数组,按组在提供的正则表达式中相对于字符串的显示顺序排列。

  • string 到数组(字符串、分隔符、空值):使用提供的分隔符和空值的可选字符串将字符串拆分为数组。

颜色表达式

  • 创建渐变(map,discrete):从颜色字符串和步骤的映射返回渐变渐变。

日期和时间表达式

  • epoch(date):返回unix epoch与给定日期值之间的间隔(毫秒)。

通用表达式

  • env(name):获取环境变量并以字符串形式返回其内容。如果找不到变量,则返回空值。

  • 栅格统计(层、带、属性):从栅格层返回统计信息。属性:min/max/avg/range/stdev/sum

  • with u variable(name,value,node):此函数为将作为第三个参数提供的任何表达式代码设置变量。这只对复杂表达式有用,因为在不同的地方需要使用相同的计算值。

几何表达式

  • **extend(几何,开始距离,结束距离)*:在行的开始和结束处将行字符串扩展指定的量

  • hausdorff 距离(几何体A,几何体B,加密分数):返回两个几何体之间的hausdorff距离。这基本上是对两个几何图形相似或不同程度的度量,较低的距离表示更相似的几何图形。

  • 倾斜度(倾斜度(点A,点B):返回从点A到点B的天顶(0)到最低点(180)测量的倾斜度。

  • 生成圆(圆心、半径、分段):创建一个圆形、分段的多边形。

  • 创建椭圆(中心、半长轴、半短轴、方位角、分段):创建椭圆分段多边形。

  • 生成正正多边形(中心、半径、边数、圆):创建正多边形。

  • make u triangle():帮助仍然丢失

  • minimal u circle(geometry,segment):返回几何体的最小封闭圆。它表示包围集合中所有几何图形的最小圆。

  • offset u curve(几何体、距离、分段、连接、斜接限制):返回通过将LineString几何体偏移到侧面而形成的几何体。距离在这个几何体的空间参考系中。

  • 定向框(geom):返回表示输入几何体最小定向边界框的几何体。

  • 不可接近极点(几何,公差):计算曲面不可接近的近似极点,该曲面是距曲面边界最远的内部点。该函数使用“多标签”算法(Vladimir Agafonkin,2016),这是一种迭代方法,确保在指定的公差范围内找到不可接近的真正极点。

  • Simplify(geometry,tolerance):通过使用基于距离的阈值(即Douglas-Peucker算法)删除节点来简化几何体。该算法保留了较大的几何偏差,并减少了近直线段的顶点数目。

  • Simplify uVw(几何,公差):通过使用基于区域的阈值(visvalingam-whyatt算法)删除节点来简化几何。该算法删除在几何图形中创建小区域的顶点,例如窄的尖峰或接近直线的段。

  • 平滑(几何体、迭代、偏移、最小长度、最大角度):通过添加额外的节点来平滑几何体,这些节点会绕过几何体中的角。

  • 单面缓冲区(几何图形、距离、段、连接、斜接限制):返回仅缓冲一个LineString几何图形的一侧而形成的几何图形。距离在这个几何体的空间参考系中。

层属性

  • crs_description 返回层的CRS描述。

映射表达式

此组包含用于创建和操作“映射”数据结构(也称为字典对象、键值对或关联数组)的表达式函数。可以为给定的键指定值。映射对象中键值对的顺序不相关。

  • **map(key1,value1,key2,value2,………)*:返回一个包含作为参数对传递的所有键和值的映射。

  • map a keys(map):以数组形式返回映射的所有键。

  • map uAvals(map):以数组形式返回映射的所有值。

  • **mapconcat(map1,map2,………………):返回包含给定映射的所有条目的映射。如果两个映射包含相同的键,则取第二个映射的值。

  • map u delete(map,key):返回已删除给定键及其对应值的映射。

  • map 存在(map,key):如果给定的键存在于映射中,则返回true。

  • map uget(map,key):返回给定关键点的映射值。

  • map 插入(map,key,value):返回一个添加了key/value的映射。

图层

包含当前项目中可用地图图层列表的新组。返回内部映射层ID。这在许多其他引用地图层的表达式函数中使用。

数学表达式

  • 倾斜度(点A,点B):返回从点A到点B的天顶(0)到最低点(180)测量的倾斜度。

Operators

  • **~:**对字符串值执行正则表达式匹配。

记录和属性表达式

仅从“记录”重命名

  • get u feature u by u id(layer,feature u id):返回层上具有ID的功能。

  • 被选中(功能,层):如果选择了功能,则返回。如果不带参数调用,则检查当前功能。

  • num u selected(layer):返回给定层上选定功能的数量。默认情况下,在计算表达式的层上工作。

  • representate u value(value,fieldname):返回为字段值配置的representaff值。它取决于配置的小部件类型。通常,这对于“值映射”小部件很有用。

  • uuid():使用qt quuid::createUuid方法为每行生成一个通用唯一标识符(uuid)。每个UUID的长度为38个字符。

Relations

列出项目中所有可用表关系的新组。对于关系聚合函数很有用。

Deprecated

  • $scale:获取当前地图比例的旧变量。替换为**地图比例尺**

Changes

  • **substr()**函数中的更改

    • 支持负起始值(例如substr('hello',-2)返回'lo')

    • 支持负长度值(例如substr('hello',3,-1)返回'll')

    • 长度参数现在是可选的,默认为字符串结尾(例如substr('hello world',7)返回'world')

  • **strpos()**现在依赖于字符串搜索中的简单字符串

  • **regexp \u match()**现在返回匹配正则表达式的pos

这个特性是由许多开发人员开发的

功能:在聚合函数中公开@parent变量

这使得在“聚合”表达式函数的过滤器中可以从父功能访问属性和几何图形。有了这个功能,就可以计算每个功能的聚合。

E.g. max "measurement" for each point_station per polygon_research_area.

或数字化要素时的默认属性值:

aggregate(layer:='countries', aggregate:='max', expression:=\"code\", filter:=intersects( $geometry, geometry(@parent) ) )

image64

此功能由开发 Matthias Kuhn (OPENGIS.ch)

功能:项目变量表达式函数在合成中

当表达式在组合上下文中使用时,这会添加一个新的item变量表达式函数。

函数接受一个参数,即组合中某个项的ID,并返回该项的变量名到值的映射。这允许您执行诸如在标签中插入文本之类的操作,以获取组合中其他项的属性,例如

将地图比例插入标签:

map_get( item_variables( 'map'),'map_scale')

将地图中心的X坐标插入标签:

x(map_get( item_variables( 'map'),'map_extent_center'))

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

文档

功能:处理算法增强

已审查并记录了处理算法。单击“帮助”按钮将打开QGIS网站,并用增强的文档和图片显示算法说明。

image65

此功能由QGIS赠款提案资助。

此功能由开发 Matteo Ghetta (Faunalia), Alexander Bruy

符号学

特征:数据定义的符号层可见性

添加数据定义的覆盖以控制符号层的可见性。允许用户禁用为匹配功能绘制某些符号层。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:新的颜色渐变按钮小部件

在qgis 3.0中,通过一个新引入的颜色渐变按钮小部件,颜色渐变的处理变得更好。改进包括:当重新打开项目时,会记住自定义颜色渐变设置-在小部件中实现颜色渐变反转,在qgis中启用此操作-快速访问小部件弹出菜单中的“最喜爱”颜色渐变-与目录(cpt city和colorbrewer)的交互现在更加愉快。

image73

此功能由开发 Mathieu Pellerin

功能:样式管理重新工作和升级

样式管理已获得重大升级。改进包括:

  • 添加了一个新的收藏分组系统,符号列表小部件默认为

  • 当切换层(以及跨会话)时,“符号列表”小部件中选定的标记/智能组将继续存在。

  • 当用户添加/重命名/删除类别时,符号列表小部件将更新标记/智能组组合框。

  • 用户现在可以在将符号保存到样式数据库的同时直接标记并添加到收藏夹中。

  • 为了简化样式管理,组已被移除并完全替换为标签

  • 标签已集成到导入/导出用户界面中

image74

此功能由开发 Mathieu Pellerin

功能:支持为栅格渲染器在多个项目上设置颜色和透明度

现在可以同时更改多个值的颜色和透明度,用于单波段伪颜色和调色板渲染器。只需在“值”列表中选择“值”,然后右键单击弹出菜单。

image75

此功能由开发 Mathieu Pellerin

功能:在颜色按钮下拉菜单中显示阿尔法滑块

允许对颜色alpha进行快速调整

image76

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:对调色板渲染器的透明度支持

在qgis 3.0中,现在可以更改调色板渲染器的唯一值的透明度值。

image77

此功能由开发 Mathieu Pellerin

功能:更新画布时栅格自动拉伸

请参阅https://lists.osgeo.org/pipermail/qgis-developer/2016-09/044393.html跟踪栅格伪彩色更新范围自动分类。

这个功能是由Even Rouault开发的

功能:控制批注内容边距

允许为批注中的内容设置左/上/右/下边距。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:可以使用填充符号样式设置注释的样式。

这将更改注释帧的渲染以使用qgis的符号引擎,这意味着所有现有的填充样式现在都可以用于注释帧的样式。

同时绘制效果和数据定义的符号参数。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:点簇渲染器

新的符号渲染器,将附近的点组合为单个渲染的标记符号。或者,标签显示已聚合到单个符号中的功能的数量。

此外,对点位移渲染器进行了一些改进,特别是:

  • 点现在被分配给“最近”的组,而不是在搜索距离内分配给第一个组。在某些情况下,这是将特性分配给较远的集群,从而导致不太可预测的集群模式。

  • 各个点现在在其自己的选择状态下正确显示。

  • 大量的代码清理+文档。

对于开发人员:QGSpoint置换渲染器被拆分为一个新的纯虚拟QGSpointDistancerEnderer基类,用于处理集群检测和点分组。新的集群呈现器重用这个基类以避免代码重复。

看到人群 funding programme 了解更多详细信息。

image78

此功能由Andreas Neumann、Qtibia Engineering(Tudor Barascu)、Karl Magnus J_nsson、geonesia(Nicolas Ponzo)和许多其他匿名支持者资助,他们的慷慨贡献也很有价值!

此功能由开发 Nyall Dawson

特征:qgis 3.0中新的地图着色算法

参见http://nyalldawson.net/2017/02/new-map-coloring-algorithms-in-qgis-3-0/

image79

这个功能是由nyall dawson开发的

功能:新的“预设”颜色渐变选项

允许使用由选定颜色列表组成的颜色渐变。目前,在qgis中,无法使用您以前选择的一些颜色列表对渲染器进行分类。因此,您可以在分类后手动修改颜色,但是如果您经常使用相同的颜色方案,这是一种痛苦。基本上,它类似于颜色酿酒师的颜色渐变选项,但允许用户选择自己预设的颜色列表来使用(因为辛西娅·布鲁尔不是唯一的制图颜色专家!)

image80

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:允许临时禁用符号层

在每个符号层属性的底部添加一个新的复选框,允许您控制层是否启用。禁用的图层不会被绘制,但会被保存,可以在以后的阶段启用。这使得在不完全删除符号层的情况下更容易调整符号外观。

image81

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:离散栅格造型简单

在qgis 3.0中,对现有栅格调色板渲染器进行了调整,以便于对离散栅格层(如Landcover或Boolean栅格)进行样式设置。现在,用户可以选择重命名的“调色板/唯一值”渲染器,然后单击“添加唯一值”按钮从图层加载所有唯一栅格值。这些将使用选定的颜色渐变自动指定颜色。

唯一值计算是在后台线程中执行的,以保持UI对大型(或远程)栅格层的响应。此外,用户可以根据需要手动添加单个新类,并编辑任何现有类的关联像素值。还支持一次删除多个类,以及一次更改多个类的颜色、透明度和标签。

颜色选项板可以从文本文件加载,支持esri clr/gdal/grass颜色表格式。颜色选项板可以保存到clr文本文件中进行共享。

image82

此功能由圣潘·亨里奥德、Satelligence(http://satelligence.com/)、鸟瞰图(http s://www.birdseyeviewgis.com/)和其他匿名支持者资助。

此功能由开发 Nyall Dawson (North Road)

贴标签

功能:自定义标签工具栏现在始终处于启用状态

Thanks to the awesome auxiliary data storage and the editable joined table, the manual label customization is now always enabled. You do not need anymore to add dedicated fields in your datasource to change labels position, rotation, or any of the possible settings for labels to activate the toolbar. No more copy of readonly datasources and so much faster labeling ! Be warned, labels are only saved along with your project file in a .qgd sqlite database, or inside the .qgz zipped project file if you chose that format. Don't forget to share that .qgd file if you want to share your project file.

对于超级用户,在数据源中使用数据定义字段的老方法仍然存在。像以前一样在层的属性中定义它们!

image83

此功能由 French ministry of Ecology and Sustainable Developpement

此功能由开发 OSLANDIA - Paul Blottiere

图表

功能:数据可定义属性

为图表添加对更多数据可定义属性的支持:

  • 距离

  • 优先

  • ZIndex

  • IsObstacle

  • AlwaysShow

  • 图表起始角度

此功能由QGIS赠款计划资助。

此功能由开发 Nyall Dawson (North Road)

致使

功能:活动层支持

QGIS 3.0现在支持活动层。这些层按您确定的时间间隔自动重新渲染,以干净和无闪烁的方式。实时层对于跟踪不断变化的数据非常有用,比如汽车车队、拥有遥测数据的鸟群等等。

image84

此功能由Kartoza&North Road开发

功能:触发层刷新或PostgreSQL通知信号的层操作

在实时层效果之后,只有当数据库通知qgis它应该做些什么时,它才允许触发qgis中的操作或层刷新。它需要的资源比间隔刷新更少,甚至可以用它在qgis中编写聊天应用程序代码:)

见https://vimeo.com/236604742

http://oslandia.com/en/2017/10/07/refresh-your-maps-from-postgresql/

此功能由 QGIS.org Grant application

此功能由开发 OSLANDIA - Vincent Mora

功能:缓存标签结果,以避免刷新画布时不必要的重画

此更改允许将标签结果缓存到地图渲染后的图像中。如果缓存的标签结果图像可以在下一次渲染中重用,那么它将是,避免重新绘制参与标签问题的所有层,并解决标签解决方案。基本上这意味着 canvas refreshes as a result of changes to any NON-LABELED layer are much faster . (更改作为标记解决方案一部分的图层仍需要完全重新绘制所有标记图层)

此功能由开发 Nyall Dawson (North Road)

数字化

特征:节点工具中的范围顶点选择

该功能使您可以选择 顶点范围 从一个功能。

可以通过按启动 移位+R -之后,需要单击一个特征中的起点和终点-这将选择两个特征之间的所有顶点。

右键单击或按Esc键可以随时取消范围选择。

对于闭合曲线(多边形),可以通过按住来切换到环周围的“较长”方向。 Ctrl 单击最后一点时。

image86

此功能由 French ministry in charge of ecology

此功能由开发 Martin Dobias (Lutra Consulting)

特征:添加默认Z值选项

创建地理数据包/形状文件:现在可以选择具有z值

image87

此功能由Alexander Lisovenko/Paul Blottiere开发

功能:移动功能现在受益于高级数字化

只需使用新的“单击-单击人体工程学”移动一个特征,并使用高级数字化面板和快捷方式来限制角度、距离和精确的xy。

此功能由Denis Rouzaud开发

特征:添加了复制/移动特征到移动特征地图工具的功能

这允许复制功能并从选定功能中一次移动它们

image88

此功能由Denis Rouzaud开发

特征:带偏移的跟踪

您现在可以使用跟踪数字化工具进行偏移,如附带的图像所示。

image89

此功能由 d.b.g. Datenbankgesellschaft mbH

此功能由开发 Martin Dobias

特征:顶点工具的检修

节点工具(现在改名为顶点工具)经过了彻底的修改,使其更加灵活。一些更重要的变化是:

  1. 该工具现在能够同时处理多个特征,而不是要求用户首先选择一个特征,然后在第二步中编辑其顶点。因此,很容易从多个特征中选择顶点,并同时移动或删除它们。如果需要将顶点选择约束到特定的特征,则可以先使用选择工具选择特征-在这种情况下,顶点工具将仅使用选定特征的顶点。

  2. 该工具现在可以同时处理处于编辑模式的所有图层,而不只是处理当前选定的图层。逻辑上属于一起但位于不同层的特性的移动变得容易得多。但是,如果在拾取顶点时有多个选择,则会考虑当前层。

  3. 当用户将鼠标指针移到特征及其顶点上时,这些特征及其顶点会突出显示,从而提供更好的视觉反馈。

  4. 在qgis 2.x中,通过单击一个顶点,在按住鼠标左键的情况下拖动该顶点,最后释放鼠标按钮将其删除。此行为已更改为“单击单击”方法,用户首先单击一个顶点来拾取它,然后拖动它而不按任何鼠标按钮,然后通过再次单击最终目标将其放下。此更改的参数如下:

  5. 更容易精确地放置节点(不必一直对鼠标按钮施加力)

  6. 不会无意中移动节点

  7. 可以取消操作

  8. 它允许在移动节点时按空格键来平移地图。

更多信息请参见https://github.com/qgis/qgis-enhancement-proposals/issues/69。

image90

此功能由 QWAT

此功能由开发 Martin Dobias (Lutra Consulting)

特征:顶点工具:添加顶点的中点标记

改进的顶点工具现在也在要素线段的中点上显示额外的标记。单击这样的标记会导致添加新顶点。通过双击段添加顶点的现有方法已保留。

image91

此功能由 QWAT

此功能由开发 Martin Dobias (Lutra Consulting)

特征:顶点工具:继续线

使用顶点工具编辑LineString几何图形时,将鼠标移向第一个或最后一个顶点将在端点旁边显示一个额外的标记。单击标记将在几何体的末端添加一个顶点。

image92

此功能由 QWAT

此功能由开发 Martin Dobias (Lutra Consulting)

功能:顶点工具:支持高级数字化面板

“高级数字化”面板现在也可以与“顶点”工具一起使用-可以在面板中输入新顶点或现有顶点的坐标,就像在其他数字化地图工具中一样。

image93

此功能由 QWAT

此功能由开发 Martin Dobias (Lutra Consulting)

数据管理

特征:平移到属性表中的当前特征

image94

此功能由Marco Hugentobler开发

特点:辅助存储支持

矢量层属性中有一个新的选项卡可用于管理辅助存储:

一种新的行动 在项目中存储数据 在“数据定义”菜单中提供了一种简单的方法来管理属性的辅助数据:

辅助数据存储在sqlite数据库中,并通过ogr数据提供程序(而不是空间提供程序)进行管理,以尽可能小地保留数据库文件。此数据库文件(扩展名为*.qgd*)要么保存在项目文件旁边,要么直接嵌入到新的*.qgz*格式中。

看原版 pull request 还有这篇文章 which explains more

image96

此功能由开发 Paul Blottiere / Oslandia

特点:元数据大修

对QGIS中的元数据系统进行了检修。在qgis 3.0中,我们引入了我们自己的内部形式化元数据模式,它与qgis项目文件格式分离。我们引入了新的API功能来读取和写入层的元数据。我们将元数据的显示与编辑分离,并添加了一个新的元数据编辑工具。元数据当前保存在项目文件中。它还可以与基于文件的层一起保存为XML文件,或者保存在远程层的本地sqlite数据库(例如postgis)中。

您可以参考qgis增强建议(qep),了解更多关于本工作中采用的设计考虑事项- QEP-92

请注意,这是为QGIS开发完整且符合标准的元数据基础设施的第一阶段。我们正在寻求进一步的资金,以实现元数据系统的更完整的实现-请参见 this document 有关需要资金的未来计划工作包的详细信息。

QGIS元数据模式的规范是 here .

这项工作的主要资助者是 The WorldBank/GFDRR 配套资金由 NINA .

image97

此功能由 WorldBank/GFDRR

此功能由开发 Kartoza and collaborators

功能:统一数据源管理器对话框

用于处理数据源管理和层加载的单个统一对话框。

image98

这个功能是由无限公司资助的

此功能由开发 Alessandro Pasotti

功能:OSM下载工具已删除

我们删除了qgis 2.x版本中提供的OSM下载工具。我们鼓励您更愿意使用已经移植到qgis 3.0的quickosm插件。

窗体和小部件

功能:允许控制单个编辑小部件的标签

在拖放设计器中,双击某个项将允许控制是否应单独显示每个项的标签。

此功能由Matthias Kuhn开发

功能:选项卡和分组框的条件可见性

这将添加一个新的配置选项,以在拖放设计器窗体中有条件地显示或隐藏选项卡和分组框。配置是通过双击字段配置界面中的设计器树来完成的。可以输入表达式来控制可见性。每当表单中的值发生更改,并且相应地显示/隐藏选项卡或分组框时,将重新计算表达式。

此功能由Matthias Kuhn开发

功能:更智能的默认编辑小部件和插件来选择它们

现在,这些小部件可以对它们处理字段类型的能力进行评分。导致更好的默认小部件。

此外,可以添加插件来选择外部信息函数中的小部件类型。其中一个使用PostgreSQL中的表,允许为每个字段指定要使用的小部件类型和配置。

自动为外键选择RelationReference小部件。

此功能由Patrick Valsecchi开发

功能:字段约束是否可以强制执行

非强制约束只向用户显示警告,但不阻止提交功能。强制约束阻止用户提交不符合的功能。所以我们现在有软警告!提供程序检测到的任何约束都将始终强制执行。

image99

此功能由OpenGIS.ch资助。

此功能由开发 Nyall Dawson (North Road)

功能:添加层范围操作

在属性表中,有一个新按钮用于触发操作,这些操作不是基于单个功能,而是基于整个层。通常,它们将根据所有功能或选择执行操作。

此功能由Matthias Kuhn开发

功能:在窗体筛选模式下自动完成器中显示字段值

自动完成器在后台进行了很好的更新,这样即使相关表中有数百万条记录,图形用户界面也能保持良好的响应性。

它现在用作文本字段的搜索小部件,因此,如果将过滤器设置为文本字段,或者通过选择层并按F3启动基于表单的选择/过滤,则可以在浏览器窗口中看到。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:在“按窗体选择”对话框中向功能和闪存功能快捷方式添加缩放

允许快速导航和识别符合表单条件的功能

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

图层图例

特征:隐藏取消选择的图层操作

允许您快速隐藏所有取消选择的图层。当您有一个大型项目并且希望快速隐藏除几个层之外的所有内容时,这非常方便。

image101

此功能由 SMEC (Surbana Jurong)

此功能由开发 Nyall Dawson (North Road)

特征:群体内部层次可见性的遍历性变化

  • 选中/取消选中组不会更改其子组的选中状态。仅当选中节点及其所有父节点时,节点才可见。

  • 组不再有半选中状态

  • Ctrl-clic 在未选中的组上,将检查该组及其所有子代。

  • 未选中层上的clic将检查啤酒及其所有父代。

  • 选中的组上的ctrl clic将取消选中该组及其所有后代。

  • 选中层上的ctrl clic将取消选中该层及其所有父级。

  • 这些操作在树视图的上下文菜单项中可用。

  • 不可见的层,因为它们或它们的父级未选中将灰显。

这个功能是由Even Rouault开发的

专题地图编辑器

功能:控制作曲台网格水平和垂直线的绘制

现在可以独立控制作曲家表项的水平和垂直线呈现。这增加了灵活性,直接在QGIS中扩展了该项的样式设置可能性。

image102

此功能由开发 Mathieu Pellerin

功能:允许为地图项目选择CRS

这允许映射项的CRS与画布/项目CRS不同。它还允许不同的映射项具有不同的CRS,例如,可以将概述映射设置为主映射的不同CRS。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:更多数据可定义控件

项目 框架背景色 数据定义 作曲图片项的SVG颜色和轮廓宽度 (当图片显示北箭头时特别有用!)数据定义 图例标题和列计数 数据定义 标尺颜色和线条宽度

此功能由QGIS赠款计划资助。

此功能由开发 Nyall Dawson (North Road)

功能:地图编辑器大修

这是对如何在qgis代码中管理组件的一个重大修改。

亮点是:

  • 一个新的QGSlayoutManager类,用于存储和序列化/反序列化组合。QGSlayoutManager附属于QGSProject。这允许核心代码访问附加到项目的组合。所有对组合的处理都从应用程序转移到了核心,使服务器(以及其他非基于应用程序的项目)更容易处理。QFrave/Road?在不使用脆弱的XML解析的情况下访问项目组合。

  • 按需创建作曲家窗口,关闭时销毁。这就避免了在加载项目时为每个作曲家项创建所有作曲家窗口和小部件的繁重要求。 这是以前加载具有组件的项目如此缓慢的主要原因。 . 现在,只有在窗口打开时才创建作曲家窗口,而在窗口关闭时才销毁作曲家窗口。编写器项配置小部件也只能按需创建(当选择项时),而不是预创建所有小部件。

  • 关闭时销毁作曲家窗口的一个附带好处是 我们现在不再忍受qt错误了 这阻止了在作曲家窗口中使用浮动码头。现在您可以浮动项目/合成/etc面板!更适合在多监视器设置中使用合成的全屏工作。

  • 通过iface重新编写了与作曲家合作的API . 由于作曲窗口不存在,除非它们当前处于打开状态,所有与作曲者交互的iface方法都已重做,以清楚地表明它们只适用于打开的窗口。此外,还添加了一个简单的编写器接口,为插件和脚本提供稳定的API,以便与编写器窗口一起使用。目前非常基本,但将来我们可以使用更多的钩子来扩展,以允许插件与编写器窗口交互。

  • 大量的代码清理和删除

更多信息请访问https://north-road.com/qgis-layout-and-reporting-engine-campaign/

image103

这项功能是由瑞士QGIS用户组和更多人资助的!

此功能由开发 Nyall Dawson (North Road)

处理

特点:增加简化方法的选择以简化

此更改允许用户选择运行简化几何体算法时要使用的方法,包括现有的基于距离(Douglas Peucker)算法、基于区域(Visvalingam)算法和对齐网格。

与标准的基于距离的方法相比,visvaligam尤其能使图像更简单化。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:支持模型中的输出几何图形类型

现在,模型子算法输入被过滤为只为另一个子算法的输入生成适用的几何类型的输入。

此功能由Alexander Bruy开发

特征:平滑算法的角度阈值

向QGSGeometry添加选项::平滑到不平滑短于某个阈值的段或角度超过阈值的尖角

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:更好地支持Z/M尺寸和曲线几何

现在有更多的算法尊重z/m值,不丢弃这些信息,另外,许多算法现在正确地维护曲线几何,而不强制分段这些几何。

特征:添加到处理中的栅格分析算法

以下算法是从栅格分析插件添加到处理中的:

  • 方面

  • 斜率

  • 坚固性

  • 山体阴影

  • 浮雕

现在,这些算法可以用于脚本、模型和批处理。

image104

此功能由Alexander Bruy开发

特征:提取特定节点的新算法

此算法允许您从几何图形中提取特定节点。例如,可以提取几何图形中的第一个或最后一个节点。

该算法接受要提取的节点索引的逗号分隔列表,例如0=第一个节点、1=第二个节点等。可以使用负索引从几何体的末尾提取节点。例如-1=最后一个节点,-2=第二个最后一个节点。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:添加空间网站执行SQL算法

此功能由Mathieu Pellerin开发

特点:新的延长线算法

允许在行首和行尾按设置的距离扩展行字符串

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:新的表达式提取算法

按表达式筛选输入层

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:添加导入到空间算法

此功能由Mathieu Pellerin开发

特征:插值算法

从工具箱中的插值插件中公开IDW和TIN插值

插入插件因此被删除

此功能由Alexander Bruy开发

特征:用表达式计算几何的新算法

该算法使用qgis表达式更新输入特征的现有几何图形(或创建新几何图形)。这使得复杂的几何修改可以利用qgis表达式引擎的所有灵活性来操作和创建输出特征的几何。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:将几何图形捕捉到图层算法

将几何捕捉器插件移植到处理

捕捉几何体算法允许捕捉到其他图层类型,支持点/线图层

对齐层算法接受模式参数。有一个新选项,更喜欢捕捉到几何体上最近的点。旧的行为更倾向于捕捉到节点,即使一个节点比一个段更远离输入几何图形。新选项允许您将几何图形捕捉到最近的点,而不管它是节点还是段。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:表达式的新输入类型

这将为表达式输入添加新的输入类型。表达式输入可以链接到父层,以便生成器显示正确的字段和层变量。

它被设计成当一个算法特别需要一个表达式时使用,例如按表达式选择和按表达式提取。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:分割线

重命名算法split lines with lines to split with lines接受多边形作为输入,也只使用要拆分的选定行(如果处理设置为仅使用选定内容),如果尝试拆分多个几何图形,则发出日志消息更新帮助

此功能由Bernhard Str_bl开发

特点:极不可接近算法

实现了一种计算曲面不可接近极点的处理算法,该曲面是距曲面边界最远的内点。该函数使用“多标签”算法(Vladimir Agafonkin,2016),这是一种迭代方法,确保在指定的公差范围内找到不可接近的真正极点。更精确的公差需要更多的迭代,并且需要更长的时间来计算。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:按属性提取无法提取空/非空值

添加对属性值为空或非空的筛选的支持

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:创建属性索引算法

允许在层中的属性上创建索引,以便更快地基于属性的筛选

支持取决于层的基础数据提供程序

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:新的“放置几何图形”算法

只需从输入层中删除任何几何图形,并仅返回具有属性的特征

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:新的通用“字段基本统计”算法

替换现有的“数字字段的基本统计信息”和“字符串字段的基本统计信息”算法,并添加对日期/时间/日期时间字段的支持。

单一的统一算法允许更灵活的模型,其中字段类型可能不预先知道。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:几何图形化的新算法

添加一个新算法,该算法尝试在几何图形中生成直角或直线。

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:网络分析算法

在处理中添加最短路径和服务区域算法

还允许计算从一个点到层中所有点,或从层中所有点到终点的最短路径。以及为一个层中的所有点创建服务区域。

结果路标插件被删除。

此功能由Alexander Bruy开发

功能:将处理模型导出为PDF/SVG

除了将处理模型导出为位图图像外,现在还可以将处理模型导出为与分辨率无关的PDF和SVG。这允许高分辨率的模型输出,这些模型可以嵌入到正在出版的论文和书籍中。

image105

此功能由开发 Mathieu Pellerin

特点:截断表格的新算法

无法恢复地删除表中的所有功能…小心使用!

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特征:通用质心算法

处理非多边形层的质心算法

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

特点:改进的提取节点算法

提取节点算法现在可以保存节点索引、沿直线的距离和节点处的角度。

此功能由Andreas Neumann资助

此功能由开发 Nyall Dawson (North Road)

特点:新的点平移(移动)算法

允许几何图形被X/Y位移移动

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:改进的处理建模器窗口

在这个版本中,“处理建模器”窗口受到了很多关注。改进包括:-窗口工具栏中的缩放控件-自定义输入和算法面板的位置-面板现在可以浮动在处理窗口上方

image106

此功能由开发 Mathieu Pellerin

特征:新的栅格唯一值报告算法

在处理过程中添加了一个新算法,该算法返回给定栅格层中每个唯一值的计数和面积。

image107

此功能由开发 Mathieu Pellerin

功能:从核心处理中删除taudem提供程序

我们已经从处理中删除了taudem提供程序。

image108

功能:从处理下载文件

从处理中下载文件。查询远程API以获取geojson

此功能由开发 Etienne Trimaille

特征:沿几何算法优化的点

还支持多边形几何图形,处理空几何图形,并记录原始线角度以及每个点的距离。

image109

此功能由Andreas Neumann资助

此功能由开发 Nyall Dawson (North Road)

应用程序和项目选项

功能:新的压缩项目文件格式.qgz

很久以前,在developer的邮件列表中,我们讨论了一个存储XML文件和其他资源的容器。现在这是可能的,尽管它仍然是可选的。辅助存储功能通过存储关联的.qgd sqlite数据库来利用这一点。我们希望在下一个版本中支持嵌入其他资源,如SVG、颜色渐变、数据源、图像等。

image110

此功能由 French ministry of Ecology and Sustainable Developpement

此功能由开发 OSLANDIA - Paul Blottiere

功能:添加对用户配置文件的支持

所有用户设置/插件等现在都从每个平台的应用程序数据位置加载,不再加载。qgis3/2。每个配置文件中的设置和插件现在彼此隔离。

这允许根据用户需要进行不同的运行时设置,例如测试、生产、演示等。

配置文件菜单允许在配置文件之间切换或创建新的配置文件。

image111

此功能由开发 Nathan Woodrow

浏览器

功能:将层从层树视图拖放到浏览器停靠

便于将临时层存储在PostGIS中

此功能由Martin Dobias开发

功能:删除独立的QGIS浏览器应用程序

我们已经删除了随QGIS 2.x一起提供的独立QGIS浏览器应用程序。该应用程序的用户接受度很差,并且代表了我们不希望在3.0代码库中继续使用的维护开销。

数据提供者

功能:新建统一的“添加层”对话框

现在,您可以使用单个对话框向QGIS添加各种各样的数据格式。

image114

此功能由开发 Alessandro Pasotti

特征:地理包

  • 处理默认使用pkg

  • 默认情况下,另存为使用pkg

  • 创建新层默认使用pkg

  • 浏览器拖放导入层

这个功能是由亚历山德罗·帕索蒂开发的

功能:支持gpkg中的z/m几何图形、空间和内存层提供程序

对z维和m值的支持被添加到qgis的gpkg、空间和内存层提供程序中。添加Z和M尺寸的选项也已添加到“创建新图层”对话框中。

image115

此功能由 QWAT group, http://www.imhere-asia.com/

此功能由马修·佩林、亚历山大·伯里、保罗·布洛蒂埃开发。

特性:唯一且非空约束处理

自动检测为Postgres、Spatialite和OGR提供程序实现的提供程序端唯一和非空约束

可以在QGIS中设置客户端唯一和非空约束。

以属性形式强制实施唯一约束

此功能由OpenGIS.ch资助。

此功能由开发 Nyall Dawson (North Road)

特征:地理节点集成

GeoNode 是一个开放源代码的地理空间内容管理系统,使在Web上发布地理空间数据变得容易。qgis 3.0包含了新的功能,允许您非常容易地将geonode实例添加到浏览器树中,并将该站点中的任何层作为wms、wfs或xyz添加到项目中。没有必要到处挖掘试图找出WMS/WFS的端点,QGIS会为您做一切。使用WMS和XYZ平铺层时,将使用发布的geonode层的样式。

如果geonode实例使用的是qgis服务器后端而不是支持geoserver,则可以从服务器复制和粘贴样式,并将其应用到本地层,以便WFS层与服务器上的效果完全相同(如此处的动画gif所示)。

还有python绑定,这样您就可以从插件中将geoserver层添加到qgis中。如果您有兴趣使用qgis服务器后端运行自己的geonode,请参阅 this site 有关如何使用Docker和Rancher实现这一点的详细信息。

image116

此功能由 WorldBank/GFDRR

此功能由开发 Kartoza

功能:为空间网站提供程序创建属性索引支持

允许为空间网站层创建属性索引

此功能由 North Road

此功能由开发 Nyall Dawson (North Road)

功能:添加对阵列的支持

由Postgres、Spatialite支持

此功能由Patrick Valsecchi开发

功能:为PostgreSQL添加自动发现关系

此功能由Patrick Valsecchi开发

特征:层之间的数据相关性

这允许声明层之间的数据依赖关系。当一个层中的数据修改(而不是直接用户操作)可能修改其他层的数据时,就会发生数据依赖。例如,在修改另一层的几何图形后,数据库触发器更新了一个层的几何图形。

这项功能是由雨果·麦谢尔开发的。

功能:DXF导出:支持重投影

此功能由Juergen E.Fischer开发

特点:改进了对默认值的处理

改进对默认值的处理(inc provider default子句、文本默认值和qgis表达式默认值),并自动处理层上的唯一值约束。

任何具有唯一值约束的字段都将保证具有该字段唯一的值。

这也意味着,在某些编辑操作(如复制粘贴、分割特征等)之后,属性现在将被设置为其默认值(如果适用)。

此功能由ZUG的Canton和QGEP项目资助。

此功能由开发 Nyall Dawson (North Road)

QGIS服务器

特点:QGIS服务器大修

如你所知,QGIS正在跳到一个新的主要版本(是的!)。这样做是必要的,因为需要切换到python 3、qt5,而且还因为我们需要在几个地方中断qgis API。(http://blog.qgis.org/2016/02/10/qgis-3-0-plans/

一年前,一个来自瑞士的小巨魔敲响了警钟,说他们迫切需要爱的服务器代码库。事实上,API是被一些旧的QGIS服务器方法锁定的。简言之,qgis服务器以自己的方式重新编写qgs项目文件,并创建了我们需要删除的部分qgis的依赖项。

由于外包服务器代码库不是一个选项,所以我们必须重构它。参与方决定在法国里昂市进行代码冲刺,致力于分享他们的愿景,规划工作,并最终实现以下所有目标:

更高级别的重构

所有服务(wms getmap、wfs getfeature、getlegendgraphics、wcs、getprint等)都已重写。有些像大规模杀伤性武器是完全重写的。向开发者致敬!

新特点

  • 多线程渲染,就像在桌面上一样

  • 信任层元数据从而加速项目加载的新选项

  • WFS 1.1支持https://github.com/qgis/qgis/pull/5297

  • 服务器API的完整python绑定

  • 服务器服务作为插件,如提供程序

深度、复杂和无回报的任务

  • 删除所有单例呼叫

  • 将所有依赖项剪切到旧的QGIS项目文件分析器

  • 最小化对GUI库的依赖。由于字体是渲染地图所必需的,因此完全删除它们是不可行的。

基础设施任务

  • 构建OGC兼容平台,并将其集成到持续集成平台中。合格报告现在被推送到tests.qgis.org。

  • 添加单元测试…还有更多的单元测试

  • 强调QGIS服务器的安全漏洞(SQL注入和其他恶意攻击)

  • 开始仿形和台架标记性能。这项工作仍需要一些爱心和资金来完成。

7月在FOSS4G-EU进行了介绍。

此功能由qgis.org捐助者资助

特征:在服务器中分割特征信息几何图形的可能性

许多Web客户端无法在几何图形中显示圆弧。为了使这些客户机仍能显示某个功能的几何图形(例如,为了突出显示该功能),引入了一个新的每个项目的QGIS服务器选项(菜单“Project”->“Project Properties”->“QGIS Server”),以便在以GetFeatureInfo响应将几何图形发送给客户机之前对其进行分段。

image117

此功能由 Kanton of Zug

此功能由开发 Marco Hugentobler

插件

功能:脱机编辑:添加标志以仅复制所选功能

这扩展了脱机编辑的可能性,使其仅适用于大型图层的子集。

这项功能由DB Fahrwegdienste GmbH资助。

此功能由Matthias Kuhn开发

功能:已将gdaltools移动到处理

已删除gdaltools插件。

以前通过gdaltools插件提供的所有功能都被移到了qgis处理框架中,允许在脚本、模型中使用这些工具,并在批处理过程中执行它们。另外,我们用最新的gdal版本中引入的新参数更新了算法,并通过公开一些高级参数(如创建选项、nodata值设置等)改进了整个UI/UX。

image118

此功能由Alexander Bruy开发

功能:允许从本地zip包安装插件

现在更容易手动安装插件,而不必手动将它们解压缩到用户配置文件目录中。

image119

此功能由Alexander Bruy开发

功能:插件可以在表达式窗口中提供自定义帮助

提供表达式的插件可以添加HTML字符串的自定义帮助。

image120

此功能由 DFAT/DMI

此功能由开发 Etienne Trimaille (Kartoza)

可编程性

特征:几何体类更新

对QGIS中的几何类进行了大修。旧类已重命名(根据下表)。新的几何类将正确地保留Z和M属性(如果存在)。

参考资料:https://github.com/qgis/qgis3.0 u api/issues/11

这最终会在几何API中恢复一致的命名状态。

更名

QGIS 2

QGIS 3

QgsPolygon

QGSPOXYXY

QgsMultiPoint

QGS-多点

QgsMultiPolyline

QG多聚线氧

QgsMultiPolygon

QG多聚甲醛

QGSPOLYNGV2

QgsPolygon

QGS-多点V2

QgsMultiPoint

qgsmultipolinev2系列

QgsMultiPolyline

qgsmultipolygonv2型

QgsMultiPolygon

另请参见https://github.com/qgis/qgis/pull/5491

此功能由Matthias、Nyall和其他人开发

功能:任务管理器

介绍一个用于创建后台任务的框架,这些任务通过集中的管理器进行交互。

添加新类:-qgstask。用于长时间运行的后台任务的接口-qgstaskmanager。处理任务组-也可作为QGSApplication成员用于跟踪应用程序范围内的任务

添加简单的python方法qgstask.from function,以便从函数创建任务,而不必创建qgstask子类。

支持依赖任务

取消其他人依赖的任务也会导致所有其他任务被取消。

将依赖层的处理添加到任务管理器

如果任务具有将要删除的依赖层,则该任务将自动取消。

qgstask可以有子任务

现在,Qgstask可以通过调用Qgstask::AddSubtask来设置子任务Qgstask。子任务可以有自己的依赖任务集。

子任务对用户不可见,用户只看到父任务的总体进度和状态。

这允许创建由许多较小的组件任务组成的任务。任务管理器仍将处理启动和调度子任务,例如子任务可以并行运行(如果它们的依赖关系允许这样做)。

子任务本身可以有子任务。

此更改旨在允许算法和建模器算法的处理概念直接转换为任务管理器架构。

此功能由QGIS赠款计划资助。

此功能由开发 Nyall Dawson (North Road)

功能:允许拖放自定义浏览器项的API

QGSDataItem实现可以提供HasDragEnabled()、Mimeuri()和QGSCustomDropHandler实现来处理自定义项的删除。

此功能由Martin Dobias开发