Coder Social home page Coder Social logo

russellporter / openskimap.org Goto Github PK

View Code? Open in Web Editor NEW
53.0 6.0 1.0 3.64 MB

The front end for OpenSkiMap.org.

License: Apache License 2.0

HTML 2.29% TypeScript 94.13% CSS 1.24% JavaScript 2.34%
ski map openstreetmap snow snowboarding cross-country-skiing backcountry-skiing

openskimap.org's People

Contributors

dependabot[bot] avatar russellporter avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

craigea

openskimap.org's Issues

Support site=piste relations

Although not an officially approved tagging scheme, site=piste is adopted at ~900 ski areas now. Although most ski areas can be easily tagged using landuse=winter_sports, the site=piste scheme has some benefits for more complex cases.

piste:grooming=backcountry runs that are part of a site=piste can be assumed to be part of the ski area and not sidecountry ski routes (currently, they are never members of a ski area, unless tagged with patrolled=yes out of an abundance of caution for safety).

Will need to take care to merge all redundant ski areas together. For example, a single ski area could have all of landuse=winter_sports, site=piste, and Skimap.org ski areas, or even multiple of each. site=piste should be used for the first pass as it's the most fine-grained.

Show cogwheel trains on the map when they are associated with a ski area

It's probably a bit difficult to accurately determine which trains are used for skiing, but a starting point would be to add cogwheel trains (in addition to previously added funiculars).

For both cogwheel/funiculars, we could add a postprocessing step in the processor to remove them from the map if they are not associated with a ski run in the feature graph.

Display disused pistes

User feedback:

Openskimap seems to display abandoned:aerialway, but not disused:aerialway. And neither abandoned:piste nor disused:piste. Maybe you can add these?

Probably the best way to display these would be dotted, like lifts with the tag "abandoned=yes".

Support website tags on runs & lifts

Especially for cross country ski trails, website links can provide useful information about how to access the trail (parking, public transport), and so on.

Improve ski run property merging

If there are multiple sources of ski run properties (way & relations) these are flattened into a single representation to allow for a simpler UX.

The current approach treats all data sources equally. For example: run difficulty is merged by taking the easiest value from the available sources.

A somewhat common case for nordic ski trails is a longer trail, tagged as a relation has piste:difficulty=easy, but one of its ways may be tagged as piste:difficulty=intermediate.

In the case currently we show the whole trail as easy. However, the ways data should be closer to the ground truth, given relations work at a higher level.

The improvement would be to treat the way data as primary, and only fall back to the current strategy if the way doesn't have a difficulty value.

Show accessible runs from selected lift

When you highlight a lift, highlight the connected runs in another colour. That would allow you to see routes from the lift much more clearly. Maybe primary, secondary and further connections.

Add icons to lifts

Re-explore adding icons for different lift types.

At minimum, distinguish:

  • surface lift
  • chair lift
  • gondola
  • cable car

Change criteria for generated downhill ski area to require a lift

The existing criteria to generate a downhill ski area is just to find a "groomed" downhill ski run. This can create false positive generations as some backcountry ski runs are not tagged as ungroomed. Avoid this by also requiring a lift to be in the connected graph before generating a ski area

Add slope aspect information

We can calculate the approximate aspect of each segment of a run as we have elevation data. Need to decide the best way to display this information, also a single run might have multiple aspects in varying percentages.

One option could be to bucket segments of the run into aspects N, S, E, W, NE, NW, SE, SW, and display an aspect if the % of run exceeds some threshold.

Show rest stops and parking lots on map

Hi!

Feature request:

Would be super to see parking lots and rest stops on the map. Because often one goes by car and the car needs to be parked somewhere.

OSM data can be filtered with "access=yes" if needed.

access token

Just wanted to let you know that your mapbox token is hardcoded and committed into the repo.

Informal tag support

The informal=yes OSM tag likely is relevant for tagging ski trails. It would be nice to check how often this combination is used and incorporate it in the rendering. Likely informal=yes could be handled similarly to piste:grooming=backcountry.

Link repo on website

You should really link the repo on your website. (in the about section)

Or maybe add one of the well-known "fork me on GitHub" button…

Show grooming type for piste:type=hike

User feedback: showing the grooming thpe for winter hiking trails can be useful

piste:grooming=classic trails are maintained, and suitable for walking/hiking
piste:grooming=backcountry trails are not maintained

Support embedding with a custom access token

The website looks pretty good when embedded in other pages, but the increased page views is a concern for the Mapbox usage. We could support this use case explicitly by allowing passing a custom access token to the site. Optionally also banning iframe usage when no access token is provided.

Estimate ski area extent based on OpenStreetMap data

When the user selects a ski area, highlight the area that is thought to be part of the ski area (based on pre-processed graph traversal of OpenStreetMap data).

Below zoom level 11, make the area of the ski area clickable (will open the ski area info)

Map Legend / Key

It would be very helpful if a map legend was included somewhere on the website to explain how different features are displayed. I would recommend including the legend in the hamburger button menu to the left of the Search bar. Some elements I recommend including based on what I see depicted in OpenSkiMap are:

  • The Blue and Green dots for the resort (Downhill & Backcountry vs Nordic)
  • Colors for Piste difficulty (Easy, Intermediate, Advanced, Expert, Freeride terrain, etc)
  • Piste grooming type (if depicted differently - I've seen solid vs dashed lines)
  • Lit Pistes (I noticed these have a yellow outline)
  • Aerialways

I appreciate this website and use it quite a bit for researching ski locations, and I hope to see it's development continue! Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.