ITPub博客

首页 > 数据库 > 数据库开发技术 > 七座城堡⑥ GIS【上】

七座城堡⑥ GIS【上】

原创 数据库开发技术 作者:梁敬彬 时间:2025-04-15 15:49:53 0 删除 编辑


    往期回顾   

-----------------------

     七座城堡①OLTP(上)

     七座城堡①OLTP(下)

----------------------

     七座城堡② OLAP(上)

     七座城堡② OLAP(下)

----------------------

     七座城堡③HTAP(上)

     七座城堡③HTAP(下)

----------------------

     七座城堡④ 时序(上)

     七座城堡④ 时序(下)

----------------------

     七座城堡⑤ 图(上)

    七座城堡⑤ 图(下)

-----------------



22. 迷失的寻找之路


就在老王万分期待之时,却等来了一个坏消息,因为有缘人所住之地偏远且地形复杂,导致商务主管一行迷了路,无功而返。

老柯:老王,商务主管一行靠地图确实容易迷路,照着地图是很难准确分辨自己当下的位置,只能靠人自身方位感来判断,即便不犯错,也很难形成最佳路径规划。如果遇到一些突发路况也无法及时获悉,往往地图显示可行,实际道路已经损坏,毕竟纸质地图不可能实时更新。”

老王:头疼!你有什么好主意吗?

老柯:嗯…刚想到一个办法。”

老王:哦,快快说来!

老柯:您一定记得,当初各种档案及项目信息大多是纸质存储且分散在各处,导致查找分析更新都很困难,后来建了OLTP城堡后情况就大为改变了。如今地图也是纸质的,那如何实时更新,如何实时分析呢,另外一个区域一个地图如何识别全貌,而有全局的地图又如何涵盖细节。您遇到了和当初一样的问题了。

老王:你这么说我明白了,确实和之前的场景非常相似啊!我们是不是要尽快把这些地理位置信息从地图的标识转成进入数据库中,让我们可以方便的更新和查询,对了,我们需要再建装这些地图信息的新的数据库城堡吗,咱们这事可不能拖太久啊。


23. GIS数据的作用


老柯:是的,您说的对,这种数据叫GIS数据,数据库被称之为GIS数据库。我们首先看看怎么做能让商务主管一行可以迅速找到有缘人,其实很简单,在导航系统的指引下,一直提示他怎么走就对了,比如语音提醒他前方直行5公里,然后右拐…然后左拐…然后就到目的地。怎么实现呢,其中很重要的是其

矢量数据,也就是点、线、面。从出发地到目的地就是从一个地理位置到另一个地理位置,这个地理位置就是点(Point),可以由一对坐标(经度和纬度)定义。大家都知道两点之间的距离最短,可这也需要有路啊,由两个或多个位置信息( 点)连成一系列路径就是线(Line)。线是用来表示线性地理要素,如道路、河流、行政边界等。但是怎么知道自己从一个区域抵达另一个区域呢,面(Polygon)的概念就出来了,由三个或多个点按顺序连接而成封闭区域,就是面。用来表示范围属性的地理要素,如城市、森林、湖泊等等。现在我们首先要做的就是要全面的地理位置相关的点、线、面的信息,并保存到数据库中,这和画出一个地图从逻辑上来说是一样,只是矢量化数字化了。我们现在已经有了很好的网络通信基础设施,结合GIS数据库和相关应用程序,就能实现定位导航。

在这里插入图片描述

老王:我明白了,有了这些数据入库后,应用程序可以读取这些数据,比如根据线判断最短路径,根据面判断是否进入进入某个区域等等,可以方便的以界面的形式展示给车上的人,包括语音提醒等等。其实这个没有想象那么难啊,咱们需要建新的数据库城堡吗,是不是现在有的哪个城堡就可以复用了。

在这里插入图片描述

老柯:好问题!我们现在虽然有五座数据库城堡,实际上就分成两类数据库,一个是关系型数据库,一个是非关系型,其中OLTP、OLAP、HTAP城堡我们打造的是关系型数据库城堡,而GIS和图数据库城堡是NOSQL非关系型的。我们先考虑什么类型,再决定是否复用吧。

如果我们仅从导航这件事来看,GIS的数据并非交易类数据,逻辑似乎并不复杂,不用考太复杂的事务机制,总体ACID要求较弱,而未来可以预见的房屋建筑、道路越来越多。且使用导航的行人、交通工具也会越来越多,这样无论是数据量还是并发量都会非常高,所以可扩展高性能成为一个非常重要的考虑因素。加之关系型数据库的开发和非关系型数据库的开发难度相差甚远,在实现上后者显然要简单的多。所以综合这些因素考虑,我认为我们如果要在最短的时间内完成这个GIS导航的目标,选择NOSQL非关系型数据库更合适。

老王:老柯,那我们是选择是新建城堡还是复用当前有的城堡呢?

老柯:如果复用,也就是时序和图两个城堡可以选择。时序城堡存储的是基于时间序列的数据,所有策略都围绕着有序存储、有序展示,同时数据策略是冷热分明,目前整个存储结构都围绕这个进行优化。而GIS数据是离散型的数据,与之差别很大,不合适啊。

再看图数据库城堡,是以节点(Node)和边(Edge)为核心构建的。节点代表实体,比如人或事物,边则代表节点之间的关系,这是专门为了寻找依赖关系而设定的数据库,这和GIS的应用场景不匹配啊。所以这两个城堡的复用也不太可能。

老王:有道理,这么说,我们岂不是还需要建第六座城堡了?


未完待续…

七座城堡⑥GIS(下)



公众号:收获不止数据库

微信:ljbyxl1213

系列回顾


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9091385/viewspace-3081353/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
历任中电福富研究院副理事长、中盾安信研究院副院长、宁德时代技术顾问等职务,受聘电信集团专家和国家十四五课题负责人,著有《收获,不止Oracle》《收获,不止SQL优化》等多本畅销数据库技术书籍。

注册时间:2024-02-06

  • 博文量
    162
  • 访问量
    198194