Giter VIP home page Giter VIP logo

yatayat's Introduction

Yatayat

Kathmandu Public Transport

Openstreetmap-based point-to-point routing, developed for Kathmandu.

HACKING / DEPLOYING

submodules

yatayat uses a kdtree implementation from @ubilabs on github; to use it you will need to run

% git submodule init
% git submodule update

inside your cloned repository

config

config.js pulls from a overpass-api directly; to develop locally, you can symlink config.local.js to config.js, but please be careful not to commit your symlinked file

% ln -s config.local.js config.js

Data Model

OSM Data is transformed into Routes, Stops, and Segments:

Route:

  • id
  • name
  • ref // route number
  • transport // type of transport; pulled from tag.type
  • stops: [] // are ordered
  • stopDict: {} // indexed by id
  • segments: []
  • tag: {}

Stop:

  • id
  • name
  • lat
  • lng
  • tag: {}

Segment:

  • listOfLatLng: [(lat,lng), ...]
  • tag: {}

CLI

data quality.

These make use of nodejs. On Debian-based systems, all external dependencies can be installed via APT:

% apt-get install nodejs node-jquery node-underscore

Elsewhere, you can try your luck with NPM:

% npm install jquery underscore docopt

Then, you can run:

% nodejs cli_dataquality.js transit.experimental.xml

Additionally, the "datasync.py" python wrapper downloads the latest route information from OSM through overpass, checks for quality issues, and depending on the results of cli_dataquality, can e-mail relevant parties or else commit the new info into git.

GTFS

% nodejs dump_gtfs.js transit.experimental.xml
```# osm-nepal.github.io

yatayat's People

Contributors

neogeomat avatar poshan avatar prabhasp avatar samarpanrai avatar strob avatar suress avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

yatayat's Issues

error in segment ordering for route

For some time, i have been trying to correct the overshoots in route display. Overshoots or undershoots happen when the stop is in the middle of segment.

I had been assuming the segments are in right order in route.segments but recently i found that the segments are in reverse order.

e.g. in route Puranobuspark - thimi, the start node is thimi and end is puranonuspark (this is opposite of what the name suggests, and i just changed it)

but programmetically, the first segment in this route in system object should be one containing thimi stop, but it shows segment containing puranobuspark as first.

I found the same in Koteshwor to ratnapark route("2277212"), "Ratna Park - Sundarijal"("2282101")
but not in "Shobhabhagwati-Koteshwore"("2276999").

This ordering i think is done by the YY.Route.prototype.order_ function. It isa complex function and we couldnot solve this. Can you guys have a look?

Base Layer

The Base layer is showing "Mapquest: direct tile access has been discontinued"

Getting unconnected segments

We are getting unconnected segments in routes, which are correctly digitized in josm and collect in transit file as well.

An example is the sobhabhagwati - koteshwor route. You can inspect it in chrome browser by adding a conditional breakpoint in line 488, the condition is "startStop.id == 1274184084".

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.