Skip to content

Frataj/3D-OSM-GODOT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 

Repository files navigation

3D-OSM-GODOT

Introduction

3D-OSM-GODOT is a 3D map builder built to visualize OpenStreetMap data in the Game Engine Godot. The goal if this school Project was to build a foundation on which later projects can build on. The end goal will be to build a game in which the player can explore their home City or any place in the world and compare the Data from OpenStreetMap with Streetsview images from e.g. Mapillary and help to improve the Data by marking or changing wrong or outdated features.

Current Status

Development

The Semester is over and development for now has stopped. Feel free to create pull requests if you are interested in further advancing this Project.

Implemented features

The following Layers with the stated features have been implemented:

Buildings

All buildings will be displayed with their footprint raised to the height specified in the height Tag if it is available, otherwise it will be raised to a standard height which is 1 Floor = 2.75m. Buildings are displayed as texture less grey Polygons.
building altstetten

Common

The layer "common" holds information about certain types of land cover. Currently it is always displayed as a flat, light green surface
common altstetten

Natural

The layer "natural" also holds information about the land cover and is a flat, dark green surface.
natural altstetten

Highways

The layer name highways is a bit unfortunate, since it does not only include Highways but any kind of land based transportation way, i.e. Roads, Paths and Railways. They are currently all displayed as black lines. Some specific types of Roads use a defined width.
highways altstetten

Water

The water layer defines all forms of water, flowing and still, man made and natural. Still water and larger rivers are stored as Polygons, smaller streams are stored as linestrings.
water altstetten

POIs

The layer "points" holds the position of all kind of Point of interests. We currently display trees and benches, but the layer includes a lot more e.g.: Garbage bins, Toilets, Statues, Bus stops etc.
POIs altstetten

Data source

We use the Vector tiles, which are generated by the user StrandedKitty for their streets-gl project

Tile-Reader

To use the Vector tiles within the Godot Project, we use the godot-geo-tile-loader which was provided by Pirmin Kalberer for this project. It provides a lot of useful functions related to extracting Data from the Vector tiles and might in the future get extended with even more functions like downloading the Tiles if they can not be found locally.

Usage

Godot

To run this project, currently you need to install Godot locally. You can do this by following this link: https://godotengine.org/.

Set your starting location

Navigate to /code/main.gd and edit the lines const START_X = x and const START_Y = y to the coordinates of your choosing. To find the location you wish you can for example use the Tool provided by Maptiler. Use Zoom level 16 and the Google Coordinate notation.

Running the application

Open /code/project.godot with Godot and press F5 to run the main scene.

Controls

Movement uses the standard FPS control scheme, with W, A, S & D to move around and shift to "sprint". Currently the player is always flying, to ascend, press Q, to descend press Y.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published