我可以做一个简单的计算,它会将km转换为一个值,我可以将其添加到lat或lon浮点数来计算搜索的边界框吗?它不需要完全准确.
例如:如果给我伦敦,英格兰的纬度/经度(51.5001524,-0.1262362),我想计算那个纬度从那个点开始向西/向西25公里的东西,以及从那个南北25公里的lon点,我需要做什么才能将25km转换成小数加上上面的值?
我正在寻找一般的经验法则,即:1km == +/- 0.XXX
编辑:
我对"lat lon"的原始搜索未返回此结果:
接受的答案似乎足以满足我的要求.
给定一个坐标(lat,long),我试图计算一个与坐标相距给定距离(例如50km)的方形边界框.所以作为输入我有lat,long和distance,作为输出,我想要两个坐标; 一个是西南(左下角),另一个是东北(右上角).我在这里看到了几个试图用Python解决这个问题的答案,但我特别想找一个Java实现.
为了清楚起见,我打算仅在地球上使用该算法,因此我不需要容纳可变半径.
它不一定非常准确(+/- 20%很好),它只能用于计算小距离(不超过150公里)的边界框.所以我很高兴为一个有效的算法牺牲一些准确性.任何帮助深表感谢.
编辑:我应该更清楚,我真的是在一个正方形,而不是一个圆圈.我知道正方形的中心和沿着正方形周长的各个点之间的距离不是像圆圈一样的恒定值.我猜我的意思是一个正方形,如果你从中心画一条直线到周长上的四个点中的任何一个点,导致一条线垂直于周边的边,那么这4条线的长度相同.
math trigonometry geospatial bounding-box latitude-longitude
我有以下型号:
class Vacancy(models.Model):
lat = models.FloatField('Latitude', blank=True)
lng = models.FloatField('Longitude', blank=True)
Run Code Online (Sandbox Code Playgroud)
我应该如何进行查询以按距离排序(距离是无穷大)?
如果需要,可以使用PosgreSQL,GeoDjango.
谢谢.
我刚买了一台谷歌Nexus One智能手机,我想写一个小型的Android应用程序,以获得乐趣.假设我可以获得当前的GPS坐标,那么我如何能够以编程方式在某个半径范围内找到附近的地标或兴趣点?是否有API可以获取GPS地理标记的地标,例如Google地球的数据库?
例如,如果我在芝加哥市中心,我的计划将指向我在该城市访问的所有"旅游"事物.
理想情况下,它会在我的智能手机上运行,但如有必要,我可以让智能手机查询网络服务器,然后运行更多查询.
给定纬度和经度以及距离,我想找到一个距离小于给定距离的边界框.
这里提出了这个问题:如何计算给定lat/lng位置的边界框?
我不希望这部分准确,所以我修改并简化了它
def boundingBox(latitudeInDegrees, longitudeInDegrees, halfSideInKm):
lat = math.radians(latitudeInDegrees)
lon = math.radians(longitudeInDegrees)
halfSide = 1000*halfSideInKm
RADIUS_OF_EARTH = 6371
# Radius of the parallel at given latitude
pradius = radius*math.cos(lat)
latMin = lat - halfSide/radius
latMax = lat + halfSide/radius
lonMin = lon - halfSide/pradius
lonMax = lon + halfSide/pradius
rad2deg = math.degrees
return (rad2deg(latMin), rad2deg(lonMin), rad2deg(latMax), rad2deg(lonMax))
Run Code Online (Sandbox Code Playgroud)
但是我无法理解这是如何工作的,特别是这条线对我来说毫无意义 halfSide = 1000*halfSideInKm
我只想找到一个简单的C#类,它接收起始纬度和经度以及距离并找到边界框(max lat,min lat,max lon,min lon).在这里还有其他类似的问题,但是没有一个真正回答这个问题,那些问题不在C#中.
救命.
我有一个大约 300.000 个向量的数据集,使用纬度和经度随机放置在地球周围。\n假设我位于 51.9167\xc2\xb0 N, 4.5000\xc2\xb0 E,我如何在一个向量中找到我周围的所有向量例如,半径是 100 公里?\n最好是简单的数学。Java 和伪代码也很好。
\nbounding-box ×2
geocoding ×2
geolocation ×2
math ×2
python ×2
algorithm ×1
android ×1
c# ×1
django ×1
geodjango ×1
geometry ×1
geospatial ×1
google-maps ×1
gps ×1
java ×1
trigonometry ×1