justinlewis / climbmapper Goto Github PK
View Code? Open in Web Editor NEWAn experimental app to visualize climbing ToDo and Tick routes on a map based dashboard
Home Page: http://www.climbmapper.com/
An experimental app to visualize climbing ToDo and Tick routes on a map based dashboard
Home Page: http://www.climbmapper.com/
When a climber ticks a route more than once we should indicate this in the app.
currently clicking on a ToDo area opens up a panel on the bottom and populates it with an un-ordered list of ToDo routes with preview images. This whole thing is kinda weird and could be much better.
The time slider is hokey and boring. Make it more interesting! Additional indicators like hardest climb up to the current position on the slider and tick marks to indicate dates along the line would be a good starting point.
The current implementation was a rush job. Using instance objects will be more maintainable and just more goodly.
Lots of initial work has been done by @brendonakay
Initial thoughts:
Display a chart hooked into the time slider that showed number of ticks as a line chart and hardest/average difficulty rating as additional lines. The point would be to visualize number of climbs compared to how hard someone is climbing at that point in time.
users really only want to see either crags or areas and it gets too confusing to not have the app take care of that decision for them
We want to port from basic Node templates and JQuery to better facilitate:
The MVP passing criteria for this ticket should be a replication of existing functionality with minimal deviation from the current behavior. Improvements on UI/UX can be considered but might necessitate a separate ticket if design work is significant enough to warrant lengthy consideration by the team contributors. That new ticket would be considered a new enhancement.
Master Feature Port List:
There is a delay that might lead to users submitting multiple times.
A point cloud would be a single point for each route placed in a circular cloud colored by type. Andy Woodruff provided an basic example of how he did this:
//// Incomplet. For example only.
var g = symbols.append("g"),
statePath = d3.select( /* selector for the state polygon */ ),
centroid = path.centroid( statePath.datum() );
var total = // whatever the total number of dots is
dotDiameter = 4,
dist = 0,
circumference = 0,
canFit = 1,
count = 0,
angleDelta = 0;
for ( var i=0; i<total; i++ ){
count++;
if ( count > canFit ){
dist += dotDiameter;
circumference = 2 * dist * Math.PI;
canFit = Math.floor( circumference / dotDiameter ),
angleDelta = 2 * Math.PI / canFit;
count = 0;
}
var currentAngle = angleDelta * count;
var x = Math.cos(currentAngle) * dist,
y = Math.sin(currentAngle) * dist;
g.append( "circle" )
.attr("cx",x+dotDiameter/2)
.attr("cy",y+dotDiameter/2)
.attr("r",dotDiameter/2)
.attr("fill","#ccc")
.attr("stroke","#666");
}
g.attr("transform","translate(" + centroid.toString() + ")");
A generic interface for data import endpoints would be useful for data integration with multiple sites. Ultimately it would be best to integrate with more than just Mountain Project.
the area search needs to include all areas.
The issue is that data from Mountain Project comes with only an array of location names in hierarchical order. This is a terrible way to store location and it poses a challenge to mapping routes against areas stored in climb mapper for a number of reasons. Probably the biggest issue is that of uniqueness for areas. When relating a route to an area we simply use the first name match for a location in the routes location array with all of the areas in Climb Mapper. Since area names are not unique this could create lots of false relationships as more areas with duplicate names are added to the system. One easy way to filter this down is to look for routes within a specific geographic context (i.e. a state, region, etc..).
A simple widget to add climbing areas. Areas are different than crags. Crags are the individual wall or clusters of boulders. Areas are larger collections of crags.
This way users can explore an area more without holding the mouse still. This should also support the ability to share a users analytics for an area.
All the charts where done with basic styling. Get creative!
We want users to be able to access a specific focus area based on a url.
Crags are the individual wall or clusters of boulders. Areas are larger collections of crags.
Currently they are just squished onto the bottom of the hover popup. These could be laid out in a much better way.
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.