Нанесение на карту районов Великобритании, почтовых индексов областей и регионов
Мне интересно, можем ли мы сделать такой же шрифт, как показано ниже, с картой UK District, Postcode Area и Region.
Было бы здорово, если бы вы могли показать пример для британских хороплетов.
Файлы геометрических фигур можно загрузить с http://martinjc.github.io/UK-GeoJSON/
state_geo = os.path.join('data', 'us-states.json')
state_unemployment = os.path.join('data', 'US_Unemployment_Oct2012.csv')
state_data = pd.read_csv(state_unemployment)
j1 = pd.read_json(state_geo)
from branca.utilities import split_six
threshold_scale = split_six(state_data['Unemployment'])
m = folium.Map(location=[48, -102], zoom_start=3)
m.choropleth(
geo_path=state_geo,
geo_str='choropleth',
data=state_data,
columns=['State', 'Unemployment'],
key_on='feature.id',
fill_color='YlGn',
fill_opacity=0.7,
line_opacity=0.2,
legend_name='Unemployment Rate (%)'
)
m
m.save('choropleth.html')
1 ответ
Решение
Это то, что я сделал.
Сначала соберите ваши данные. Я использовал www.nomisweb.co.uk для сбора показателей занятости для основных регионов:
- Северо-Восток (Англия)
- Северо-Запад (Англия)
- Йоркшир и Хамбер
- Ист-Мидлендс (Англия)
- Уэст-Мидлендс (Англия)
- Восток англии
- Лондон Юго-Восток (Англия)
- Юго-Запад (Англия)
- Уэльс Шотландия
- Северная Ирландия
Я сохранил этот набор данных как UKEmploymentData.csv. Обратите внимание, что вам придется изменить названия регионов, чтобы они соответствовали идентификаторам геоданных.
Затем я следил за тем, что вы опубликовали, используя данные NUTS с геопортала ONS.
import pandas as pd
import os
import json
# read in population data
df = pd.read_csv('UKEmploymentData.csv')
import folium
from branca.utilities import split_six
state_geo = 'http://geoportal1-ons.opendata.arcgis.com/datasets/01fd6b2d7600446d8af768005992f76a_4.geojson'
m = folium.Map(location=[55, 4], zoom_start=5)
m.choropleth(
geo_data=state_geo,
data=df,
columns=['region', 'Total in employment - aged 16 and over'],
key_on='feature.properties.nuts118nm',
fill_color='YlGn',
fill_opacity=0.7,
line_opacity=0.2,
legend_name='Employment Rate (%)',
highlight=True
)
m