В этом случае я создал несколько слоев, которые нужно наложить на карту, сгенерированную фолием в Python. Код состоит из кластеров kmeans, цен на жилье и маркеров, показывающих лучшие места в каждой точке кластера.
Определен город Остин, Tx по координатам широта / долгота 30.2711286, -97.7436995.
It кажется, что фолиум может ограничивать область, в которой я нуждаюсь, тепловая карта для моих цен на жилье области.
austin_data
, определенный в этом коде, относится к почтовым индексам областей, отмеченных на карте.
Определенный austin_geo
- это json, загруженный из https://geo.nyu.edu/ (переименованный после загрузки), который дает почтовые индексы для Соединенных Штатов и затем сосредоточен на области Остин, штат Техас.
Как выйти за пределы запрещенных зон, чтобы я мог отобразить полную тепловую карту данных о стоимости жилья?
Код:
!wget --quiet https://raw.githubusercontent.com/jeff-mos-def/DataFiles/master/austin_geo.json
print('GeoJSON file downloaded!')
austin_geo = r'austin_geo.json'
latitude = 30.2711286
longitude = -97.7436995
austin_map = folium.Map(location=[latitude, longitude], zoom_start=10)
austin_map.choropleth(
geo_data=austin_geo,
data=austin_data,
columns=['Neighborhood','HousingCost'],
key_on='feature.properties.name_2',
fill_color='YlOrRd',
fill_opacity=0.7,
line_opacity=0.2,
legend_name='Median Home Prices in Austin, Tx',
highlight=True
)
markers_colors = []
for lat, lon, poi, cluster, join, cluster_number, label in zip(result['Lat'], result['Long'], result['Neighborhood'], result['Labels'], result['Join'], result['Cluster Labels'], result['Level_labels']):
label = folium.Popup(str(poi) + " / " + str(cluster) + "-" + str(label) + " / " + str(join), parse_html=True)
folium.CircleMarker(
[lat, lon],
radius=7,
popup=label,
color= rainbow[cluster_number-1],
fill=True,
fill_color= rainbow[cluster_number-1],
fill_opacity=1).add_to(austin_map)
austin_map
Карта Остина с почтовым индексом ограничена (выделено желтым цветом)