def lat_lon_split()

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