Застосування користувацької операції до кожної геометрії
Тепер, коли ми вміємо знаходити найближчий національний парк для однієї точки, зробімо це для всіх точок. Спершу ми напишемо функцію, яка приймає одну точку як аргумент і повертає потрібний результат. Потім застосуємо цю функцію до всіх точок.
Набори даних із місцями видобутку (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())