{"id":21324129,"url":"https://github.com/mcejp/tsim","last_synced_at":"2025-03-15T23:20:48.258Z","repository":{"id":44850908,"uuid":"177328798","full_name":"mcejp/TSIM","owner":"mcejp","description":"Transport simulation playground","archived":false,"fork":false,"pushed_at":"2022-01-21T23:49:42.000Z","size":5659,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-03-09T01:29:41.498Z","etag":null,"topics":["game","openttd-inspired","simulation","transportation-network"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcejp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-23T18:58:44.000Z","updated_at":"2021-08-19T18:13:54.000Z","dependencies_parsed_at":"2022-08-29T15:41:32.179Z","dependency_job_id":null,"html_url":"https://github.com/mcejp/TSIM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcejp%2FTSIM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcejp%2FTSIM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcejp%2FTSIM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcejp%2FTSIM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcejp","download_url":"https://codeload.github.com/mcejp/TSIM/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243802752,"owners_count":20350293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","openttd-inspired","simulation","transportation-network"],"created_at":"2024-11-21T20:28:47.211Z","updated_at":"2025-03-15T23:20:48.201Z","avatar_url":"https://github.com/mcejp.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TSIM ![CI status](https://travis-ci.com/mcejp/TSIM.svg?branch=develop)\nTransport simulation playground\n\n![screenshot](https://github.com/mcejp/TSIM/blob/develop/screenshots/output.svg)\n\n## How to run (real-time mode)\n\n0. RabbitMQ must be running: `podman build --tag tsim-rabbitmq tsim-rabbitmq \u0026\u0026 and podman run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 -p 15674:15674 tsim-rabbitmq`\n1. Open project in Rider\n2. Build and execute target \"TSIM\". This initializes the simulation database from \"data/scenario.json\" and writes the\n   database to \"simdb.sqlite\" (for the moment hardcoded)\n3. Build and execute target \"TSIM.WebServer\". The database will be loaded and simulation can be observed in the browser.\n   The trains are just programmed to try and stop at the closest station until better control architecture\n   is implemented.\n\n### Other IDEs (VS Code), command line\n\n    mkdir -p work\n    dotnet run --project TSIM -- work/simdb.sqlite \\\n            --importscenario maps/cern1.json \\\n            --simulate \\\n            --rendersvg work/output.svg\n    dotnet run --project TSIM.SimServer\n    # + in another shell:\n    dotnet watch --project TSIM.WebServer run\n\n    # alternatively, to be reachable from the internet\n    dotnet run --project TSIM.WebServer --launch-profile Production --urls http://0.0.0.0:5000\\;https://0.0.0.0:5001\n\n### Visualizing data post-mortem\n\nUse the provided Jupyter notebook to load and visualize the generated _simlog.csv_.\n\n## How to run tests\n\n   dotnet test TSIM.Tests\n\n## Extracting dataset (Praha subway)\n\nosmosis --read-pbf praha-latest.osm.pbf \\\n        --tf accept-ways railway=subway \\\n        --tf reject-relations \\\n        --used-node \\\n        --write-xml praha-subway.osm\n\nThen import OSM into QGIS... and do what?\n\n## Installing .NET Core\n\nSee: https://dotnet.microsoft.com/download/dotnet/5.0\n\nYou will also need host Cairo and Pango libraries (e.g. `dnf install cairo paingo` on RHEL/CentOS/Fedora)\n\n## Editing with QGIS\n\nTODO: add sources to repo\n\n- edit source data\n- manually merge cern1_track + cern1_stops into cern1.geojson\n- re-run imporscenario\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcejp%2Ftsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcejp%2Ftsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcejp%2Ftsim/lists"}