我在Python(3)中这样做,但这可能是一个更普遍的问题。
基本上我想要实现的是获取周围邮政编码的列表,在某个邮政编码旁边,范围是动态的。所以在20英里范围内的邮政编码90210周围有什么邮政编码。我需要查询SQL DB以获取结果。
所以我需要计算2个lat,lang点,它们会创建一个矩形搜索区域(是的,它不完全准确,因为它不是圆形的,但这不是什么大问题),所以像这样:
P1 (lat, long) -------------------------+
| |
| |
| |
| Original (lat, long) |
| |
| |
| |
-------------------------- P2 (lat, long)
"radius" given = 30 miles
所以我们所有的输入都是lat,long,radius,需要计算P1和P2。由于我的数学很好,在高中时,我会喜欢这方面的帮助。还需要考虑这是在Miles中,无论Lat的公式如何,Long都是Miles(不是KM)
答案 0 :(得分:1)
在Google地球上进行一些研究并在整个美国标记点(我假设美国,因为你参考邮政编码)我可以估计平均1°纬度相当于68.97英里或70英里和1°经度相当于55.77英里或56英里。
因此,对于30平方英里(注意:不是半径),您需要搜索+/- 0.43°或26'纬度和+/- 0.54°或32'经度。
所以要完成你的答案:
P1 = Origin + 0°26'N, Origin + 0°32'W
P2 = Origin - 0°26'N, Origin - 0°32'W
请注意这些是近似值,但应在美国各地给出令人满意的结果。