欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

postgis函数geometry去重 博客分类: GIS  

程序员文章站 2024-02-25 08:28:28
...

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 ;