시작하기무료로 시작하기

각 지오메트리에 사용자 정의 연산 적용하기

이제 단일 포인트에 대해 가장 가까운 국립공원을 찾는 방법을 알았으니, 모든 포인트에 대해 실행해 보죠. 이를 위해 먼저 단일 포인트를 인수로 받아 원하는 결과를 반환하는 함수를 작성하겠습니다. 그런 다음 이 함수를 사용해 모든 포인트에 적용할 수 있어요.

채굴 지점(mining_sites)과 국립공원(national_parks) 데이터셋은 이미 불러와졌어요. 이전 연습에서 사용한 단일 채굴 지점은 single_mine으로 정의되어 있어요.

이 연습은 강의의 일부입니다

Python으로 지리공간 데이터 다루기

강의 보기

연습 안내

  • 이전 연습에서 수행한 분석을 실행하는 함수 closest_national_park()를 만드세요. 단일 포인트와 모든 국립공원을 받아, 가장 가까운 국립공원의 이름을 반환해야 해요.
  • 테스트로, 이 함수를 단일 포인트(single_mine)에 호출하고 결과를 출력하세요. 이전과 같은가요 ("Virunga National park")?
  • 이 함수를 mining_sites의 모든 포인트에 적용하고, 결과를 'closest_park'라는 열에 할당하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define a function that returns the closest national park
def closest_national_park(geom, national_parks):
    dist = ____
    idx = ____
    closest_park = ____
    return closest_park

# Call the function on single_mine
print(closest_national_park(____, ____))

# Apply the function to all mining sites
mining_sites['closest_park'] = mining_sites.geometry.____(____, ____=____)
print(mining_sites.head())
코드 편집 및 실행