Spaces:
Runtime error
Runtime error
File size: 1,955 Bytes
b807d87 bdbfec0 c6aa119 fadc8f0 1883e68 fadc8f0 c6aa119 881a55d c6aa119 881a55d 4b29661 c6aa119 fadc8f0 881a55d fadc8f0 c6aa119 895d632 4b29661 6983fe3 20a1f15 6983fe3 20a1f15 6983fe3 fadc8f0 b807d87 6983fe3 bcc1e2c 6983fe3 fadc8f0 895d632 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
import streamlit as st
import pandas as pd
import requests
import folium
from streamlit_folium import folium_static
def get_data():
url = "https://opendata.bordeaux-metropole.fr/api/records/1.0/search/?dataset=met_etablissement_rse&q=&rows=100"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
records = data.get("records", [])
return [record["fields"] for record in records], data.get("nhits", 0)
else:
return [], 0
def display_organisations_engagees():
st.markdown("## OPEN DATA RSE")
st.markdown("### Découvrez les organisations engagées RSE de la métropole de Bordeaux")
data, _ = get_data()
if data:
df = pd.DataFrame(data)
df = df.rename(columns={
"nom_courant_denomination": "Nom",
"commune": "Commune",
"libelle_section_naf": "Section NAF",
"tranche_effectif_entreprise": "Effectif",
"action_rse": "Action RSE"
})
df = df[["Nom", "Commune", "Section NAF", "Effectif", "Action RSE"]]
st.dataframe(df, width=None, height=None)
def display_map(data):
m = folium.Map(location=[44.837789, -0.57918], zoom_start=12)
for item in data:
lat_lon = item.get('point_geo', None)
if lat_lon:
folium.Marker(
[lat_lon['lat'], lat_lon['lon']],
icon=folium.Icon(color="green", icon="leaf"),
popup=item.get('Nom', 'Sans nom'),
).add_to(m)
folium_static(m)
def main():
st.sidebar.title("Navigation")
app_mode = st.sidebar.radio("Choisissez l'onglet", ["Organisations engagées", "Localisation des Entreprises"])
if app_mode == "Organisations engagées":
display_organisations_engagees()
elif app_mode == "Localisation des Entreprises":
data, _ = get_data()
display_map(data)
if __name__ == "__main__":
main()
|