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

wordpress redis自动东莞长安网站优化公司

wordpress redis自动,东莞长安网站优化公司,做网站余姚,苏州园区体检中心1. 背景 1.1. SDO_GEOMETRY的应用场景及能力 在数字化城市、物联网和新能源汽车等领域蓬勃发展的背景下,空间数据类型的存储和分析需求日益增长;对于涉及位置信息服务和地理位置信息应用而言,数据库中具备对sdo_geometry数据类型的支持无疑…

1. 背景

1.1. SDO_GEOMETRY的应用场景及能力

在数字化城市、物联网和新能源汽车等领域蓬勃发展的背景下,空间数据类型的存储和分析需求日益增长;对于涉及位置信息服务和地理位置信息应用而言,数据库中具备对sdo_geometry数据类型的支持无疑将更好地支撑空间数据的存取与分析过程。

空间数据对象是一组直线相连的点的序列而组成,通过sdo_geometry数据类型可以描述OGC(OpenGIS Consortium)定义的7种空间对象类型(point \ linestring \ polygon \ multipoint \ multilinestring \ multipolygon \ collection),这7种空间类型可以覆盖大部分实际应用场景。

空间数据对象之间支持进行关系运算,如包含、相交等,空间关系运算是cpu密集型的运算,在大数据量场景下常规的需要空间索引来提供快速空间关系查询的能力。

1.2.  OceanBase v4.2.2release SDO_GEOMETRY特性支持

oceanbase 4.2.2版本下Oracle模式下sdo_geometry类型支持如下特性

特性1 : sdo_geometry支持

用户可以定义数据类型为sdo_geometry,支持PL/SQL下操作sdo_geometry数据类型。

特性2: sdo_geometry成员函数

  • 构造函数:支持通过默认构造函数、Well-Known-Binary数据格式以及Well-Known-Text数据格式创建sdo_geometry数据类型;
  • 查询:支持通过成员函数get_dims/get_gtype/st_isvalid来查询sdo_geometry空间对象的维度、类型以及是否是有效的空间对象的信息;
  • 格式转换:支持通过成员函数get_wkb/get_wkt/get_geojson来将sdo_geometry转换为Well-Known-Binary数据格式、Well-Known-Text数据格式以及json数据格式

特性3: sdo_geometry类型存储

支持定义表中字段为sdo_geometry类型,sdo_geometry数据类型会将其基础属性拆分成多个内置类型的隐藏列进行存储,有效提高存储效率。

特性4: sdo_geometry属性访问

sdo_geometry做为复杂数据类型,包含多个内在属性,支持在SQL/PL下访问其属性。

2. 使用操作

2.1 ddl/dml/select

# ddl,创建gis类型字段
CREATE TABLE cola_markets (mkt_id NUMBER PRIMARY KEY,name VARCHAR2(32),shape SDO_GEOMETRY);  --SDO_GEOMETRY表示gis类型# 插入gis类型数据:通过sdo_geometry constructor创建gis对象实例,
INSERT INTO cola_markets VALUES(1,'cola_a',SDO_GEOMETRY(    --创建gis对象2003,  -- 表示2维的polygonNULL,  -- 未定义sridNULL,  -- 该字段仅对point对象有意义SDO_ELEM_INFO_ARRAY(1,1003,1), -- 1表示从SDO_ORDINATE_ARRAY第一个成员开始,-- 1003表示是一个多边形外环,1表示直线连接SDO_ORDINATE_ARRAY(10,105, 15,105, 20,110, 10,110, 10,105) -- 该多边形顶点的坐标值)
);# 查询gis字段,默认按sdo_geometry constructor格式输出
select shape from cola_markets;SHAPE(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
--------------------------------------------------------------------------------
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(10,105, 15,105, 20,110, 10,110, 10,105)

2.2 sdo_geometry成员函数

  • 构造函数:支持通过默认构造函数、Well-Known-Binary数据格式以及Well-Known-Text数据格式创建sdo_geometry数据类型;支持通过构造函数创建2维和3维的空间对象:point\linestring\polygon\multipoint\multilinestring\multipolygon\collection; 定义方式请参考oracle gis设计方案说明
# wkb创建sdo_geometry对象
OceanBase(SYS@SYS)>select SDO_GEOMETRY(to_blob('01010000000000000000000000000000000000F03F')) as SDO_GEOMETRY from dual;
+------------------------------------------------------------------+
| SDO_GEOMETRY                                                     |
+------------------------------------------------------------------+
| SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(0, 1, NULL), NULL, NULL) |
+------------------------------------------------------------------+
1 row in set (0.001 sec)
# wkt创建sdo_geometry对象
OceanBase(SYS@SYS)>SELECT SDO_GEOMETRY('POINT(-1e5 1e-3)') as SDO_GEOMETRY from dual;
+----------------------------------------------------------------------------+
| SDO_GEOMETRY                                                               |
+----------------------------------------------------------------------------+
| SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(-100000, 0.001, NULL), NULL, NULL) |
+----------------------------------------------------------------------------+
1 row in set (0.005 sec)
  • 查询:支持通过成员函数get_dims/get_gtype/st_isvalid来查询sdo_geometry空间对象的维度、类型以及是否是有效的空间对象的信息;
OceanBase(SYS@SYS)>select sdo_geometry (2001, null, null, sdo_elem_info_array (1,1,1), sdo_ordinate_array (10,500)).get_gtype() as gtype from dual;
+-------+
| GTYPE |
+-------+
|     1 |
+-------+
1 row in set (0.008 sec)
# 返回空间对象的维度
OceanBase(SYS@SYS)>select g.geo.get_dims() from gis_test g;
+------------------+
| G.GEO.GET_DIMS() |
+------------------+
|                2 |
+------------------+
1 row in set (0.006 sec)ceanBase(SYS@SYS)>select g.geo.st_coorddim() from gis_test g;
+---------------------+
| G.GEO.ST_COORDDIM() |
+---------------------+
|                   2 |
+---------------------+
1 row in set (0.006 sec)
# 返回空间对象是否有效
OceanBase(SYS@SYS)>select g.geo.st_isvalid() from gis_test g;
+--------------------+
| G.GEO.ST_ISVALID() |
+--------------------+
|                  1 |
+--------------------+
1 row in set (0.006 sec)
  • 格式转换:支持通过成员函数get_wkb/get_wkt/get_geojson来将sdo_geometry转换为Well-Known-Binary数据格式、Well-Known-Text数据格式以及json数据格式输出
# get_wkt将sdo_geometry转换为wkt格式
OceanBase(SYS@SYS)>select sdo_geometry (2001, null, sdo_point_type(10,50,null), null, null).get_wkt() as wkt from dual;
+-------------------+
| WKT               |
+-------------------+
| POINT (10.0 50.0) |
+-------------------+
1 row in set (0.006 sec)# get_wkb将sdo_geometry转换为wkb格式
OceanBase(SYS@SYS)>select g.geo.get_wkb() from gis_test g;
+--------------------------------------------+
| G.GEO.GET_WKB()                            |
+--------------------------------------------+
| 00000000014028000000000000402C000000000000 |
+--------------------------------------------+
1 row in set (0.006 sec)# get_geojson将do_geometry转换为json文本格式
OceanBase(SYS@SYS)>select g.geo.get_geojson() from gis_test g;
+----------------------------------------------+
| G.GEO.GET_GEOJSON()                          |
+----------------------------------------------+
| { "type": "Point", "coordinates": [12, 14] } |
+----------------------------------------------+
1 row in set (0.005 sec)

sdo_geometry member function功能如下所示:

NameReturnsDescription
Get_DimsNUMBER返回空间对象的维度,在 SDO_GTYPE中定义. 与表达式 ST_CoordDim返回结果相同
Get_GeoJsonCLOB返回空间对象的json格式输出.
Get_GTypeNUMBER返回空间对象的类型,在 SDO_GTYPE中定义
Get_WKBBLOB输出空间对象的wkb,不带srid
Get_WKTCLOB输出空间对下的wkt
ST_CoordDimNUMBER和Get_Dims相同
ST_IsValidNUMBER返回空间对象是否有效 (The ISO/IEC SQL Multimedia standard uses the term well formed for valid in this context.)

2.3 sdo_geometry属性访问

sdo_geometry做为复杂数据类型,包含多个内在属性,支持在SQL/PL下访问其属性。

OceanBase(SYS@SYS)>select sdo_geometry (2001, null, sdo_point_type(10,50,null), null, null).SDO_GTYPE from dual;
+------------------------------------------------------------------------+
| SDO_GEOMETRY(2001,NULL,SDO_POINT_TYPE(10,50,NULL),NULL,NULL).SDO_GTYPE |
+------------------------------------------------------------------------+
|                                                                   2001 |
+------------------------------------------------------------------------+
1 row in set (0.006 sec)
# 访问sdo_srid属性
OceanBase(SYS@SYS)>select g.geo.sdo_srid from gis_test g;
+----------------+
| G.GEO.SDO_SRID |
+----------------+
|           4326 |
+----------------+
1 row in set (0.005 sec)
# 访问sdo_point属性,sdo_point也是个复杂属性,包含x/y/z
OceanBase(SYS@SYS)>select g.geo.sdo_point from gis_test g;
+------------------------------+
| G.GEO.SDO_POINT              |
+------------------------------+
| SDO_POINT_TYPE(12, 14, NULL) |
+------------------------------+
1 row in set (0.004 sec)
# 访问sdo_point的x/y/z属性
OceanBase(SYS@SYS)>select g.geo.sdo_point.x from gis_test g;
+-------------------+
| G.GEO.SDO_POINT.X |
+-------------------+
|                12 |
+-------------------+
1 row in set (0.005 sec)OceanBase(SYS@SYS)>select g.geo.sdo_point.y from gis_test g;
+-------------------+
| G.GEO.SDO_POINT.Y |
+-------------------+
|                14 |
+-------------------+
1 row in set (0.005 sec)OceanBase(SYS@SYS)>select g.geo.sdo_point.z from gis_test g;
+-------------------+
| G.GEO.SDO_POINT.Z |
+-------------------+
|              NULL |
+-------------------+
1 row in set (0.004 sec)
# 访问SDO_ELEM_INFO属性
OceanBase(SYS@SYS)>select g.geo.SDO_ELEM_INFO from gis_test g;
+---------------------+
| G.GEO.SDO_ELEM_INFO |
+---------------------+
| NULL                |
+---------------------+
1 row in set (0.005 sec)
# 访问SDO_ORDINATES属性
OceanBase(SYS@SYS)>select g.geo.SDO_ORDINATES from gis_test g;
+---------------------+
| G.GEO.SDO_ORDINATES |
+---------------------+
| NULL                |
+---------------------+
1 row in set (0.005 sec)

3. 总结和展望

本次SDO_GEOMETRY类型特性计划在4.2.2版本发布,补齐Oracle模式下支持空间数据类型的功能。本次特性暂未支持SDO_GEOMETRY类型的空间索引以及相关空间计算表达式,后续根据具体需求来补齐相关功能。

http://www.yayakq.cn/news/692356/

相关文章:

  • 移动端网站和微信网页设计廊坊专业网站制作服务
  • 秋佐科技公司网站外贸网站推广有哪些
  • 城建公司建设网站基础资料学传媒以后能干什么
  • 移动服务器建设的电影网站网站空间多少钱一年
  • 网站推广工作总结四川公共交易资源信息网
  • 西安营销网站建设公司无屏蔽搜索引擎
  • 网站建设技术人员要求黑科技软件合集网站
  • 网站中用特殊字体万源seo
  • 洞头区网站建设收费公众号制作技巧
  • 培 网站建设方案 doc互联网技术应用学什么
  • 网站关键词优化衡阳网络营销公司
  • 宁波外贸公司黄页seo网站排名优化培训教程
  • 郑州十大网站建设公司租电信服务器开网站
  • 家谱网站的首页怎么做万盛网站制作
  • 朝阳公司做网站包装设计网课答案
  • 玉林英文网站建设网站登记表
  • 网站建设空间是指什么软件戴尔的网站建设有哪些主要特色
  • 太原网站排名推广app开发定制软件公司
  • 有没有专门做翻译的网站网站开发z亿玛酷1流量订制
  • 花样云做网站怎样织梦栏目页不显示网站描述
  • 不备案网站怎么做推广产生非对称效果的是
  • 石家庄网站快速优化排名wordpress 主题作者页
  • 上海大学生做网站的团队南京网站设计公司
  • 网站设计师和网页设计师科技企业网站源码
  • 南宁定制网站建设seo关键词排名优化费用
  • 网站建设销售问你告诉我怎么制作泰州整站优化
  • 网站建设前的市场分析怎么写红酒购物网站源码
  • 郑州外贸网站建设公司重庆网站建设熊掌号
  • 番禺响应式网站开发做ip资讯的网站
  • 网站数据库转移wordpress调用jquery