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

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PostGIS是一个开源的地理信息系统(GIS)扩展,可与PostgreSQL数据库一起使用。PostGIS教程提供了使用PostGIS进行地理数据存储,查询和分析的指导。 首先,PostGIS使用需要在PostgreSQL数据库中安装和启用PostGIS扩展。安装完毕后,可以创建一个新的空间数据库或将PostGIS添加到现有数据库中。 接下来,学习如何在PostGIS中导入和管理地理数据。可以使用常见的地理信息文件格式(如Shapefile)或使用其他GIS软件生成的数据进行导入。导入后,可以使用SQL命令查询和分析地理数据。 PostGIS支持多种地理数据类型,如点(Point),线(LineString)和面(Polygon)。可以使用这些数据类型创建空间表,然后将地理数据插入到这些表中。还可以在表中创建索引来提高查询性能,并使用规则和触发器来实现数据完整性和一致性。 除了基本的地理数据管理外,PostGIS还提供了强大的地理分析功能。例如,可以使用PostGIS函数计算两个地理对象之间的距离,或者使用缓冲区操作创建一个围绕地理对象的缓冲区区域。还可以执行空间联接操作,通过对两个地理对象进行交集、并集或差集操作来分析它们之间的空间关系。 此外,PostGIS还支持地理数据的可视化。可以使用GIS软件(如QGIS)或Web地图库(如Leaflet)来加载和显示PostGIS中的地理数据。还可以利用GeoJSON格式将地理数据导出到其他GIS工具中进行处理和分析。 总的来说,PostGIS教程是学习使用PostGIS进行地理数据存储、查询和分析的指南。通过掌握PostGIS的基本概念和操作,可以更好地利用PostgreSQL数据库构建和管理地理信息系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值