我正在测试位置边界框,但是当将负(南或西)位置与其他负位置进行比较时,它会将结果颠倒过来。
if minlat > maxlat:
minlat, maxlat = swap(minlat, maxlat)
if minlon > maxlon:
minlon, maxlon = swap(minlon, maxlon)
在比较北半球的纬度或南半球和北半球的位置时,这种方法很好,但是当比较南半球的位置时,它会转动它们(即,-20.4小于-20.8)。有没有一个简单的解决方案,或者如果两个值都小于0,我必须进行不同的测试吗?
答案 0 :(得分:1)
if float(minlat) > float(maxlat):
确保比较的数字实际上是数字而不是字符串对象。使用小于或大于比较字符串对象会产生奇怪的结果。
答案 1 :(得分:0)
通常你会想要比较绝对值而不是这个场景中的实际值,试试
if abs(minlat) > abs(maxlat):
祝你好运!