OpenStreetMap logo 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:

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

Things I REMOVED

  • https://wiki.openstreetmap.org/wiki/Tag: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

  • https://wiki.openstreetmap.org/wiki/Tag: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
    • https://wiki.openstreetmap.org/wiki/Tag:network:wikidata=Q1671143 for Transjakarta, then add Wikidata values for each route relation, e.g. https://wiki.openstreetmap.org/wiki/Tag:wikidata=Q12492249 for Corridor 5
    • https://wiki.openstreetmap.org/wiki/Tag: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
    • https://wiki.openstreetmap.org/wiki/Tag:covered=yes, since Transjakarta stations are fully covered (in conjunction to https://wiki.openstreetmap.org/wiki/Tag:shelter=yes)
    • https://wiki.openstreetmap.org/wiki/Tag: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
    • https://wiki.openstreetmap.org/wiki/Tag:public_transport=stop_position and https://wiki.openstreetmap.org/wiki/Tag:public_transport=platform, see PTV2 on OSM wiki for specific implementation
    • https://wiki.openstreetmap.org/wiki/Tag:smoking=no due to government laws, though not necessarily applied to all stops and stations across Jakarta
    • https://wiki.openstreetmap.org/wiki/Tag:wheelchair=yes/dedicated/partial/no (optional)

Implementation Notes (for apps and services)

  • Please use the Route Relation instead of https://wiki.openstreetmap.org/wiki/Tag: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 https://wiki.openstreetmap.org/wiki/Key:highway and Transjakarta Route Relation IDs instead of https://wiki.openstreetmap.org/wiki/Tag: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 https://wiki.openstreetmap.org/wiki/Tag:role=platform or https://wiki.openstreetmap.org/wiki/Tag:role=stop_position instead of shelter_tj, as some Transjakarta (especially Royaltrans and Metrotrans) networks do stop at regular bus stations.
Location: RW 04, Pluit, Penjaringan, North Jakarta, Special capital Region of Jakarta, Java, 14440, Indonesia
Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Comment from Warin61 on 21 June 2019 at 08:22

Hi, Thanks for your efforts with PTv2! Some comments on relation/9370447 - Transjakarta Corridor 8

Some of the stops don’t appear to be on the route. The circular bit of the rout in the south is not well done. Way: TransJakarta Busway Koridor 8 (428443864) needs to be split so Way: TransJakarta Busway Koridor 8 (512756020) can correctly connect to it.

Take a look at my diary entry @Warin61/diary/45106 for my thoughts on how to do it - the minimum requirements.

And use https://tools.geofabrik.de/osmi/?view=pubtrans_routes&lon=106.79500&lat=-6.19984&zoom=11&overlays=ptv2routes,ptv2routes_valid,ptv2_routes_invalid,ptv2_error,ptv2_error_ways,ptv2_error_nodes for a check on what you have done and if it works to some degree.

Comment from Reinhart Previano on 21 June 2019 at 09:36

As an update here are some changes I’ve made, starting from Corridor 9: + changeset/71257265 + changeset/71262712 + changeset/71262812 + changeset/71453713 + changeset/71454405 + changeset/71454422 + changeset/71454773 + changeset/71455101

Final touches will be made around Pluit and Penjaringan stations, before I continue to the next steps.

Log in to leave a comment