How v1ctorsales/3d-gis works
This is a browser GIS app: the user draws and confirms a map area, then explores its terrain in an interactive 3D scene. The main control path runs through App, MapView, and Viewer3D; Viewer3D fetches elevation and satellite imagery plus optional OpenStreetMap overlays. The scene also supports terrain analytics, contours, flood-plane and elevation-profile tools, and export. The README documents these capabilities, but sampled excerpts do not show every internal call, so some subsystem links are intentionally omitted.
Main entry points: Viewer3D.jsx 3D viewer · App.jsx App workflow · MapView.jsx Map drawing · elevation.js Elevation service
Components 23
Area selection
- App workflow
src/App.jsx - Map drawing
src/components/Map/MapView.jsx - Selection panel
src/components/SelectionPanel/SelectionPanel.jsx - Geo utilities
src/utils/geo.js
Geospatial data
- Elevation service
src/services/elevation.js - Elevation tiles
- Satellite imagery
- OSM service
src/services/osm.js - Overpass proxy
api/overpass.js - Overpass mirrors
3D scene
- 3D viewer
src/components/Viewer3D/Viewer3D.jsx - Terrain rendering
src/components/Viewer3D/Terrain.jsx - Buildings overlay
src/components/Viewer3D/Buildings.jsx - Water overlay
src/components/Viewer3D/Water.jsx - Roads overlay
src/components/Viewer3D/Roads.jsx - Vegetation overlay
src/components/Viewer3D/Vegetation.jsx
Analysis tools
- Terrain analytics
src/components/Viewer3D/terrainAnalysis.js - Contours
src/components/Viewer3D/Contours.jsx - Flood analysis
src/components/Viewer3D/floodAnalysis.js - Elevation profile
src/components/Viewer3D/profileSampling.js - Profile chart
src/components/ProfilePanel/ProfilePanel.jsx - Scene export
src/components/Viewer3D/SceneExporter.jsx
Other components
- User
Connections 24
- User → Map drawing: draws area
- Map drawing → Geo utilities: converts geometry
- Map drawing → App workflow: reports bounds
- App workflow → Selection panel: provides selection
- Selection panel → App workflow: confirms area
- App workflow → 3D viewer: opens scene
- 3D viewer → Elevation service: requests terrain data
- 3D viewer → OSM service: requests overlays
- Elevation service → Elevation tiles: fetches elevation
- Elevation service → Satellite imagery: fetches imagery
- OSM service → Overpass proxy: posts queries
- OSM service → Overpass mirrors: queries directly
- Overpass proxy → Overpass mirrors: races mirrors
- 3D viewer → Terrain rendering: renders terrain
- 3D viewer → Buildings overlay: renders overlay
- 3D viewer → Water overlay: renders overlay
- 3D viewer → Roads overlay: renders overlay
- 3D viewer → Vegetation overlay: renders overlay
- 3D viewer → Terrain analytics: computes shading
- 3D viewer → Contours: renders contours
- 3D viewer → Flood analysis: supports flood analysis
- 3D viewer → Elevation profile: samples profile
- 3D viewer → Profile chart: shows profile
- 3D viewer → Scene export: offers scene export