for d in range(len(D1)):
polygon = str(D1['geometry'][d])
# POLYGON 좌표 문자열에서 좌표 부분만 추출
coordinates = polygon.replace("POLYGON", "").replace(")", "").replace("(", "").split(", ")
# 경도와 위도를 각각 분리하여 리스트에 저장
longitudes = []
latitudes = []
for coord in coordinates:
lon, lat = map(float, coord.split()) # 각 좌표를 float으로 변환
longitudes.append(lon)
latitudes.append(lat)
# 평균 계산
average_longitude = sum(longitudes) / len(longitudes)
average_latitude = sum(latitudes) / len(latitudes)
address = geocoding_reverse(f'{average_latitude}, {average_longitude}')
match = re.search(r'\b([가-힣]{1,3}구)\b', str(address))
if match:
gu = match.group(1)
print(f"{d} : {D1['AREA_NM'][d]}({gu})")
if gu in district.keys():
district[gu].append(D1['AREA_NM'][d])
else:
district["기타"].append(D1['AREA_NM'][d])
else:
print(f"{D1['AREA_NM'][d]} : 구가 포함된 부분을 찾지 못했습니다. | 주소 : {address}")
출력 결과
서울대공원은 "~구"가 존재하지 않으므로 저장되지 않음 + 서울에 존재하지 않음
...
90 : 남산공원(중구)
91 : 노들섬(용산구)
92 : 뚝섬한강공원(광진구)
93 : 망원한강공원(마포구)
94 : 반포한강공원(서초구)
95 : 북서울꿈의숲(강북구)
96 : 불광천(은평구)
97 : 서리풀공원·몽마르뜨공원(서초구)
98 : 서울광장(중구)
서울대공원 : 구가 포함된 부분을 찾지 못했습니다. | 주소 : 동물원둘레길, 막계동, 과천시, 경기도, 13829, 대한민국
100 : 서울숲공원(성동구)
101 : 아차산(광진구)
102 : 양화한강공원(영등포구)
103 : 어린이대공원(광진구)
104 : 여의도한강공원(영등포구)
...