postgis空间数据的转化

在postgis数据库中通常是以二进制wkb的方式进行存储的,但我们在实际使用的时候需要转换成geojson的格式,进行位置信息的描述,虽然在sql语句中有相关的函数,但sql语句毕竟不是太便利,所以想一种方式进行直接的装换.

从网上找了一下教程,找到一些使用mybaits进行空间数据的装换,https://www.jianshu.com/p/e27e28996ad1,但是我用的时候不起作用,可能在某些地方的设置不对.

所以后来就在类对象的set方法中进行修改,通过对set方法进行重新定义,将wkb装换成geometry,然后赋值给该属性

需要在maven中加入的模块

        <dependency>
            <groupId>net.postgis</groupId>
            <artifactId>postgis-jdbc</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.vividsolutions</groupId>
            <artifactId>jts</artifactId>
            <version>1.13</version>
        </dependency>

重新定义的set方法

    private String  geom;

    public void setGeom(String geom) throws Exception {
//        MyGeometryTypeHandler handler = new MyGeometryTypeHandler();
        byte[] bytes =  WKBReader.hexToBytes(geom);
        WKBReader wkbReader = new WKBReader();
        Geometry geometry =  wkbReader.read(bytes);
        this.geom = geometry.toString();
    }

 参考文档:

https://blog.csdn.net/tanju_997/article/details/102524835

https://www.cnblogs.com/zuiyirenjian/p/3410141.html

原文地址:https://www.cnblogs.com/1gaoyu/p/15793682.html