Skip to content

Contributing

7d edited this page May 31, 2023 · 6 revisions

Getting Started

Requirements: MRT server member.

To start mapping, join MRT-Map's Discord server and ping 7d for the Mapper role. This role will give you access to a private channel for mappers only.

Mapping and Contributing to the Main (map-data) Repository

DO NOT push to the main branch or development branch (only 7d can cos he knows the standard :D); fork this repo and write the changes there, and also create a pull request for merging into the development branch. Optionally (but please do for your first time mapping), consult 7d to check if the standard is correct before pushing. Once a namespace is complete, your fork will then be merged into main at the discretion of 7d, and these changes will be deployed to the map itself.

Mapping guide

Setting up your dataset

Firstly, decide on a 3-letter namespace. All components in a single region / category you map will be under this namespace. This is to divide the components into separate files, as well as minimise ID collisions.

A list of namespaces can be found in #namespace-list in the MRT Mapping Services discord.

Mapping the place (Stencil2)

Stencil2 is an map data editor made by __7d. You can download it here.

The current version as of writing is v2.1.0. A manual is available here.

After plotting, export the data (to a folder).

Uploading the data

Fork the map-data repository and upload (commit & push) the .pla2.msgpack files in the files folder.

When you are done, create a pull request onto this main repository. After 7d hand-checks the data for any mistakes or noncompliance, the data is merged and will be rendered in the next scheduled render.

Steps to map a city

  1. Map the roads. They are line components.
    • A list of road types: localHighwaySlip, bRoadSlip, aRoadSlip, localPedestrianQuaternaryRoad, localQuaternaryRoad, localPedestrianTertiaryRoad, localTertiaryRoad, localSecondaryRoad, localMainRoad, localHighway, bRoad, aRoad
    • If it is one-way, add oneway to the tags
    • If it is elevated or underground, append _elevated or _underground. For example, localHighway_underground
    • Pedestrian crossing? Use pedestrianCrossing (point component) on a node where there is a crossing
    • Dont map sidewalks!
    • Highways should be mapped with two components, both oneway
  2. Map the paths in the city. This includes alleyways, park paths, but not sidewalks
    • The type is pathway. _elevated or _underground can also be appended.
    • If your path is in the park you can map it together with the park
  3. Map the railways going through the town. The tracks are line components as well.
    • The only type is rail.
    • _elevated and _underground also can be appended too.
    • Rail crossing? Use railCrossing (point component)
  4. Map the stations in the town.
    • The type for station buildings is transportBuilding and for platforms is platform. If you have underground structures, append _underground.
    • The platform and the track components should share nodes, ie they shd be connected.
    • Mark stations with railStation (its a point component), and undergroundExit for underground exits
  5. Map the buildings.
    • The type is building. There is also an _underground prefix. For city halls, use cityHall.
    • The buildings should not connect to the road.
    • If you have rooftop gardens, map those as well.
  6. Map the parks.
    • The type for the area is park. (Not a point component).
    • If you have a national park, don't map it yet.
    • If you have a plaza, use plaza.
  7. Mark individual services (optional)
    • All are point components. They are parking, bikeRack, shop, restaurant, hotel, arcade, supermarket, clinic, library, placeOfWorship, petrol, cinema, bank, gym, shelter, playground, fountain, taxiStand, pickUpDropOff, attraction
  8. Map the zones of the city.
    • Types: residentialArea, industrialArea, commercialArea, officeArea, residentialOfficeArea, schoolArea, healthArea, agricultureArea, militaryArea
    • If you have a national park area don't use this
    • You can anchor to other nodes for this, if possible.
  9. Map heliports, seaplane ports, waterports, airports and bus stops.
    • Types: gate, apron, taxiway, runway, helipad. gate and helipad are area components, not a point. taxiway and runway are lines
    • For buildings use transportBuilding
    • Mark bus stops and waterports with ferryStop or busStop
    • If it is a local ferry you can also map the route with ferryLine
  10. Map the natural features around your town. This includes national parks and empty patches
    • Types: grass, shrub, forest, stone, sand
    • If you have lakes use waterSmall, if you are next to a large ocean use waterLarge
    • If you have a small island use landSmall; or if its large (like Kazeshima) use landLarge
  11. Map the subdivisions and town borders.
    • Types: subdistrict, district, town
    • They are area components

Important things to remember

  • If you are mapping for the first time, check with me often if the format is correct. You might be mapping it wrong, who knows?
  • You can reference nodes from another namespace.

FAQ

  • This Github thing is too convoluted for me! You can just dm it to 7d, he will check and upload it for you :)
  • When will my data appear on the map? Every hour a render job will be run on the main branch of map-data and the tiles will be updated with your new data automatically.