{"id":21283191,"url":"https://github.com/satsuma22/maptiles","last_synced_at":"2026-05-21T07:45:14.597Z","repository":{"id":263271883,"uuid":"889089031","full_name":"satsuma22/MapTiles","owner":"satsuma22","description":"A real-time 3D environment visualizer","archived":false,"fork":false,"pushed_at":"2025-03-14T10:06:57.000Z","size":7884,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T11:23:23.098Z","etag":null,"topics":["cpp","geographical-information-system","opengl","openstreetmap-api","openstreetmap-data","openstreetmaps"],"latest_commit_sha":null,"homepage":"","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/satsuma22.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-15T15:34:01.000Z","updated_at":"2025-03-14T10:07:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"57f2d57c-a12a-4949-9220-d1ccac5e9718","html_url":"https://github.com/satsuma22/MapTiles","commit_stats":null,"previous_names":["satsuma22/maptiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satsuma22%2FMapTiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satsuma22%2FMapTiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satsuma22%2FMapTiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satsuma22%2FMapTiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/satsuma22","download_url":"https://codeload.github.com/satsuma22/MapTiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243746132,"owners_count":20341203,"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":["cpp","geographical-information-system","opengl","openstreetmap-api","openstreetmap-data","openstreetmaps"],"created_at":"2024-11-21T11:07:23.284Z","updated_at":"2026-05-21T07:45:14.568Z","avatar_url":"https://github.com/satsuma22.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CMake on a single platform](https://github.com/satsuma22/MapTiles/actions/workflows/cmake-single-platform.yml/badge.svg)](https://github.com/satsuma22/MapTiles/actions/workflows/cmake-single-platform.yml)\n\n# MapTiles\n![Example Image](maptiles_screenshot.png)\n\n## Table of Contents\n- [About the Project](#about-the-project)\n- [Dependencies](#dependencies)\n- [Building](#building)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Input](#input)\n\n## About the Project\nMapTiles is a real-time 3D enviornment visualizer. It fetches geographical data from OpenStreetMap and constructs and renders a 3D scene in real-time.\n\n## Dependencies\nThe project has a few dependencies but the only ones that you need to manually install are:\n* `GLFW`\n* `GLEW`\n* `OpenGL`\n\nOn Ubuntu you can install these dependencies by running the following command:\n```bash\nsudo apt-get update\nsudo apt-get install libgl1-mesa-dev libglew-dev libglfw3-dev\n```\nOn Windows it is recommended that you install these dependencies using `vcpkg`. After installing `vckpg`, run the following command:\n```cmd\nvcpkg.exe install glfw\nvcpkg.exe install glew\n```\n\nEvery other dependency is either present in the repo or is available as a submodule.\n\n## Building\nFirst clone the repo and it's submodules by running the command:\n```cmd\ngit clone --recurse-submodules https://github.com/satsuma22/MapTiles.git\n```\nTo build, create a build folder in the root directory and run the CMake script. This can be done using the following commands:\n```cmd\nmkdir build\ncd build\ncmake ..\n```\nOn Windows, you will have to provide the path to the directory containing `vcpkg`:\n```cmd\ncmake .. -DPATH_TO_VCPKG=\u003cpath/to/vcpkg\u003e\n```\nreplace `\u003cpath/to/vcpkg\u003e` with the path containing the `vcpkg` directory.\n\nOnce the build is configured, you can build the project by running:\n```cmd\ncmake --build .\n```\nor by compiling the project using the selected build system (for example, visual studios on windows).\n\n## Usage\nThe application can be used for any city for which geographical data are available in the OpenStreetMap database. To render the 3D map of a city, run the following command:\n```cmd\nMapTiles.exe \u003clatitude\u003e \u003clongitude\u003e\n```\nReplace \"latitude\" and \"longitude\" (and the angular brackets) with the latitude and longitude of the city. When no arguments are provided, the application defaults to the city of Dresden, Germany.\n\n## Configuration\nCertain settings for the application be configured via the `Config.h` file.\n* `Tile3DSize`\n  * Controls the size of individual `Tile3Ds`. Specified in degrees.\n* `NeighbourhoodFetchSizeRasterTile`\n  * Controls the grid size for the `RasterTiles`. A grid size of `n` results in a `(2*n+1)x(2*n+1)` grid.\n* `NeighbourhoodFetchSizeTile3D`\n  * Controls the grid size for the `Tile3Ds`. A grid size of `n` results in a `(2*n+1)x(2*n+1)` grid.\n* `FrustumBasedTileGeneration`\n  * Enables frustum based tile generation which will fetch and render all the tiles inside the view frustum.\n* `FrustumRasterTilesCount`\n  * Limits the maximum number of `RasterTiles` along any one axis when `FrustumBasedTileGeneration` is enabled.\n* `FrustumTile3DMaxDistance`\n  * Limits the number of `Tile3Ds` generated along any one axis based on distance from the camera when `FrustumBasedTileGeneration` is enabled. The distance is measured in degrees.\n* `VSync`\n  * Sets the number of screen updates required before a buffer swap.\n* `MaxRasterTileRequestThreads`\n  * Sets the maximum number of threads that can be active at once for fetching Raster Tiles.\n* `MaxTile3DRequestThreads`\n  * Sets the maximum number of threads that can be active at once for fetching Tile3Ds.\n* `RasterTileRenderCacheTrimDistance`\n  * Sets the distance limit for Raster Tiles that is checked while trimming the cache. Tiles outside the limit get cleared.\n* `Tile3DRenderCacheTrimDistance`\n  * Sets the distance limit for Tile3Ds that is checked while trimming the cache. Tiles outside the limit get cleared.\n\n## Inputs\n* `w` `s` `a` `d`\n  * changes the position of the agent.\n* `Up` `Down` `Left` `Right`\n  * changes the orientation of the agent.\n* `f`\n  * toggles tile generation mode between grid-based and frustum-based.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatsuma22%2Fmaptiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsatsuma22%2Fmaptiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatsuma22%2Fmaptiles/lists"}