网站建设与管理属于计算机专业吗飞速网站排名

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

网站建设与管理属于计算机专业吗,飞速网站排名,怎样建设美丽中国?,北京设计工作室排名目录 写在文章前 一、给要素编号用哪些功能 二、实现一个最简单的编号 1.数据准备 2.编辑字段计算器表达式 3.查看编号结果 三、更加复杂的编号 1.使用UUID编号 2.根据单个属性排序后编号 3.根据多个属性排序后编号 4.拼接字符串进行编号 5.根据时间编号及实现 写在…目录 写在文章前 一、给要素编号用哪些功能 二、实现一个最简单的编号 1.数据准备 2.编辑字段计算器表达式 3.查看编号结果 三、更加复杂的编号 1.使用UUID编号 2.根据单个属性排序后编号 3.根据多个属性排序后编号 4.拼接字符串进行编号 5.根据时间编号及实现 写在文章前 众所周知在社会中存在着各种编号如邮政编码、订单编号、身份证号等这些编号大多用于对事物进行科学地辨识。在地理空间数据中空间数据不仅存在空间信息还有属性及时间信息。对于矢量数据文件其大多是以“表”的形式存在也就是说矢量数据的每个要素每行记录都是可以被编号的。 本文将从怎么利用QGIS的功能对其所能管理的矢量数据进行编号文中所列举的例子可能不太符合实际情况但是例子中用到的方法是可以适用于各类与空间信息有关的调查项目中需要编号的场景。 一、给要素编号用哪些功能 给要素编号的本质是给要素的某一个属性赋值所赋予要素的值是符合编号规则的字符串数据类型是字符串型。在QGIS中常见的给属性赋值的功能为字段计算器除此之外也有使用python脚本、工具箱、插件的方式来给要素的某一个属性赋值。QGIS的字段计算器提供了丰富的函数利用好这些函数就可以生成各种各样的符合需求的编号。这使得QGIS在数据生产中有一定优势。 在读取常见的shapefile、kml、geojson、gml等常见矢量文件同时QGIS也可以读取Excel、csv等格式的文件为“图层”也就是说无空间信息的纯属性数据也可以通过QGIS来编辑。 二、实现一个最简单的编号 通常我们编号是根据事先规定好的编码规则进行的所以编号前需要先根据编码规则分析一下使用哪些函数来实现编码规则。 在本节我们使用最简单的编号规则4位顺序号来演示一下有关功能。 1.数据准备 单击主菜单【图层】【创建图层】【新建临时图层】创建一个包含“ID”和“Name”属性的无几何图形临时图层文件。这里创建无几何图形的图层是为了简化操作省去给空间数据赋值的过程。 数据创建入口 无几何图形临时图层的配置 使用添加要素按钮给10个要素给Name填写十个随机名字也可以不写。 2.编辑字段计算器表达式 在属性表单击字段计算器按钮打开字段计算器。 在字段计算器表达式窗口输入以下表达式  lpad(id,4,0) 注意不要勾选仅更新1个所选要素  3.查看编号结果 可以发现已经将ID属性赋值为4位数字长度的顺序号。 三、更加复杂的编号 1.使用UUID编号 使用uuid编号实现比较简单只需要打开字段计算器在表达式框中输入以下表达式运行即可。 uuid( WithoutBraces ) 几种变式 不带短横如c2f4bed53daf4498b7216ea155a08d2b replace( uuid( WithoutBraces ),-,)
不带短横、大写如83397DED76A348838298C2351FEB9FC0 upper( replace( uuid( WithoutBraces ),-,) ) 2.根据单个属性排序后编号 由于字段计算器提供的函数无法直接给要素排序。但我们可以通过工具箱对属性排序排序后要素的“id“变量会根据排序有所改变。下面还是使用上述数据根据属性排序编号。 在主菜单找到 【数据处理】【工具箱】【矢量通用工具】【按表达式排序Order by expression】 选中数据图层表达式选择Name即根据Name属性的排序勾选升序排序不勾选则为降序排序。 打开字段计算器使用第二节的表达式对ID字段进行更新。 从数据列表中可以看到ID已经修改为按照Name升序排序的4位序列号。  上图是ID已经修改为按照Name倒序排序的4位序列号。 3.根据多个属性排序后编号 根据多个属性进行排序有多种方法。 方法一 利用排序工具中的表达式拼接多个字段但这种方式的灵活性相对低一点不能实现多个属性按各自的规则升序、倒序进行组合。 方法二 我们可以使用【执行SQL语句】executesql工具对图层要素进行排序这样可以实现多个属性按各自的规则升序、倒序进行组合。这种方式需要对SQL语句有一定了解。 这里我们介绍一下方法二 首先准备数据还是利用上述图层在其基础上再加一个School属性。描述人物所属的学校 打开工具箱进行如下配置 在附加输入的数据源选中需要处理的图层。 在SQL查询中输入以下SQL语句 select * from input1 order by School desc,Name asc 以上SQL的意思为根据School排倒序在根据School排序的基础上School属性一样的要素再根据Name排升序。 在几何图形类型选择没有几何图形。单击运行。 上图是运行成果可以看到排序效果。 在上述基础上再次运行lpad(id,4,0)表达式得出以下结果。 如果需要对每个学校单独进行编号可以用执行SQL的方式实现。 在执行SQL工具中输入以下SQL语句选择无几何图形单击运行。 SELECT CONCAT(School,LPAD((ROW_NUMBER() OVER(PARTITION BY School ORDER BY Name)),4,0)) AS ID,Name,School FROM input1 ORDER BY Name ASC; 以下是执行结果 4.拼接字符串进行编号 在实际情况中对事物的编号不仅只有序列号还有特征码组织机构信息等等出于便于管理的需要编号时通常会拼接一些字符串来生成编号。用QGIS实现拼接字符串编号通常不难。在业务不复杂的情况下只需要使用字段计算器的拼接功能就可以实现对于复杂一些的可以通过SQL语句、python脚本实现第三小结的最后一个例子就是一种使用SQL的情况。 假设有这样一份数据 stuffNo为员工编号type为学校代码School为学校名称Name为姓名。 假设现在要生成一个全市学校职工的名单那么可以拼接学校代码和员工代码实现最简单的全是学校职工编号。 在字段计算器中拼接字段即可拼接符号为”||“ 效果如下 5.根据时间编号及实现 假如有这样一分外卖订单数据拥有订单号、订单名称下单时间等等属性信息送货地址数据为空间信息这样的数据就是一份典型的地理空间数据。 输入以下公式 format_date( CreateTime,yyyyMMdd)||lpad(id,8,0) 效果如下