Giter Club home page Giter Club logo

bike-map's People

Contributors

nate-wessel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bike-map's Issues

Render slope as a directed texture

Using elevation contour lines as in the Cincinnati map hasn't worked well for such a flat city. When colors are distinct enough to distinguish between contours, they interfere with easy reading of the colored lines.

My current working hypothesis is that it will be best to assume flatness unless slopes need to be indicated. I've extracted slopes from a smoothed version of the DEM and drawn contours around slopey areas. These are indicated with dark grey against a lighter grey background.

Screenshot_2020-01-14_10-42-50

What I want to do now is to somehow indicate the direction of these sloped areas.

Synthesize trips distribution

What should the trip distance/spatial distribution be?

based on travel survey data? Based on data density? Uniform density?

Handle bridges over ways correctly

There is currently no logic for displaying bridges properly. Everything is treated as on a plane and intersections are assumed.

e.g. Danforth:
Screenshot_2020-01-14_11-23-40

Assertion error while merging edges

nate@nate-laptop:~/bike-map$ python3 merge-edges.py
finished checking 2.11% of 246811 nodes
as yet unhandled exception
321121783 Edge osm_id:29197151, db_uid:84106 Edge osm_id:29197151, db_uid:84114
finished checking 24.92% of 246811 nodes
as yet unhandled exception
848274609 Edge osm_id:71270919, db_uid:290082 Edge osm_id:71270919, db_uid:290052
finished checking 47.81% of 246811 nodes
as yet unhandled exception
4615764701 Edge osm_id:466858100, db_uid:548845 Edge osm_id:466858100, db_uid:548863
Traceback (most recent call last): nodes
  File "merge-edges.py", line 66, in <module>
    assert edge_cursor.rowcount == 2
AssertionError

Remove useless alleys

The alleys seem like a nice and perhaps even necessary feature - but they shouldn't be shown if they are useless deadends.

Smooth hierarchy to improve visual continuity

There are many places where the bins for street hierarchy seem to break at visually/logically inconvenient places. That is, a street or part of the network that seems functionally/visually continuous may be broken into multiple values in the hierarchy. Some examples:

Bloor West:
Screenshot_2020-01-14_11-13-001

Sorauren Ave:
Screenshot_2020-01-14_11-11-55

Borden Street:
Screenshot_2020-01-14_11-13-00

We need to find a way of aggregating these into more coherent/continuous entities.

Merge/Simplify split ways

OSM data for Toronto has hundreds of split ways representing larger streets where they are divided by traffic islands:
Screenshot_2020-01-14_11-46-25

This is usually done to help with car routing, but they are ugly and inappropriate at the scale of this map. They should somehow be merged/simplified into a single way. Some of this can be done directly in OSM where appropriate, but most of the changes will need to be made algorithmically while processing the data.

Split ways can be detected as oneway pairs having the same name, especially if they connect at a shared node to a two-way with the same common name.

There may also be cases where it would be innapropiate to merge ways, such as some parts of Spadina, Queensway, University, etc. We would need to specify some sort of distance threshold past which merging wouldn't happen. We wouldn't want to eliminate the Spadina Crescent or Queens Park!

Diminish motorways except where they touch streets

I had this crudely implemented before, but now it is not being handled.

I want to keep motorways and on-ramps on the map for context, but I don't want them to dominate visually or maintain continuity when seen from a distance. I.e. this is bad:
Screenshot_2020-01-14_11-29-10

My thought was that their color could fade out as distance increases from a point of connection with the street network. I had some trouble implementing this in pure SQL with recursion.

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.