python-ox/ox/location.py

29 lines
777 B
Python
Raw Permalink Normal View History

2010-11-23 09:50:40 +00:00
# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4
import math
def center(lat_sw, lng_sw, lat_ne=None, lng_ne=None):
if not lat_ne and not lng_ne:
return min(lat_sw, lng_sw) + abs(lat_sw-lng_sw)/2
else:
return (center(lat_sw,lng_sw), center(lat_ne, lng_ne))
def area(lat_sw, lng_sw, lat_ne, lng_ne):
return (lat_ne - lat_sw) * (lng_ne - lng_sw)
def latlngspan2latlng(lat, lng, latSpan, lngSpan):
return dict(
lat_sw = lat - latSpan, lng_sw = lng - lngSpan,
lat_ne = lat + latSpan, lng_ne = lng + latSpan
)
def parse_location_string(location_string):
2010-11-23 09:50:40 +00:00
l = location_string.split('+')
if len(l) == 1:
l = location_string.split(';')
l = [i.strip() for i in l]
l = filter(lambda x: x, l)
return l