在给定地理点的 50 英尺范围内随机创建一个地理点(空间 SQL)
Posted
技术标签:
【中文标题】在给定地理点的 50 英尺范围内随机创建一个地理点(空间 SQL)【英文标题】:Randomly create a Geopoint within 50 feet of a given Geopoint (Spatial SQL) 【发布时间】:2010-11-19 20:32:02 【问题描述】:我想在给定 GeoPoint 的 50 英尺范围内创建一个随机 GeoPoint。 (使用 SQL Server 2008 或 iPhone SDK)
我可以在经纬度上添加一些数字来创建这个随机地理点吗?
例子:
mylatdistance = Random(1,50) newlat = lat + mylatdistance
或
这是空间 SQL/区域问题吗?
谢谢
【问题讨论】:
你想要什么发行版?均匀地放置在半径 50 英尺的圆圈内的任何位置? 只是一个想法;在 iphone 上,您可以使用获取两点之间距离的倒数功能来获取距离 X 距离的位置吗? 标记 - +-50 英尺半径内的任何单点。 【参考方案1】:只要您将 delta_longitude 值缩放 1/cos(latitude) 的系数,该方法应该有效,因为 1 度纬度仅等于赤道处的 1 度经度。如果您不进行此缩放,当您的中心点远离赤道时,您的随机点集合将在经度维度上变得更加“挤压”。
【讨论】:
我明白了。谢谢吉姆。所以我可以把它当作一个更简单的数学问题——如果我缩放经度来补偿曲率。 Gr8 建议。谢谢以上是关于在给定地理点的 50 英尺范围内随机创建一个地理点(空间 SQL)的主要内容,如果未能解决你的问题,请参考以下文章