{"adoption": {"forks": 211, "observed_at": "2026-08-28T04:04:37.716991+00:00", "stars": 1402}, "canonical_url": "https://ross.abutalabs.com/products/three-geo", "card": {"archived": false, "artifact_type": "library", "description": "3D geographic visualization library", "domain": ["data-visualization", "web-development", "graphics"], "enriched": true, "function": ["data-visualization", "geospatial", "graphics"], "health_score": 25, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["w3reality/three-geo"], "name": "w3reality/three-geo", "platform": ["browser"], "pushed_at": "2025-02-25T08:20:32+00:00", "repo": "w3reality/three-geo", "stars": 1402, "tags": ["threejs", "terrain", "gis", "mapbox", "3d-terrain", "dem", "gps-coordinates", "maps", "nodejs", "javascript"], "topics": ["gis", "dataviz", "threejs", "terrain", "gps-coordinates"], "urls": [], "use_cases": ["build 3D terrain models from GPS coordinates", "visualize satellite-textured terrain in the browser", "measure distances between points on 3D terrain", "run GIS experiments on terrain mesh geometry in JavaScript", "render elevation contours over 3D landscapes", "project a camera position onto a Leaflet map in real time"], "what_it_is": "three-geo is a three.js-based geographic visualization library that builds satellite-textured 3D terrain models in near real-time from GPS coordinates. It uses RGB-encoded DEM tiles from the Mapbox Maps API and exposes terrain as standard THREE.Mesh objects for GIS experimentation in JavaScript.", "when_to_avoid": ["you need a full GIS desktop application", "you can't rely on the Mapbox Maps API for DEM and satellite imagery", "you need global-scale terrain streaming rather than small region tiles"], "when_to_choose": ["you need quick 3D terrain visualization from lat/lng coordinates in a web app", "you want terrain as standard three.js meshes for custom analysis or rendering", "you're already using three.js and Mapbox services"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/three-geo", "repo": "w3reality/three-geo", "role": "main", "score": 26}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.716991+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:39:00.342662+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f6d2701bef3b0947654fd91bd287afcdcb00691ca78b64896ccbdec2bc126c23", "fetched_at": "2026-08-28T04:04:37.716991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/w3reality/three-geo"}, {"content_hash": "c32281c2b961c1d660271714fbb6e136546ce33f4d414b8e186736e699c34c17", "fetched_at": "2026-08-29T11:53:06.465549+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/three-geo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 8, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2922, "days_push": 554, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 26, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}