Spaces:
Sleeping
Sleeping
:speak_no_evil:
Browse files
app.py
CHANGED
@@ -36,6 +36,7 @@ config = {
|
|
36 |
"vertical": 0.1,
|
37 |
"rank_index": 2,
|
38 |
"taxa": "Aves",
|
|
|
39 |
},
|
40 |
"All": {
|
41 |
"names": ["All"],
|
@@ -44,6 +45,7 @@ config = {
|
|
44 |
"vertical": 1.0,
|
45 |
"rank_index": 2,
|
46 |
"taxa": "Aves",
|
|
|
47 |
}
|
48 |
}
|
49 |
|
@@ -60,10 +62,14 @@ with st.form("my_form"):
|
|
60 |
with col3:
|
61 |
st.markdown("#### 🐦 Select taxonomic groups")
|
62 |
## add support for multiple taxa!
|
63 |
-
rank = st.selectbox("Taxonomic Rank",
|
|
|
|
|
64 |
taxa = st.text_input("taxa", default["taxa"])
|
65 |
if nunique:
|
66 |
-
distinct_taxa = st.selectbox("Count only unique occurrences by:",
|
|
|
|
|
67 |
|
68 |
with col4:
|
69 |
st.markdown('''
|
@@ -122,10 +128,14 @@ def bar_chart(gdf_name, rank, taxa, zoom, distinct_taxa = ""):
|
|
122 |
|
123 |
if gdf_name != "All":
|
124 |
sel = sel.filter(_.city == gdf_name)
|
125 |
-
|
126 |
-
sel = (
|
127 |
-
|
128 |
-
|
|
|
|
|
|
|
|
|
129 |
.mutate(density = _.n /_.area)
|
130 |
.group_by(_.grade)
|
131 |
.agg(mean = _.density.mean(),sd = _.density.std())
|
|
|
36 |
"vertical": 0.1,
|
37 |
"rank_index": 2,
|
38 |
"taxa": "Aves",
|
39 |
+
"unique_rank_index": 6,
|
40 |
},
|
41 |
"All": {
|
42 |
"names": ["All"],
|
|
|
45 |
"vertical": 1.0,
|
46 |
"rank_index": 2,
|
47 |
"taxa": "Aves",
|
48 |
+
"unique_rank_index": 6,
|
49 |
}
|
50 |
}
|
51 |
|
|
|
62 |
with col3:
|
63 |
st.markdown("#### 🐦 Select taxonomic groups")
|
64 |
## add support for multiple taxa!
|
65 |
+
rank = st.selectbox("Taxonomic Rank",
|
66 |
+
options=taxonomic_ranks,
|
67 |
+
index = default["rank_index"])
|
68 |
taxa = st.text_input("taxa", default["taxa"])
|
69 |
if nunique:
|
70 |
+
distinct_taxa = st.selectbox("Count only unique occurrences by:",
|
71 |
+
options=taxonomic_ranks,
|
72 |
+
index = default["unique_rank_index"])
|
73 |
|
74 |
with col4:
|
75 |
st.markdown('''
|
|
|
128 |
|
129 |
if gdf_name != "All":
|
130 |
sel = sel.filter(_.city == gdf_name)
|
131 |
+
|
132 |
+
sel = sel.group_by(_.city, _.grade)
|
133 |
+
|
134 |
+
if distinct_taxa != "": # count n unique taxa
|
135 |
+
sel = sel.agg(n = _[distinct_taxa].nunique(), area = _.area.sum())
|
136 |
+
else:
|
137 |
+
sel = sel.agg(n = _.count(), area = _.area.sum())
|
138 |
+
sel = (sel.
|
139 |
.mutate(density = _.n /_.area)
|
140 |
.group_by(_.grade)
|
141 |
.agg(mean = _.density.mean(),sd = _.density.std())
|