如何在特定区域或平方公里内插入/创建任意随机点(比如孟买)
考虑区域是孟买,我想插入该区域内所有可能的随机点
我的想法是在Postgres中编写自定义函数,如存储过程
具体:我需要有一个固定的区域是孟买..在这个区域我想生成一些小的多边形,我担心的是我怎么能得到孟买的坐标,或者我如何使用边界坐标插入孟买?
答案 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的前一个条目,并确保它满足多边形的规则。