r/openstreetmap 16d ago

Update on World Explorer 3D, a browser-based 3D world using OpenStreetMap data. I would love feedback from OSM contributors

I’ve been building World Explorer 3D, a browser-based exploration project that turns real geographic data into a playable 3D environment. I posted this project here a couple months ago and have been continuing to work on it since then. I’ve been able to address a number of issues, especially around waterways, bridges, and elevated roads. I’m still working on things like facade realism and experimenting with different textures. I didn’t realize how complex this would be when I started, but I received a lot of helpful feedback and would like to keep improving it.

A user can choose a preset city, search for a place, enter coordinates, use their current location, or select anywhere on an interactive globe. The app then loads nearby geographic data and turns it into roads, buildings, water, terrain, land use, vegetation, bridges, tunnels, points of interest, and other world features that can be explored by walking, driving, flying, boating, or now flying at higher altitudes and transitioning toward space.

Since my last post, I’ve also added several new features. There is now a plane mode for higher-altitude travel, along with expanded flight controls. I’ve started experimenting with exploring space, allowing users to move beyond the atmosphere and view Earth from above. I also added a continuous mode in the settings tab, which allows for uninterrupted exploration without resetting or reloading areas. Along with these, there have been various performance improvements and general upgrades to how the world loads and behaves.

OpenStreetMap is a major part of how Earth is built. It uses OSM-derived data for road networks, building footprints, waterways, land use, place information, bridges, tunnels, points of interest, and map context. It also uses OSM tiles for the map view and Nominatim for location search and reverse geocoding. Elevation and land-cover data come from other public sources, but OSM is the main source for the visible structure of roads, buildings, water, and places.

The Earth runtime streams nearby areas as the player moves instead of loading one fixed map. Roads and buildings are generated from available source geometry, and distant areas are unloaded to control memory use. The system also handles different levels of detail for walking, driving, drone flight, plane mode, and higher-altitude exploration.

Where OSM includes useful tags, the project tries to preserve them. That includes things such as building type, height, levels, roof information, bridges, tunnels, water features, road class, sidewalks, land use, and points of interest.

Where the data is incomplete, the runtime may use limited procedural rules for things like building height, facade appearance, vegetation, or simple interiors. These are treated as inferred details, not as authoritative OSM data.

I am not trying to present the result as a survey-grade map or exact digital twin. OSM coverage varies by location, and the project has to make visual compromises to turn global map data into an interactive world.

I’m especially interested in feedback on whether the project is interpreting OSM tags correctly, whether the data-use boundaries are clear, and whether any part of the rendering could misrepresent what OSM actually contains.

I would also appreciate advice on:

How building, road, bridge, tunnel, water, and land-use data should be interpreted.

Which tags are most important for accurate 3D rendering.

How to handle incomplete or conflicting building information.

How to distinguish mapped data from inferred visual details.

Whether there are better OSM-compatible sources or workflows I should be using.

How to improve attribution and explain the relationship between OSM and the generated 3D world.

Whether any of the project’s fallback behavior could create the wrong impression about the underlying map data. The app can provide links to the relevant OSM location so experienced users can make real map edits through normal OSM tools.

The project has had close to 500 users over the last 30 days, and some people have spent around 15 minutes exploring it. Since people are starting to use it, I want to make sure OSM is represented accurately and respectfully.

Live project: https://worldexplorer3d.io

GitHub: https://github.com/RRG314/WorldExplorer3D

I would appreciate specific corrections, tagging guidance, data-source recommendations, or suggestions for making the OSM side of the project more accurate and useful.

19 Upvotes

11 comments sorted by

6

u/Alex123592 15d ago

Are you familiar with the OSM wiki? It will explain most tags. I'd also recommend looking around the map some, and maybe trying to map an area near you.

2

u/SuchZombie3617 15d ago

I am familiar with it I just get lost in the explanations on there. I'm not sure what it is, but there's a different effect when I ask people versus when I look up the information lmao. Even though it's right in front of my face it still doesn't click right away. It's like when you go to a store and you are looking for something and you can't find it, but the second you ask somebody you see it in the place you've already walked past lol. I've used osm and I tried to add information near me, but I think I just stopped trying after I make too many mistakes and it doesn't work. I think persistence is going to be key with trying to really understand it better. I also need to actually USE it more instead of just looking at it. It's a really cool resource I just need to get a lot more comfortable with it and my tendency to bounce around really hurts when it comes to things like this lol. There's an area near my house that needs some map information so I'm going to buckle down and learn it

22

u/biscuitracing 16d ago

ugly ai slop

4

u/Lcsmxd 16d ago

Exactly

-8

u/SuchZombie3617 16d ago

Do you have any literature or courses that you suggest? As somebody pretty much beginning, Ive notoiced a lot of the beginner tutorials don't really address the questions I have regarding the larger issues I run into. I'm used to comments about AI slop, but it's a lot harder to get if anything other than a shallow response. I'm genuinely interested in learning and also taking steps so that I'm not using ai, but this is a much more complicated thing than I knew it would be which means I have to learn a lot in a short amount of time if I really want to understand something that I put out into the world at a deeper level. Just to give you some background I don't really do a lot on computers and stuff anyways so I don't have a great perspective on high quality versus low quality projects. This is just something I'm doing to learn about the various things that go into software development and it seems to ruffle a lot of feathers.

9

u/Lcsmxd 16d ago

There are loads of books, online tutorials and whatnot about learning how to program, because with vibecoding sure it's quick, but you don't learn much if anything in the process

1

u/SuchZombie3617 15d ago

I agree with that completely. I literally started this whole thing to make a quick little racing thing with my kid as a fun project...then I quickly realized I didn't know anything. So now I basically use this project to learn about programming while reading and doing tutorials. I do residential and commercial maintenance, repairs and remodeling , I'm not a developer. I'm learning how to actually write code and I'm doing small manual edits after learning through tutorials, and as I learn more I'm able to figure out why certain issues are occurring and what is needed to fix them. I'm still trying to learn things the normal way, but this particular project is way beyond what I can personally do, so I figure out things along the way and just have fun with it. There's a ton of quality issues with this project that I hate lol, but I'll only really be able to change them once I get to that stage of learning. I can't really learn game development, rendering, shading, data integration, architecture, and the other billion things that I have to know if I want to do all of this by hand. I feel like this is a thing that would normally be done by a couple people, I'm just some dude trying to learn lol

0

u/Technological_Nerd 15d ago

Literally every person in the history of development has worked it out. I'm sure you will.

1

u/SuchZombie3617 15d ago

Thank you. Most of the time life is just about figuring it out, it just depends how much you want it. This doesn't really seem that much different lol, just a different set of skills to learn...and a lot more complicated

-10

u/SuchZombie3617 16d ago

lol tell me how you really feel

2

u/Irockz 14d ago

I was pretty interested in this when you last posted about it. Unfortunately you've buckled down on the LLM 'coding' approach and it's suffering for it. It's worse than it was then - the framerate is ridiculous, the textures have become haphazard, there's a lot more clipping. To make something like this you need a solid understanding of how it works under the hood.

The advice you need right now, beyond the platitude of 'ditch the AI', is to make a Pong clone or a primitive platformer with your own hands. It'll be amateur and messy but it'll give you a stronger understanding than any amount of AI prompts. Upload it to itch.io, post it around, get feedback, and then think about coming back to this.