postgis函数geometry去重

postgis中多边形相交去重:

create or replace function difference(geom1 geometry , geom2 geometry ) returns geometry as
$$
declare

begin
	if st_intersects(geom1 , geom2) then
		return st_difference(geom1 , geom2);
	else
		return geom1 ;
	end if;


end;
$$
language plpgsql ;

该函数判断第二个参数和第一个参数是否有重合,有重合的话以第一个参数为模板去掉重合部分,没有重合则返回第一个参数。

 

postgis,根据两个经纬度返回矩形:

create or replace function points_to_polygon(lon1 numeric , lat1 numeric , lon2 numeric , lat2 numeric ) returns geometry as
$$

	select  st_geomfromtext('POLYGON((' || lon1  || ' ' || lat1
		|| ',' || lon2  || ' ' || lat1
		|| ',' || lon2  || ' ' || lat2
		|| ',' || lon1  || ' ' || lat2
		|| ',' || lon1  || ' ' || lat1  || '))' , 4326);

$$
language sql immutable ;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值