获取线的中间点(postgis)

7 篇文章 0 订阅
4 篇文章 0 订阅

前言:QGIS没找到对应功能,只有 Mean Coordinate(s) ,但不能满足要求,最后找到了 PostGIS 的相关方法。

方法一:ST_LineInterpolatePoint

函数详情

select ST_ASText(ST_LineInterpolatePoint (ST_LineMerge(geom), 0.5)) from line

这样就能获取中间点了。
ST_LineMerge是将multLineString 转成 LineString,即多线格式转为单线。
这个函数前提条件:线几何图形要求必须是单线(多段时也是首尾相连),即存在多段断开的multLineString,那么就会报错

方法二:ST_ClosestPoint & ST_Centroid

select ST_ASText(ST_ClosestPoint(geom, ST_Centroid(geom))) from line

这个只能获取到近似中间点
原理是获取到中心点,再获取中心点离该线最近的那个点。线越是直的,那么越逼近中间点。这个不受多线的限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值