如何在PostgreSQL中的某个区域或平方公里内插入随机多边形

时间:2015-01-08 09:31:45

标签: postgresql postgis

如何在特定区域或平方公里内插入/创建任意随机点(比如孟买)

考虑区域是孟买,我想插入该区域内所有可能的随机点

我的想法是在Postgres中编写自定义函数,如存储过程

具体:我需要有一个固定的区域是孟买..在这个区域我想生成一些小的多边形,我担心的是我怎么能得到孟买的坐标,或者我如何使用边界坐标插入孟买?

1 个答案:

答案 0 :(得分:1)

创建一个名为“Location”的表,其中包含两个十进制列x和y。

使用random()插入记录以生成坐标,并指定x和y的最大值。

您可以在函数中执行此操作,但为什么不直接在SQL语句中执行此操作 - 您可以从命令行或pgAdmin执行它。

Stackoverflow回答如何使用随机:Generate a random number in the range 1 - 10

编辑 - 原始问题编辑后的多边形要求的其他信息

在Integer类型的“Location”中添加一个额外的列,将其命名为shape_id

对于每个shape_id,对于多边形的三个+点,将有三行或更多行。

在表格中插入位置时,您需要检查该shape_id的前一个条目,并确保它满足多边形的规则。