十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
上期分享中,我们介绍优炫数据库支持的数据存储方式。
创新互联专注于皇姑企业网站建设,自适应网站建设,商城网站建设。皇姑网站建设公司,为皇姑等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
戳: 干货分享 优炫数据库支持多业务场景
本期,我们来讲讲优炫数据库支持的多种数据类型。
基本数据类型存储与管理
优炫数据库拥有完备的数据类型,内置数据类型包括 数字类型、货币类型、字符类型、日期/时间类型、布尔类型、枚举类型、网络地址类型、位串类型、文本搜索类型等, 支持使用 serial 类型创建表自增列。
通常为了加快指定过滤条件下从表中查询数据的速度,可以为表的某个字段或某几个字段建立索引。数据库对基本数据提供多种索引类型:B-tree、Hash、GIN(倒排序索引)和 BRIN(数据库块范围索引)。每一种索引类型使用了一种不同的算法来适应不同类型的查询。 默认情况下, CREATE INDEX命令创建适合于大部分情况的B-tree索引。
XML/JSON数据类型存储与管理
优炫数据库内置半结构化XML、JSON、JSONB数据类型。
xml数据类型可以被用来存储XML数据,它比直接在一个text域中存储XML数据的优势在于,它会检查输入值的结构是不是良好,并且有支持函数用于在其上执行类型安全的操作。xml类型可以存储结构良好(如XML标准所定义)的“文档”,以及“内容”片段,它们由XML标准所定义,这意味着内容片段中可以有多于一个的顶层元素或字符节点。通过表达式来评估一个特定的xml值是一个完整文档或者仅仅是一个文档片段。
JSON类型强制检查数据有效性,使用专门的操作符和内置函数操作数据,保留空格,重复键和顺序等。JSONB是解析输入后保存的二进制数据,删除了数据中的空格、调整了顺序、优化了存储、保留最后一个重复键值,可被索引。和 JSON 一样,JSONB支持嵌入式的文档和数组。JSONB 由若干个键值对存储为单个实体,这种实体称为文档。 JSONB具有以下几个特性:轻量级(Lightweight),可遍历性(Traversable),高效性(Efficient)。 由于所需存储更小,JSONB通常是首选格式。两者区别在于:JSON类型写快读慢,JSONB类型写慢读快,支持SQL/JSON路径语言。此外,数据库支持对这两类数据的全文检索。
GIS空间类型存储与管理
优炫数据库支持GIS的地理信息应用,支持PostGIS、ArcGIS、超图,支持OpenGIS联盟(开放地理信息系统,OGC)抽象数据类型的SQL3规范,提供对地理矢量数据、3D模型、线性参考数据的组织、存储、空间索引和管理。
Geometry(几何对象类型)是优炫数据库的一个基本存储类型, 空间数据都会以Geometry的形式存储在数据库里,本质是个二进制对象。使用OGC推荐的WKT(Well-Known Text)和WKB(Well-Known Binary)格式进行描述,大幅增加了易用性,WKT与WKB基本数据类型(矢量数据)包括:
l 点 (POINT):例如POINT(0 0);
l 线 (LINESTRING):例如LINESTRING(0 0,1 1,1 2)
l 面 (POLYGON多边形):例如POLYGON((0 0,4 0,4 4,0 4,0 0)) 简单多边形,例如POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) 多边形有一个内部的"孔洞(hole)";
l 多点 (MULTIPOINT):例如MULTIPOINT((0 0),(1 2));
l 多线 (MULTILINESTRING):例如MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4));
l 多面 (MULTIPOLYGON):例如MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)));
l 几何集合 (GEOMETRYCOLLECTION):例如GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4))。
栅格空间数据类型raster用于表示jpeg,tiff,png,DEM模型这样文件格式的数据。每一个栅格至少有1个波段,每个波段又有一系列像素值,栅格数据是转换成地理坐标的。可以从数据库外部导入已有栅格数据,也可在数据库内创建栅格数据。下面是一个在数据库内部创建栅格数据的示例:
拓扑类型和函数用于管理拓扑结构,比如面、边界和点。
创建一个带有栅格记录的栅格列的表可以用下面的SQL完成:
如果创建的栅格不依赖于其他栅格,那么可以使用函数:
ST_MakeEmptyRaster,接着使用ST_AddBand添加栅格数据。也可以使用geometry对象来创建栅格你需要使用函数ST_AsRaster。可能还需要和其他函数比如函数ST_Union 或函数 ST_MapAlgebraFct 或者其他地图代数系列函数联合使用。甚至还有一些根据一些已经存在的栅格表创建新的栅格表的可选函数。例如可以使用函数ST_Transform 根据一个已有的栅格表在其他投影系中创建一个新的栅格表。然后通过下SQL命令创建一个空间索引:
通过空间索引R-Tree实现空间数据查询和操作,R-Tree将数据分解为矩形(rectangle)、子矩形(sub-rectangle)和子-子矩形(sub-sub rectangle)等。它是一种可自动处理可变数据的密度和对象大小的自调优(self-tuning)索引结构。
图数据存储与管理
图数据以图关系这种数据结构存储,把图数据的顶点和边信息存储到关系型数据类型中,这些信息包括:
l 顶点(Vertices):一个实体一个顶点,一个实体可以有多个属性。
l 边(Edges):两个实体之间的连接线。
l 属性:实体和边都可以有多个属性。形象举个例子,一个实体对应关系表中一行记录,一个实体的属性代表关系表中这行记录的所有字段和值构成的键值对。
在优炫数据库中图数据通过关系型数据进行存储,这些数据与图模型中的数据相对应。例如通过下SQL语句建立存储图数据的表:
然后新增加数据,后续就可以根据这些数据进行图相关的计算和分析了。
时序数据存储与管理
时序数据存储和管理,通过把时序数据存储到关系型数据类型中。时序数据是指时间序列数据。时间序列数据是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。时间序列分析的目的是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测。
文档/图片/视频类型存储与管理
优炫数据库可存储任意未知具体内容的图片、声音、视频等非结构化数据,支持 GB 级大对象数据类型与流式数据访问。可借助于数据库图形化管理工具、应用程序、第三方工具等查看这些非结构化数据。根据业务需要也可借助数据库插件读取或识别这些非结构化数据的内容用于数据分析。
优炫数据库支持多种二进制数据类型,包括:Bytea、OID、Blob、raw、Varbinary、Longvarbinary。
自定义数据类型存储与管理
优炫数据库可自定义数据类型、索引、函数等数据库对象。 新增加的数据类型可以是新数据类型,也可以是已知几个数据类型的复合数据类型。
模分析型数据库用户可在数据库中使用CREATE TYPE或CREATE DOMAIN命令增加新的数据类型;可通过自定义函数或存储过程对数据进行各种处理。
CREATE TYPE在当前数据库中注册一种新的数据类型,定义数据类型的用户将成为它的拥有者。五种形式的CREATE TYPE,它们分别创建组合类型、枚举类型、 范围类型、基础类型或者 shell 类型。shell 类型仅仅是一种用于后面要定义的类型的占位符,通过发出一个不带除类型名之外其他参数的CREATE TYPE命令可以创建这种类型。在创建范围类型和基础类型时,需要 shell 类型作为一种向前引用。
CREATE DOMAIN创建一个新的域。 域本质上是一种带有可选约束(在允许的值集合上的限制)的数据类型。域主要被用于把字段上的常用约束抽象到一个单一的位置以便维护。例如,几个表可能都包含电子邮件地址列,而且都要求相同的 CHECK 约束来验证地址的语法。可以为此定义一个域,而不是在每个表上都单独设置一个约束。
可以说下面是目前网络上最全最权威的,都是Esri中国的官方人员制作的精品。而且还在持续的更新中。。。。
神贴地址:
---------------------------------------------------------------------
目前ArcGIS知乎平台已经有常见技术问题5300+,技术文章3000+,囊括了ArcGIS 和 ENVI两大产品的常见问题解决方案和技术文章。
第一:ArcGIS入门教程系列
我们根据ArcGIS最新版本整理了详细的入门教程,有了她,你可以最快的速度上手ArcGIS产品。
1)ArcGIS for Desktop入门教程
2)ArcGIS Engine入门教程
3)ArcGIS for Server入门教程
4)Geodatabase入门教程
5)Portal for ArcGIS入门教程
6)ArcGIS API for JavaScript入门教程
7)ArcGIS Pro简明教程
8)ArcToolbox的入门与使用
9)ArcGIS常见问题
10)ArcGIS网络分析教程
11)esri-leaflet入门教程
12)ArcGIS 10.5新特性
第二:ArcGIS安装与授权系列
1)ArcGIS 10.x版本授权操作手册
2)ArcGIS Pro许可操作手册
3)ArcGIS 10.4安装指南
第三:资源下载系列
1)ArcGIS补丁包下载
2)Web开发包下载
第四:在线视频系列
1)2016Esri中国技术公开课
2)2015开发者大会视频回顾
3)2016美国esri全球用户大会视频系列(中英文字幕)
4)ArcGIS制图视频教程
5)ArcGIS Pro基础视频教程
第五:技术专题系列
1)白话空间统计
2)栅格那点事
3)空间大数据存储与优化最佳实践
4)空间分析原理与应用
5)空间统计原理与应用
6)镶嵌数据集原理与应用
7)CityEngine技术专区
8)ArcGIS Android开发笔记
9)ArcGIS Python开发教程
10)ArcPy.Mapping使用教程
第六:ENVI/IDL系列
1)ENVI
2)IDL
3)遥感技术
3)SARscape
4)ENVI扩展工具
5)ENVI_ArcGIS一体化
6)遥感应用
7)遥感应用案例
8)ENVI二次开发
9)遥感解决方案
10)遥感微课堂
这些都是已经整理好的技术专题系列,还有很多内容没有归类到专题中,希望大家通过搜索去发现更多有价值的内容。
我们陆续还会上线更多实用的技术内容,希望对来ArcGIS知乎社区,想要好好学习,天天向上的的Giser有帮助!
1、首先选择要进行长度计算的线要素图层,打开属性表,可以看到线要素的信息,每一条线对应属性表中的一行。
a5b521b4688849d89bf03fbd100a6c23.png
fe4a1647db5b41e187208d55626949b7.png
2、在属性表中添加一个字段用于保存线要素的长度信息:点击“表选项”按钮,选择“添加字段”。
3、在弹出的【添加字段】窗口中给字段命名一个名称,并设置字段的类型、精度,点击“确定”,然后属性表中就会增加一列内容,不过数值都是0。
9ece0b2732fa4fbeb4b76277cfb1179b.png
57cc9d3a76f947d8a27be3a2b759ce21.png
二、计算几何
使用计算几何在要素图层的属性表中可以很容易地计算面积、周长、3D 周长、长度、3D 长度、质心坐标、点坐标、最小和最大 z 值或起点、中点和终点坐标。执行计算时,可以使用数据源或数据框的坐标系。此外,如果当前选择了一条或多条记录,则仅计算所选记录。
ArcGIS 中的几何计算是平面的—也就是说,在投影空间中计算而不是在球空间或测地线空间中计算。仅当所使用的坐标系为投影坐标系时,才能计算要素的面积、长度或周长。如果数据源使用了一个地理坐标系,如 WGS 1984 并且未投影,则可以使用数据框的投影坐标系来执行计算。或者,也可以投影数据源。
1、鼠标右键单击字段名称,选择“计算几何”。
be41fb4531014855bf35a0d1d5148a47.png
2、弹出【计算几何】窗口,选择我们要计算的属性——长度,选择坐标系、单位,点击“确定”。
78dc33f90ace43a1a12fcb7cac02029c.png
3、最后,计算结果会自动填入到前面设置的字段下面,到此,每个线要素的长度就计算出来了,大功告成!
839ccdcde51d47eeb12e01aee7ea677f.png
三、可能遇到的问题与解决方法
在使用计算几何操作的过程中,或许会遇到像下面的这样情况,这里简单总结了对应的解决方法以供参考。
1、如果出现下图的弹窗提示:点击“是”即可,也可以勾选“不再向我发出警告”,下次使用计算几何时就不会出现弹窗了。
2ff7d4fba64546e69ad088b657386822.png
2、“长度 - 已禁用”:此时无法进行计算,会提示需要使用投影坐标系,说明当前使用的坐标系为地理坐标系而不是投影坐标系,应使用投影坐标系,通过数据框属性或者数据源或数据框定义投影后再进行几何计算。
eb20ad17cc0045b5b582af12f815ad9e.png
81408f2e3c4242c1be4e1b2e95100dbc.png
3、坐标系不可选择:数据源没有定义任何坐标系,此时仍可以计算长度,ArcGIS默认使用数据框的投影坐标系来执行计算。
35729206442146e6aefe8e5d6eec4bb9.png
4、计算结果与实际不符:特别需要注意的是,计算结果会因投影坐标系的不同而有所差异,因此定义正确的投影坐标系能够使计算结果更加准确。如下图展示了同一条线路在两种投影坐标系下的计算结果差距,如果发现计算结果与实际不符,应考虑使用的投影坐标系是否正确。
7c4472201d424eb1ba87332d8eae5896.png
20139d8824044aa59d8683b7fcbcfd0b.png
关注展开
打开CSDN APP,看更多技术内容
arcgisengine计算线要素总长度_干货|ArcGIS在点和线之间创建连接线(线 ...
4.打开sample00的属性表,增加一个属性字段,命名为“ConNum”,字段类型选择短整型即可,其它均保持默认设置。 5.右键单击该属性字段,打开字段计算器(Field Calculator)。 6.为“ConNum”赋值。 在打开的字段计算器对话框中输入“[FID]”...
继续访问
ArcGis 计算线段长度_weixin_34256074的博客
ArcGis 计算线段长度
先一句话表达,就像是autocad与方圆装修设计软件的区别,是大众和小众的区别,下面一位同学直接说了,crass gis是开源的gis软件,简单直接说就是只有部分gis功能,不具备arcgis的全面,crass翻译过来是粗鲁的,很明显,crassgis根据字面就是说直观的,强大的gis,arcgis这么多功能也用不到,我只在某一方面需要一款强大的gis平台,而且方便自己扩展功能,这就需要crassgis。
很多做gis的同学压根不了解Qgis,gvsig,crassgis这类开源gis软件,说明题主处于地理信息产业链上游企业。
知乎测绘地信方面的干货并不多,很多也都是简单的复制粘贴,毕竟技术生产行业,名词解释也不具有创造性。
arcgis就不用多说,大多数人都用过,不过也就是用一些简单的分析规划建库之类的,每个人都仅仅对它的某一小部分熟悉,并不了解arcgis内部构造的复杂与全面,国内许许多多gis处理平台都是以arcgis为基础平台来研发的。
crass是各种分析支持系统,对于影像处理,比如天气预报大气层这类影像,比如DEM数字地面模型,比如各类山地高低起伏的地形数据进行全面分析,它就擅长,就和cad可以画地形图也可以画装修设计图,但专业的装修设计软件可以一键渲染一键装饰一键欧美希腊地中海却不能做地形图。知识有限,有错勿喷。
结交测绘地理信息有识有实之朋友,共同进步。