使用Spring和Postgis存储和查询地理空间数据的最有效方法

时间:2016-06-08 12:45:11

标签: java postgresql postgis geojson topojson

我目前正在以地图的形式处理应用程序,该地图显示某个国家/地区的服务的覆盖级别。 Level3 =覆盖率很高,Level2 =覆盖率良好,Level1 =覆盖率低。 我以geojson文件的形式获取描述多边形和多边形坐标的数据,我目前使用ogr2​​ogr.java工具在Postgres中导入它们。 当前端应用程序为后端API(弹簧控制器)上的基本点提供纬度和经度参数请求时,我想查询数据库以获得与前端发送的坐标参数确定的区域相对应的覆盖水平,并以最有效的方式返回格式为geojson或topojson的结果。

目前,对于我的数据,geojson每个请求甚至需要4 MB和6/7秒,所以我认为topojson将是更好的解决方案。

我找到了3种从postgis dabatase查询返回topojson的方法:

  • 将数据库中的几何转换为topogeometries,然后转换为
    topojson只使用postgis函数和java。但这需要很多 时间。

  • 使用postgis函数和java将查询结果转换为geojson,然后使用node.js库将geojson转换为topojson但是这个 由于java代码必须调用
    ,因此解决方案看起来并不优雅和简单 javascript / node.js代码并获得结果

  • 使用java将查询结果转换为shape文件,然后使用ogr2​​ogr.java转换为topojson,但我希望能够存储形状 直接在postgres数据库或内存中获取文件并获取topojson

所以目前我专注于使用shapefile和使用topojson的最后一个解决方案但是我还没有找到一个解决方案来将形状文件直接存储在postgres数据库或内存中,只是在磁盘上。

如果您对这个或其他有效的解决方案有所了解,请告诉我。

由于

0 个答案:

没有答案