Modern Self-Hosted 3D WebGIS
3D topography and building visualization using self-hosted WebGL, independent of third-party providers.
Context
Many 3D solutions depend on paid third-party services. We wanted to demonstrate a self-hosted, independent 3D visualization.
That dependency carries three risks rarely weighed when a platform is chosen. First, running costs tied to view quotas — the bill rises precisely as your system becomes more used. Second, control over data: uploading a city model to someone else's servers becomes its own problem when the data concerns assets or permits. Third, continuity — future price changes or service discontinuation sit outside your control.
For institutions whose data must not leave their own infrastructure, these are not merely technical considerations but a question of feasibility.
What We Built
We built a 3D WebGIS for topography and building visualization using self-hosted WebGL — all assets and rendering run on our own infrastructure.
WebGL is an open standard already available in every modern browser, so 3D rendering can use the user's own graphics hardware with nothing to install. The consequence: rendering load sits on the client while the server only has to serve model files. That makes the server far lighter than an approach which renders server-side and ships images.
We use Three.js as the library above WebGL to handle camera, lighting, model loading, and interaction. Terrain and building models are served from our own server, so no requests leave for a third-party map provider.
Key Features
- 3D topography & building visualization.
- Self-hosted WebGL, no third-party vendor.
- Full control over data and performance.
- 3D navigation (pan, zoom, orbit) directly in the browser.
- No software installation and no paid API keys.
Results & Impact
The client gains full independence over its 3D platform. There are no view quotas to monitor, no API key that can be revoked, and the data stays on their own server.
The approach also makes cost predictable: you pay for server capacity, not for how many times the map is opened. For a publicly accessible system whose traffic is hard to forecast, that difference in cost model has a real budget impact.
One limitation deserves an honest mention: a self-hosted approach requires you to prepare your own basemap and elevation data, whereas third-party services supply those globally out of the box. For a bounded, well-defined working area this is an advantage, but for worldwide coverage a third-party service remains more practical.
When This Approach Fits
Self-hosting is worth choosing when your data is sensitive, your area of interest is bounded and well defined, or access volume is hard to predict. If what you need is a full-scale city model with queryable attributes, see our Digital Twin City service and the Digital Twin City 3D case study. For far more photorealistic object rendering, see 3D Gaussian Splatting.