Comments (5)
Hi Nick,
The slide that most people use is hosted by my former employer (strava). It uses the code here plus the global heatmap data to build the results. The raw global heatmap data is not available publicly so hosting your own slide does not really make sense unless you have a similar dataset you'd like to try it on. If you do, I can help with that.
But, anyone can use the HTTP/JSON api provided by strava (with attribution). So to solve the problem of making it work with newer versions of iD, one would just need to integrate it with the newer code. The code for the iD editor at http://strava.github.io/iD is found at https://github.com/strava/iD and you can look at the last few commits to see what was done to add it.
Recently iD was bumped to 2.0 and they refactored a bunch of stuff into javascript modules and stuff so it'll take a bit of work fit it in, but I'd imagine the core concept would stay the same.
So, if the issue is upgrading the http://strava.github.io/iD to use iD 2.0+ I can look into getting access to that repo again and looking into how much work it'll be.
cc @mlerner
from slide.
If anybody have the knowhow to transform the code into a JOSM Plugin, using Java and Strava's Java bindings, or some way convert the bindings in this repo, I know many OSM contributors using the JOSM editor will be very happy.
from slide.
@paulmach I have just started looking at some of this. I have yet to sit down and build a local iD instance or such... Simply looking at the code and your commits mentioned above to understand the big picture.
So, question, is the actual "sliding" calculations and such happening on server side somewhere over at Strava labs? I had thought this was done locally by browser, but now I see two completely seperate code bases in your slide repo and iD fork. So where is the go code being run?
Thanks!
from slide.
The work is split between the server and the browser. The server takes a linestring and returns a smoothed linestring. The js/browser figures out what polyline to send and how exactly to merge it back into osm.
The reason there is a server side component is because the "raw heatmap data" ie. the actual counts, not the raster png data, can not be shared. This was a requirement made by those above me when I was at strava. I did not want to push the issue because initially they were very reluctant to even release the heatmap at all.
As a result the code in this repo is kind of crippled. I tried to use the same algorithm with the TIGER data, but it was never as useful as using the strava data.
The server side code currently used at strava.github.io/iD is accessible at https://gometry.strava.com/slide and hosted by Strava. Unless Strava says otherwise this same endpoint can be used in a new version of iD or in JSOM.
from slide.
Oh, and to get started at running the Strava iD fork you'll need to do two things:
- get it to build and run, just tried the install section from the readme and it worked for me https://github.com/strava/iD#installation
- make sure the right slide endpoint is being used, see https://github.com/strava/iD/blob/master/js/id/operations/slide.js#L2 Since you wont have slide running locally it should just be
var slideOperationURI = "https://gometry.strava.com/slide";
I don't know what the steps would be to upgrade/rebase the iD code to the 2.X version.
from slide.
Related Issues (14)
- Slide moving other roads along corrected road? HOT 3
- strava.github.io/iD not connecting to api HOT 2
- Unable to Save Edits, Possible OAuth Problem HOT 2
- Strava Login HOT 4
- Slide not doing anything HOT 14
- Slide with OSM
- Attempt to get this working again
- Finding highway names HOT 2
- Is the heat map currently updating or has it been sunset? HOT 7
- Location overlay under strava layer HOT 1
- Closed ways
- Unable to connect to API HOT 2
- Can't upload changes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slide.