postgis函数的学习和应用

1、st_geomfromtext  st_astext

st_geomfromtext : 将wkt数据转换成geometry空间数据

st_geomfromtext('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15,
19.15 33.94, 10.02 20.01))', 4326)// (wkt, 坐标系)

st_astext: 将数据库中的空间数据转换成wkt数据,常用于空间数据的提取

select st_astext(geom) from tableName

2、st_asmvt  st_asmvtgeom

st_asmvtgeom:函数将几何图形坐标转换成MapBox VectorTile坐标空间里的几何图形

st_asmvt:函数将基于MapBox VectorTile坐标空间的几何图形转换为MVT二进制矢量切片

二个函数通常搭配使用,可以在Java后台实现动态矢量切片

以下示例实现动态矢量切片,以及后端接口如何返回空间数据属性

前端用maptalks加载

var vt = new VectorTileLayer("id", {
   urlTemplate: "http://xxx/tiles/{z}/{x}/{y}?tableId="+ tableId,
   spatialReference: "preset-vt-3857",
   features: true,// identify点击返回features
   schema: true,// identify点击返回属性
   pickingGeometry: true,// identify点击返回Geometry
   style
});

const sceneConfig = {
   postProcess: {
     enable: true,
     antialias: {
       enable: true,
     }
   }
}
groupLayer = new GroupGLLayer(data.id, [vt], {
   sceneConfig,
   symbol: {
     polygonFill: '#f00',
     polygonOpacity: 0.5
  }
});

3、st_extent

st_extent: 获取空间数据的外包矩形

SELECT st_astext (ST_Extent (list.the_geom))
FROM tableName list // the_geom空间字段
// 返回'POLYGON(())'

4、st_buffer

st_buffer:对空间数据进行缓冲区分析,st_buffer(geom,distance)

select st_adtext(st_buffer(list.the_geom,100)) from tableName list
// list.the_geom 空间数据 'POINT(132.5346,32.456)'

你可能感兴趣的:(TANG的,JAVA,postgresql,java)