Spring Boot(MVC)下空间字段(Geometry)与geojson的自动转换

Spring Boot(MVC)下空间字段(Geometry)与geojson的自动转换,第1张

在上一篇文章 利用hibernate-spatial让Spring Data JPA支持空间数据 ,我们使用 hibernate spatial , spring data jpa 成功支持空间字段的映射与增删查改。但是我们目前面临的问题是客户端传过来的json数据如何转换为Geometry(Point、LineString),后台的Geometry如何直接转换为JSON。在GIS的世界里有一个标准的GIS JSON格式叫做 geojson 。在本文将使用 geojson 格式与Geometry对象互相转换。 这里我们的思路是Spring Boot为我们自动注册了 MappingJackson2HttpMessageConverter ,在 org.springframework.boot.autoconfigure.web.JacksonHttpMessageConvertersConfiguration 如:

据此看出Spring Boot是使用当前的Message Converter来实现对象(Geometry)和json之间转换的,我们只需要自定义objectMapper让其支持geojson即可。

添加第三方的依赖:

自定义object让其支持Geometry与geojson之间的准换:

这个第三方依赖目前有个bug就是不支持空间坐标系,在一个单一的系统里一般情况下坐标系应该也是一定的,所以不支持问题也不大,所以我们将前面例子的字段映射修改为,:

测试控制器:

测试数据,使用request body向后台 POST 如下结果:

返回值为:

这时我们实现了自动的Geometry和geojson数据的转换。

eclipse 下的Package Explorer 中点击右键------点击Import --- 选择General文件夹下的Existing projects into Workspace 点击NEXT,最后选择你项目所在的目录.

当然这是在有.project 工程文件情况下完成的.如果没有这个文件,你就需要在eclipse下建一个同名的项目,然后导入你所要的项目代码.

树状结构。

树状结构是一个或多个节点的有限集合。

树状结构有一个特定的点称为根节点(root),树状结构其余的节点分成n个独立的集合T1, …, Tn,每个集合也都是一个树状结构。T1, …, Tn为根节点的子树(subtree)。

视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。

但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

扩展资料

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。

视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因, 视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。

参考资料来源:百度百科-树状结构

参考资料来源:百度百科-视图


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/55042.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存