postgis求面积、交集等相关函数

postgis 是pg的一个插件,提供空间函数等的功能

供参考:

ST_Intersects:求点与区域的交集、区域与区域的交集

ST_Area:求边框围成的多边形的面积(收尾要闭合)

4325 、 4527 两个是固定的,可以将经纬度的多边形转成实际的面积,对应资料参考  https://www.jianshu.com/p/be5049ad8884

 SELECT
    ST_Intersects (
        ST_Transform (
            st_geometryfromtext (
                --'POLYGON(('+ select "WGS84" from v_a_adhoc_cfg_cell_antenna limit 1 +'))',
                'POLYGON((116.4679312706 39.9482801227,116.4677961543 39.9486461337,116.4680989087 39.9486998528,116.4682182670 39.9483181633,116.4679312706 39.9482801227))',
                4326
            ),
            4527
        ),
        ST_Transform (
            st_geometryfromtext (
                'POINT(116.4680989087 39.9486998528)',
                4326
            ),
            4527
        )
    );

实际应用:

CREATE TABLE area_and_food AS 
SELECT
	ST_Area (
		ST_AsText (
			ST_Intersection (
				ST_Transform (
					st_geometryfromtext (
						'POLYGON((' || A ."WGS84" || '))',
						4326
					),
					4527
				),
				ST_Transform (
					st_geometryfromtext (
						'POLYGON((' || b."WGS84" || '))',
						4326
					),
					4527
				)
			)
		)
	),
	A ."cgi"
FROM
	area_relation_scenes A,
	(
		SELECT
			"WGS84"
		FROM
			food_table
	) b

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值