inbo / bird-tracking Goto Github PK
View Code? Open in Web Editor NEW๐ฐ๐ฆ Bird tracking - GPS tracking network for large birds
License: MIT License
๐ฐ๐ฆ Bird tracking - GPS tracking network for large birds
License: MIT License
When you browse to the bird tracking explorer en scroll down, the text "Research Institute Nature and Forest" appears above the map instead of in the header bar.
Use bird_tracking_devices to populate the dropdown select-bird
#39 (comment) with all bird names. They should be grouped per species in <optgroup>
s and sorted alphabetically.
Larus fuscus
- Eric
- Michelle
- Misja
This query can be used to get distance_from_nest
data. The select clause can be extended or limited:
SELECT cartodb_id, date_time, day_of_year, ST_Distance_Sphere(the_geom, ST_GeomFromText('POINT(3.182863 51.3407476)', 4326)) as distance_from_nest_in_meters FROM tracking_eric ORDER BY date_time
Example for 10 records:
Add sql?format=json&
for different formats.
Add functionality to year-chart
so that user can select a day.
Add metadata on the metric selected in select-metric
in metric-metadata
.
Inspecting the calendar heatmap svg shows that cal-heatmap draws 12 months. The number of months displayed depends on the browser settings.
Limiting this number to 6 should improve performance.
Currently, the legend on the calendar chart is fixed: it always uses the same colour for the same distance. This doesn't however highlight differences for an individual.
It would be best if this scale is calculated based on the data.
Cf. fish tracking network.
The default calendar chart should show the last 5 months with data.
Selecting a metric in select-metric
loads data for that metric.
active
class to indicate current metricAdd a line chart to day-chart
, showing the data for the selected bird and day.
When the html file loads both the nvd3 css and the cal-heatmap css, the first one causes the div
element of the cal-heatmap visualisation to expand.
Use bird_tracking_devices to populate the bird-metadata
#39 (comment) with info on the selected bird.
Species: Larus fuscus | Sex: female
Show the timeframe selected in year-chart
in selected-time
. The time should be displayed in a nice readable way, e.g. Tuesday April 1, 2013
.
April 2013 to March 2013
April 2013
Tuesday, April 1 2013
For a less confusing UX, the date selection should be cleared if a user navigates in the calendar.
In the raw line chart, days (and preferably also weeks) should be visible.
Possible solutions:
It would be cool if people could leave comments via Disqus. It is yet another JS library though. :-) The best solution is maybe to reference the blog post.
When clicking the arrows, new domains are created. These month labels have no onClick
event set so this has to be done.
Load a calendar heatmap in year-chart
with data on the selected bird. The calendar is similar to a Github calendar and should/could show the distance from catch location, as that gives an indication if the bird is breeding or migrating.
If all data are pre-loaded, we could maybe set the time frame reload lower than 2 seconds.
Add a calendar heat map in month-chart
, showing the data for the selected bird and timeframe.
On load the calendar chart seems to display hours, before collapsing and showing months. Do you know why the hours are loaded first? Is this something we can prevent?
Add functionality to year-chart
so that user can select a month.
I think the bird selection can reload the page, and add a query parameter ?bird_name=Eric
. That way, you can reference a specific bird.
This would require a submit button, which I don't think is a problem.
The three_gulls
table currently powers 6 visualizations: 5 for this blog post and 1 shared on Twitter. To avoid confusion, I think these visualizations should be powered with the bird_tracking
table and we should remove three_gulls
. That way, users can either use the big table (bird_tracking
) or a small test table (tracking_eric
, which is already used more widely).
Things to do:
Visualizations:
The two tabs Distance from colony
and Distance travelled
should invoke a new backend call. This limits the amount of data that is pushed in the browser memory.
The tooltips in cal-heatmap have a very different style then the nvd3 tooltips. On 1 page, the tooltips should be the same.
Is it poosible to have none-filled markers instead of color filled?
Instead of blue and black I would prefer blue and unfilled markers.
marker-fill: #a6cee3;
}
marker-fill: #000;
}
When a bird is selected in select-bird
, all relevant data should be loaded.
@EricStienen, while describing the fields in bird_tracking_devices
, I noticed that we should define and probably rename tracking_start_location
and associated coordinates.
tagging_latitude/longitude
?Do this field definitions fit with the wmh
project? What use is the latter field? Do we need a bird_tracking_nests
table?
In selectbox, bird names should be grouped by species, using optgroup
.
That way, we can limit the x axis to the number of months that are drawn by cal-heatmap and have it navigate together with the heatmap.
Issue reported by @EricStienen : this SQL statement does not work. Why?
select
t.cartodb_id,
t.the_geom,
t.the_geom_webmercator,
t.device_info_serial,
t.date_time,
t.altitude,
d.bird_name,
d.sex,
d.project_name,
d.ring_code,
d.ring_code_color,
d.scientific_name,
date_part('hour',t.date_time) as hour
from bird_tracking t
left join bird_tracking_devices d
on t.device_info_serial = d.device_info_serial
case when hour > 23 then Day = 0
when hour < 4 then Day = 0
else Day = 1
end
where
d.scientific_name = 'Larus fuscus'
and
d.bird_name = 'Nico'
and
t.userflag is false
The CSS from the blog is responsive, changing the position/visibility of certain elements (e.g. the header) depending on the window width. These media queries should be overwritten, as the dashboard will not be responsive, but fixed-width.
There should be a visual difference between distance = 0
and no data at this time
The current application is unstable. After fetching data for a couple of birds, the browser crashes now and then. We should find out why this happens and find a solution for it.
Distance from colony
can still be chosen by user.
Add arrows left (previous-month
) and right (next-month
) of the year-chart
so that the calendar can be navigated forwards and backwards in time (one month at a time).
Add a CartoDB map, showing occurrences of the selected bird and timeframe.
Currently occurrenceID
= cartodb_id
. These IDs should instead be generated by UvA-BiTS. This will allow for persistence and easier imports. See also https://github.com/LifeWatchINBO/bird-tracking-gull-occurrences/issues/23
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.