|

Upgrading Transjakarta Networks to Public Transport V2 Schema

Save or share to

This post was originally published for OpenStreetMap.


I am currently working to improve Transjakarta, one of Jakarta’s major BRT/Busway operators, to comply with Public Transport Version 2 schema in OpenStreetMap, though Version 3 is being purposed.

image Before and After map of Transjakarta Corridor 9 route, between Pluit and Penjaringan bus stops

Legacy Tags that I’d like to keep for compatibility:

  • amenity=bus_stop for PTV1 compatibility on bus stations
  • corridorXX=yes: assigns which Transjakarta corridors are served, such as corridor9=yes for Corridor 9 and corridor12=yes for Corridor 12 (see Implementation Notes if you are a developer utilising this tag for queries)
  • HOTOSM InAWARE tags
  • network=Transjakarta, now also reinforced withnetwork:wikidata and wikidata values
  • shelter=yes
  • shelter_tj=yes (see Implementation Notes if you are a developer utilising this tag for queries)

Things I REMOVED

  • service=TransJakarta, since this is unacceptable by Osmose and other QA tools (see Implementation Notes if you are a developer utilizing this tag for queries)

New things that I added

  • bus=yes to meet PTV2 requirements for bus
  • Route relation-specific additions:
    • New route relations will be added for Corridor sub-routes (e.g. Corridor 1A, 9M, etc.), night services (e.g. M1 for Corridor 1; though I’ll consult with other OSM Public Transport implementations in other places)
    • Duplicating roads since many Transjakarta networks operate on one-way roads
    • network:wikidata=Q1671143 for Transjakarta, then add Wikidata values for each route relation, e.g. wikidata=Q12492249 for Corridor 5
    • public_transport:version=2 to enable JOSM and Osmose debugging
  • Shelter/station-specific additions:
    • Stations may now be represented as a Relation for those which have split platforms and/or multiple objects in OSM, such as in some Corridor 9 stations which are split by toll roads/expressways
    • Transit-Oriented Development (TOD) areas are now represented as a separate Relation to connect multiple stations serving different networks
    • covered=yes, since Transjakarta stations are fully covered (in conjunction to shelter=yes)
    • departures_board=realtime since all Transjakarta stations (except Metrotrans, Miktrotrans, and Royaltrans services) have a live bus timetable, which can also be accessible through API at http://api.jakarta.go.id
    • public_transport=stop_position and public_transport=platform, see PTV2 on OSM wiki for specific implementation
    • smoking=no due to government laws, though not necessarily applied to all stops and stations across Jakarta
    • wheelchair=yes/dedicated/partial/no (optional)

Implementation Notes (for apps and services)

  • Please use the Route Relation instead of corridorXX=yes for network queries. After checking on taginfo.openstreetmap.org most of corridorXX tags are only used in Indonesia.
  • Additionally, you may include hard-coded Relation IDs which belong to Transjakarta network.
  • Please use highway=* and Transjakarta Route Relation IDs instead of service=TransJakarta to query roads which belongs to Transjakarta, as some parts of the routes do NOT have a separate road (or Kassel Kerbs)
  • Please use Transjakarta Route Relation objects with role=platform or role=stop_position instead of shelter_tj, as some Transjakarta (especially Royaltrans and Metrotrans) networks do stop at regular bus stations.

Thanks for reading this article! By the way, we’re also working on finishing these interesting posts. Revisit this site soon or follow us to see them once they’re published!

[display-posts post_status=”future” include_link=”false” wrapper_id=”future-list”]

Save or share to

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *