Coder Social home page Coder Social logo

markusstraub / radlkarte Goto Github PK

View Code? Open in Web Editor NEW
23.0 3.0 8.0 6.25 MB

Hand-crafted routing information for cyclists

Home Page: https://www.radlkarte.at

License: Apache License 2.0

HTML 23.17% JavaScript 44.87% CSS 22.40% Python 9.56%
bicycle osm routes website mobile-friendly

radlkarte's People

Contributors

000panther avatar dougculnane avatar freibb avatar jobermue avatar markusstraub avatar mfrieling avatar stroste 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

Watchers

 avatar  avatar  avatar

radlkarte's Issues

Oneway-arrows sometimes displayed in wrong size

This only happens when the zoom level is changed fast (and multiple times).
Probably this is due to a synchronization issue of a rendering method that is called more than once.
Needs further investigation.

Match transit data on UIC reference as fallback

When displaying the public transit layer for Klagenfurt, I've observed that _Klagenfurt Ostbahnhof" is shown using the trainstation icon instead of the sbahn icon and doesn't list the S1 which stops there. When looking into the overpass data files I found that in the railway stations file the name is "Klagenfurt Ostbahnhof" while in the railway lines it is "Klagenfurt Ostbf". I looked up the correct name by the UIC reference and corrected it on OSM already. But can we guarantee that similar issues don't exist for other relevant stations?

On the other hand, many stations and relation stop positions don't have the UIC reference, so mapping based on it instead of the name doesn't work. But would it make sense to add mapping via UIC reference as fallback if mapping via name is not possible? That is if this if evaluates to false:

radlkarte/radlkarte.js

Lines 367 to 375 in eabe283

if (stationName2Line2Colour[element.tags.name] != null) {
let refs = Array.from(Object.keys(stationName2Line2Colour[element.tags.name])).sort();
for (const ref of refs) {
description += `<span class="transitLine" style="background-color:${stationName2Line2Colour[element.tags.name][ref]};">${ref}</span>\n`;
}
if (transitType === "railway") {
icon = rkGlobal.icons["sbahn"];
}

It is not a quick & easy fix which could be implemented in a few minutes, so I like to discuss this here.

Required tasks:

  • Extend the railwayLines overpass query by writing the uic_ref into the result data.
  • Either rewrite loadStationName2Line2Colour() to return objects containing all information (name, ref, colour and uic_ref) keyed by array index and update the lookup accordingly
  • or clone loadStationName2Line2Colour() to return the same data structure as now but keyed by uic_ref instead of by name.
  • Rewrite the if statement mentioned above to check for uic_ref mapping in case no name mapping exists.

Rendering of different priorities

The priority is defined as highest/medium/lowest (README file) or interregional/regional/local (script). But in the website legend they are only described as main routes and other routes, furthermore regional and local are rendered exactly the same (line width). Is there a reason for it distinguishing between regional and local in the data but not in the display? And if they should be distinguished, how to define which way is regional and which one local?

Improve popups for OSM data

Currently we only show limited info. Improvments I ponder are

  • give users a way to view the full tag list available, e.g. via a link to the OSM object
    • this also means links in the popup must be clickable (right now the popup closes on desktop after the mouse leaves the marker)
  • add more tags to view by default:
    • opening hours
    • fee?
    • covered?
    • bike shop service (service:bicycle:repair,..)?

Improve POI icons

  • variants for currently closed POIs (especially shops)
  • icon for shop
  • more contrast (on outline)
  • different train icon (not all railway stations are S-Bahn stations)

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.