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

通过这么一个议题,我们来认识一下几个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

猜你喜欢

转载自blog.csdn.net/shishi521/article/details/122987257
今日推荐