如何用PostGIS 生成500w随机点?

本文深入探讨了PostGIS中的三个高级函数:ST_Dump用于分解几何图形,特别是处理集合类型的几何对象;ST_GeneratePoints能够在指定几何区域内生成伪随机点;而ST_MakeBox2D则用于创建二维矩形框。示例代码展示了如何结合使用这些函数来生成大量随机点并设置坐标系。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

通过这么一个议题,我们来认识一下几个Post GIS的高级函数

 

ST_Dump:

这是一个集合返回函数(SRF)。它返回一组geometry_dump行,由一个geometry(geom)和一个整数数组(path)组成。当输入几何体是简单类型(点、线串、多边形)时,将返回一条记录,其中包含一个空路径数组,并将输入几何体作为geom。当输入几何体是一个集合或多个集合时,它将返回每个集合组件的记录,路径将表示组件在集合中的位置。

st_Dump可用于扩展几何图形。它与groupby相反,因为它创建新行。例如,它可以用于将多多边形展开为多边形。

官网样例如下:

ST_Dump

ST_GeneratePoints

在输入区域内生成给定数量的伪随机点。geometry ST_GeneratePoints( g geometry , npoints integer );

ST_MakeBox2D

生成一个方框

ST_SetSRID

给几何图形设置坐标系

select(
        ST_Dump (
            ST_GeneratePoints (k1.geom, 5000000)
        )).geom AS geom,md5((random()*random())::text) as id,random()*5000000 as val
       into public.random500wpoint
       FROM
            (
                SELECT
                    ST_SetSRID (
                        ST_MakeBox2D (
                            ST_Point (70, 0.0),
                            ST_Point (140, 55.0)
                        ),
                        4490
                    )  geom
            ) k1

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值