parent
fe101f3cb0
commit
aa8304acaf
|
|
@ -13,13 +13,25 @@ class CustomGeoSpatialFilteringFilterBackend(GeoSpatialFilteringFilterBackend):
|
|||
|
||||
@staticmethod
|
||||
def calculate_center(first, second):
|
||||
if second[1] < first[1]:
|
||||
res_longtitude = first[1] + (first[1] - second[1]) / 2
|
||||
if second[1] < 0 < first[1]:
|
||||
reverse_first, reverse_second = 180 - abs(first[1]), 180 - abs(second[1])
|
||||
diff = (reverse_first + reverse_second) / 2
|
||||
|
||||
if reverse_first < reverse_second:
|
||||
result_part = -180 + (180 + second[1] - diff)
|
||||
|
||||
else:
|
||||
result_part = 180 - (180 - first[1] - diff)
|
||||
|
||||
elif second[1] < 0 > first[1] or second[1] > 0 < first[1]:
|
||||
reverse_first, reverse_second = 180 - abs(first[1]), 180 - abs(second[1])
|
||||
result_part = ((reverse_first + reverse_second) / 2) * (-1 + (second[1] < 0) * 2)
|
||||
|
||||
else:
|
||||
res_longtitude = first[1] + (second[1] - first[1]) / 2
|
||||
result_part = (first[1] + second[1]) / 2
|
||||
|
||||
# return (first[0] + second[0]) / 2, result_part
|
||||
return (first[0] + second[0]) / 2, res_longtitude
|
||||
return (first[0] + second[0]) / 2, (first[1] + second[1]) / 2
|
||||
|
||||
def filter_queryset(self, request, queryset, view):
|
||||
ret = super().filter_queryset(request, queryset, view)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user