gpt4 book ai didi

python - 从二维坐标识别区域的最快方法

转载 作者:太空宇宙 更新时间:2023-11-04 10:37:54 28 4
gpt4 key购买 nike

我有以下代码:

def findRegion(lat,lon):
'''Gets a lat between -90,90 and a lon between -180,180 and returns a character'''
if lat >= 50:
y='ABCD'
elif lat >= 0:
y='EFGH'
elif lat <= -50:
y='MNOP'
else:
y='IJKL'

if lon <= -90:
x='AEIM'
elif lon <= 0:
x='BFJN'
elif lon <= 90:
x='CGKO'
else:
x='DHLP'

for c in y:
if c in x:
return c

此函数获取两个坐标并返回显示的 16 个扇区代码之一 here .该代码运行完美,但它会被调用很多次,所以我正在寻找最快的解决方案。非常感谢任何建议。

最佳答案

这应该可以通过使用 x 和 y 来查找一维字符串中的区域来加快该过程。由于使用了 clamp,实际上可能会更慢。

clamp = lambda n, minimum, maximum: max(min(maximum, n), minimum)

def a(lat, lon):
## get lat, lon sections
sec_lat = clamp((lat+90)/45,0,3)
sec_lon = clamp((lon+180)/90,0,3)

## convert two values into a 1 dimensional list value
sec = sec_lat*4 + sec_lon

return "MNOPIJKLEFGHABCD"[sec]

关于python - 从二维坐标识别区域的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22459168/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com