in src/geo_map/standardization_lat_lon_info.py [0:0]
def lat_lon_split(s):
if is_none(s):
return None, None
if "* " in s or "&#176" in s:
s = s.replace("' ", "'")
s = s.replace("degrees", "度").replace("* ", "度").replace("° ", "度")
s = s.upper().strip()
if "N" not in s and "S" not in s and "E" not in s and "W" not in s:
strs = re.split("[ /]", s)
strs = [v.strip() for v in strs if not is_none(v.strip())]
if len(strs) != 2:
print(s)
lat, lon = transform(strs[0]), transform(strs[1])
if is_none(lat) or is_none(lon):
print(s, lat, lon)
assert 1 == 0
else:
new_s = re.search(lat_lon_p, s)
if new_s:
# print("re:", s, new_s)
s = new_s.group()
lat = None
lon = None
cur = ""
for ch in s:
if ch == "N":
lat = transform(cur)
cur = ""
elif ch == "S":
lat = -transform(cur)
cur = ""
elif ch == "E":
lon = transform(cur)
cur = ""
elif ch == "W":
lon = -transform(cur)
cur = ""
else:
cur += ch
if is_none(lon) and cur:
lon = transform(cur)
# print(s,":", lat,":", lon)
return lat, lon