Giter VIP home page Giter VIP logo

citylines / citylines Goto Github PK

View Code? Open in Web Editor NEW
66.0 3.0 15.0 10.26 MB

Citylines.co is a collaborative platform for mapping the transit systems of the world!

Home Page: https://www.citylines.co

License: MIT License

Ruby 49.41% HTML 2.12% CSS 3.15% JavaScript 44.99% Shell 0.14% Dockerfile 0.17% Procfile 0.02%
city transport metro collaborative mapbox postgis-extension transit transport-systems docker docker-compose

citylines's Introduction

citylines.co

Build Citylines Gitter

This is the source code of citylines.co, a collaborative platform for mapping the transit systems of the world. The distinct feature of citylines.co is that it puts emphasis on the historical evolution of the networks.

The data stored in citylines.co is open and can be downloaded in different formats and scales from citylines.co/data.

Contributing

You are encouraged to contribute by improving or adding new data through our online editor at citylines.co, or by taking part in the development of the platform. Please, see the contribution guidelines for more information.

Contact

Chat with the community at Gitter, send an email to info at citylines.co, or tweet at @citylines_co.

License

MIT

citylines's People

Contributors

alfredormz avatar brunosalerno avatar christaylor19 avatar dependabot[bot] avatar kalepom 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

citylines's Issues

Add alternames / original name to cities

  • create an alternames column
  • Make a list of cities with erroneous name and:
    • put the original name in the alternates column
    • change the name of the city
    • change the name of the country (if needed)
    • generate new url_name

Add Transport modes

I. e., if the line is a BRT, a Metro, a light rail/tram, etc...

  • This should be in the Line model
  • It should matc line-widths

Create backup tables

For example:

  • section_backups
  • station_backups

These tables show store a copy of the features that are going to be modified or deleted

Add stations to user contributions in the profile view

@LucasLechat_twitter (Gitter) said: "Shouldn't station creation be counted on contributor's profile, and ranking. Not that I'm cursing for point or anything, but to see how much we contributed, not only by lines creations."

Improve API cache

Two possibilities:

  • Replace cache helpers with updated_at propagation.
    Today there are certain helpers that calculate the last updated_at depending on the situation.
    We have to change it so any time a feature, a system or a line is updated, the city's updated_at column gets updated. This way we are going to save a lot time removing real-time calcs.

  • Drop memcached and use cloudfront.
    My doubts are: Is invalidation time short-enough? How much money-expensive would be?

Group lines by system

  • There should be a default system, with no name. This system has to be shown in the right panel of the general view as the current "Lines" list.
  • Each system has a NewLineItem component, with a system_id prop set to the system id.
  • Lines should be draggable from one system to another

Add top contributors

This should include:

  • Top contributors this month
  • Top contributors ever

Perhaps the query should be something like this:

CreatedFeature.left_join(:sections,
                         :created_features__feature_id => :sections__id,
                         :created_features__feature_class => 'Section')
              .select_group(:user_id).select_append{sum(:length).as(sum)}
              .order(Sequel.desc(:sum)).all.reject{|e| !e[:sum]}

Move style info to Line model

  • The color and and all line-specific data should be store in the Line model
  • The general style things should be hardcoded (for now)
  • See if style js class has to be removed

Related to #34

Integration with OSM

At least, there should be an option to import features from OSM.

  • add two new fields osm_id and osm_tags
  • we could use the overpas api wrapper
  • the area should match a the viewport or a circle with a certain radius from the city coords
  • osm tags should be a with select list or input
  • the osm data should be loaded in the editor mode, and not saved (it would require further editing from the user)
  • lines
    • a button and a tag option should load the relations names as lines in a new system. Except if a line with the osm_id overlaps (that line won't be created again)
  • features
    • a button and a tag option should load the nodes or routes as sections or stations, elements with osm_id that collide won't be added
    • if the line with the corresponding name (matching the relations name) should be automatically set

Load all cities

Steps

  •  Push script
  • Change name Santiago de Chile to Santiago
  • Run migrations
  •  Add country for Buenos Aires and Santiago
  •  Run script

Color Popup: RGB and hexa code broken

When editing a line, when we click on the color bor, a color edition panel pops up. I can click on the color gradient, or on the preset colors at the bottom. But if I try to change the hexa code or the RGB, the panel closes.

How to add lines?

What type of data "citylines" need to show info, for example from Costa Rica?

I have a GTFS file with data from Costa Rican Urban Train, is it useful?

Create an user profile page

Where we can see:

  • The first name of the user
  • What cities he contributed to
  • The total length (km) of features created/removed
  • The total number of stations created/removed

Add the possibility of adding combinations between stations

  • combination should be a relationship between 2 stations (table with station a and station b)
  • it should be drawn whenever both stations are operative (unless we add a operative_from and operative_to fields, I'm not sure about that)
  • If a combination involves more than 2 stations, it has to be drawn by pairs
  • They can be added from a list that displays close 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.