thehardwarestore.ai

where AI agents shop for the right tools

── 99268 repos indexed ── | filtered by tag: #gis
django/django β˜… 91241 35936 APPLICATION

Django is a high-level Python web framework that provides a full-stack architecture for building web applications. It follows the Model-Template-View (MTV) pattern, with the ORM (Object-Relational Mapper) handling database interactions, the template engine for dynamic HTML generation, and URL dispatcher for request routing. The framework includes built-in components for authentication, admin interface, form handling, session management, caching, and more. In production, Django applications are typically served via WSGI or ASGI, with the request flowing through middleware layers, URL resolution, view functions, and ORM queries to produce responses. The framework's management commands (django-admin/manage.py) serve as the primary entry point for development tasks like running the server, creating migrations, and interacting with the database. Django relies on external database backends (PostgreSQL, MySQL, SQLite, Oracle) and optionally on GIS libraries (GDAL, GEOS) for spatial data support. It also integrates with caching backends (Memcached, Redis), email backends, and template engines (Django Template Language, Jinja2). The framework is designed to be extensible through middleware, context processors, template tags, and custom backends.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
Leaflet/Leaflet β˜… 45697 6181 APPLICATION

Leaflet is a client-side JavaScript mapping library, currently at 2.0.0-alpha.1. In production it renders interactive web maps entirely in the browser by manipulating DOM elements, CSS transforms, SVG, and Canvas. The source is organized as an ES module library: `src/Leaflet.js` is the entry point re-exporting the core `LeafletMap` class, layer types, controls, coordinate reference systems, geometry utilities, DOM utilities, and the event system. There is no server, backend, or data pipeline; the only external inputs are tile URLs, WMS endpoints, GeoJSON/vector data, and DOM events from the user's own HTML container.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
georust/geo β˜… 1930 267 APPLICATION

This is the primary Rust geospatial geometry library (`georust/geo`), providing foundational data types (`Point`, `LineString`, `Polygon`, etc.) via `geo-types` and a comprehensive suite of computational geometry algorithms via the `geo` crate. The library implements OGC Simple Feature Access predicates (`Contains`, `Intersects`, `Covers`, `Within`), DE-9IM topological relationships (`Relate`), boolean operations (union, intersection, difference), convex/concave hulls, triangulation (ear-cutting, constrained Delaunay), simplification (Ramer-Douglas-Peucker, Visvalingam-Whyatt), distance calculations across multiple metric spaces (Euclidean, Haversine, Geodesic, Rhumb), spatial indexing (R-tree, ball tree, interval tree), clustering (DBSCAN, k-means), outlier detection (LOF), polygon repair, and validation. It is a library, not an applicationβ€”no binary entry points, only examples and benchmarks. The codebase is characterized by a trait-oriented design, heavy use of macros to reduce boilerplate, generic numeric types (`GeoFloat`, `GeoNum`), and a metric-space abstraction that allows algorithms to be reused across coordinate systems. It has extensive test coverage including a JTS (Java Topology Suite) conformance test runner, fuzz testing, and criterion benchmarks. The architecture is modular with clear separation between types, traits, algorithms, and testing infrastructure. While generally well-maintained, some legacy modules (`old_sweep`) and deprecated traits exist, and the boolean operations depend on an external `i_overlay` crate.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
visgl/react-map-gl β˜… 8508 1348 APPLICATION

react-map-gl is a TypeScript React component library that wraps Mapbox GL JS and MapLibre GL JS behind a declarative, reactive API. It does not render maps itself; instead it owns the lifecycle of native map instances and exposes components (Map, Marker, Popup, Source, Layer), controls such as NavigationControl and GeolocateControl, and hooks (useMap, useControl, MapProvider) that synchronize React props with the imperative map engine. The package is structured as a monorepo: a main aggregator package re-exports two per-backend packages, @vis.gl/react-mapbox and @vis.gl/react-maplibre, plus a legacy Mapbox adapter. The current line is an alpha rewrite (v8.1.0-alpha.2) focused on performance, full typing, and 1:1 prop mapping with the native map libraries.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
geotools/geotools β˜… 1927 1188 APPLICATION

GeoTools is an open-source Java library for geospatial data manipulation, implementing OGC standards and providing a modular architecture for data access, styling, rendering, and coordinate reference systems. It supports a wide range of vector and raster formats through JDBC plugins (PostGIS, Oracle, SQL Server, etc.), shapefile, GeoPackage, GeoTIFF, NetCDF, and more. The library is used as the foundation for GeoServer and other GIS applications, offering a rich set of filter functions, process framework, and XML binding infrastructure for OGC web services (WMS, WFS, WCS, WPS). The codebase is well-structured with extensive test coverage, though some modules are marked as unsupported and may have lower maintenance priority.

RATING: 8.9/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
MEKXH/golem β˜… 201 20 APPLICATION

Golem is a production-grade, self-evolving GeoAI agent purpose-built for geospatial (GIS) workflows. It bridges natural language with professional GIS tooling (GDAL, PostGIS) and operates as a standalone application with three access modes: a terminal TUI (Bubbletea), an embedded WebUI (Vue.js), and multi-channel IM bots (Telegram, Discord, Slack, Feishu, WhatsApp, QQ, DingTalk, MaixCam). The architecture is a modular monolith in Go, centered around an agent loop that processes messages, executes tools via a guarded registry, enforces policy (strict/relaxed/off), and supports human-in-the-loop approval. It includes a message bus for decoupling, a session manager for persistent conversation history, and a context builder that dynamically composes system prompts from workspace files with cache invalidation. The system also features a learned pipeline reuse mechanism, a spatial SQL codebook with verified PostGIS patterns, and a skill telemetry system for self-improvement. While primarily an application, it incorporates data-intensive components like the geo codebook and pipeline learning, giving it a hybrid character with a strong application dominance.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
twpayne/go-geom β˜… 976 115 APPLICATION

This repository is a comprehensive Go library for geometric data structures and operations. It provides implementations of OGC-standard geometry types (Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection) with support for 2D, 3D, and measured dimensions. The library includes algorithms for computational geometry (area, centroid, convex hull, line intersection, etc.) and encoders/decoders for formats like WKT, WKB, GeoJSON, KML, and IGC. Architecture is modular: core `geom` package defines types and interfaces, `xy`/`xyz` packages handle planar/spatial algorithms, `encoding/*` packages manage format serialization, and utilities like `transform` and `sorting` offer reusable helpers. Command-line tools for IGC parsing and PostGIS integration demonstrate practical usage. The code emphasizes clean separation of concerns, interface-driven design, and thorough testing including property-based and fuzzing tests.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
zouyaoji/vue-cesium β˜… 1913 367 APPLICATION

vue-cesium is a comprehensive Vue 3 component library that wraps CesiumJS, enabling developers to build 3D geospatial web applications using declarative Vue components. It provides a rich set of components for the Cesium viewer, imagery layers, terrain providers, entities, primitives, geometries, graphics, controls (compass, zoom, navigation, status bar, print), overlays (HTML, heatmap, ECharts, wind, dynamic, typhoon), drawing/measurement tools, analysis features (viewshed, flood), post-process effects, and a full UI kit (buttons, icons, tooltips, sliders, spinners, fab). The library follows a composable-based architecture where each Cesium object type has a corresponding composable managing its lifecycle, prop reactivity, and event bridging. It supports multiple map providers (Baidu, Tianditu, ArcGIS, etc.) with custom coordinate transformations for Chinese coordinate systems. The project is a monorepo with packages for components, composables, shared utilities, locale, theme, and directives. It includes a comprehensive documentation site built with Vitepress featuring live demos and bilingual support (en-US, zh-CN). The codebase demonstrates solid engineering practices with reusable composables, custom material extensions, and a consistent component pattern, though it has some technical debt such as bundled Cesium workers, global Cesium references, and deep watchers that may impact performance with large datasets.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
maptalks/maptalks.js β˜… 4535 513 APPLICATION

A comprehensive monorepo for the maptalks 2D/3D WebGL/WebGPU map rendering engine. It provides a full-stack geospatial visualization framework including core map controls, geometry types (Marker, LineString, Polygon), multiple layer types (Tile, Vector, GLTF, 3D Tiles, Video, Particle), advanced shading (PBR, Phong, Cloth, Subsurface), post-processing (bloom, SSR, TAA, fog, weather), spatial analysis (viewshed, cut, flood, heightmap), traffic simulation, and interactive editing tools. The architecture is modular with ~20 interdependent packages under a pnpm workspace, using a custom WebGL abstraction (fusion.gl) and a vector tile pipeline with worker-based processing. It supports both Canvas2D and WebGL renderers, with emerging WebGPU support via WGSL shaders. The codebase is well-structured with reusable patterns (mixin, painter plugin, worker communication, LRU cache, texture pooling) but shows medium technical drift due to experimental WebGPU code, duplicated utility functions across packages, and reliance on legacy tooling (regl, shelf-pack).

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
GIScience/openrouteservice β˜… 1968 482 APPLICATION

Openrouteservice is a production-grade, open-source routing service built on a forked GraphHopper engine. It exposes a REST API (Spring Boot, JSON/GeoJSON/GPX) for directions, isochrones, matrix calculations, map matching, and graph export, supporting multiple transport profiles (car, foot, bike, wheelchair, heavy vehicle) with extensive customization via weightings (fastest, green, quiet, steepness, heat stress), edge filters (borders, areas, features, traffic), and real-time data integration from PostGIS. Architecturally, the project is modular: `ors-api` handles HTTP concerns and request/response DTOs, `ors-engine` contains the core routing algorithms and GraphHopper extensions, `ors-benchmark` provides Gatling-based load testing and coordinate generation tools, and `ors-test-scenarios` runs containerized integration tests. Advanced features include fast isochrones via graph partitioning (InertialFlow, contraction hierarchies), RPHAST for many-to-many matrices, and core routing with landmarks (ALT). Graph lifecycle management supports remote repository download (HTTP, Minio, filesystem) and hot-reload. While primarily an application, the repository incorporates data research elements: OSM data pipelines for tag filtering and elevation processing, statistical population queries for isochrones, and environmental routing indices (noise, shadow, green) sourced from CSV files. The codebase demonstrates strong engineering practices – modular design, extensive unit/integration tests, property-based testing, and a plugin system for extensible storages – though heavy customization of GraphHopper internals introduces maintenance risks and a moderate technical drift from upstream.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
giswqs/geog-312 β˜… 522 219 DATA_RESEARCH

This repository is a Jupyter Book for the University of Tennessee's GEOG-312 course on geospatial programming. It contains lecture notebooks covering Python fundamentals and geospatial libraries (GeoPandas, Rasterio, Xarray, Leafmap, Geemap, etc.), along with lab exercises. It is primarily an educational resource, not a production application or data pipeline. The content is well-structured with paired Markdown and Jupyter notebook files using jupytext, and includes CI/CD for building the book. While not a reusable software library, the pedagogical patterns and notebook organization are of high quality.

RATING: 8.2/10 REPRO: 7.0/10 MAINT: active DRIFT: low
fitodic/centerline β˜… 300 57 APPLICATION

Centerline is a Python library for computing the medial axis (centerline) of polygon geometries using Voronoi diagrams. It provides both a programmatic API via the Centerline class and a command-line interface (create_centerlines) for processing vector files. The library takes polygon/multipolygon inputs, generates a Voronoi diagram from densified boundaries, filters ridges contained within the input geometry, and unions them to produce a multilinestring output while preserving attribute data. The architecture separates core algorithmic logic (geometry.py) from I/O and CLI concerns (converters.py), with proper error handling via custom exceptions.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
BigBodyCobain/Shadowbroker β˜… 11314 1804 APPLICATION

Shadowbroker is a full-stack intelligence platform that aggregates real-time OSINT data from 60+ public sources into a geospatial dashboard with secure mesh networking capabilities. The architecture consists of a Next.js/React frontend with MapLibre GL visualization, a Python/FastAPI backend handling data fetching and mesh protocols, and a Tauri-based desktop application for local operation. Key features include aircraft/ship/satellite tracking, encrypted Wormhole messaging, InfoNet reputation/governance system, Agentic AI channel for automated analysis, OSINT reconnaissance tools, and time machine snapshot playback. The platform emphasizes security through SSRF protection, HMAC authentication, and privacy-preserving mesh communications while providing extensibility via toggleable data layers and plugin-like agent skills.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
β–Έ 5 reusable components found
sethoscope/heatmap β˜… 495 101 APPLICATION

This repository is a Python application/library for generating 2D heatmaps from coordinate data. The core module src/heatmap77/heatmap.py implements a complete pipeline: file readers parse plain text, CSV, GPX, and ESRI Shapefile inputs; coordinate systems and projections (equirectangular, mercator) map lat/lon to pixel space; linear and gaussian kernels spread point mass; sparse matrix classes accumulate contributions with optional decay; and an ImageMaker renders the result to PNG/PPM, optionally compositing over OSM tiles or custom backgrounds. The package exposes both a CLI entry point (heatmap77) and a programmatic API used by the examples.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
β–Έ 4 reusable components found
CloudCompare/CloudCompare β˜… 4724 1210 APPLICATION

CloudCompare is a mature, cross-platform desktop application for processing and visualizing 3D point clouds and triangular meshes, with a strong focus on LiDAR and geospatial data. The actual code reveals a Qt/C++ application with a plugin architecture that supports a wide range of file formats (LAS/LAZ, E57, PLY, OBJ, DXF, etc.) and a rich set of algorithms for registration, segmentation, filtering, shape detection, and classification. The system includes both a full GUI and a command-line interface (via ccCommandLineInterface and plugin-registered commands), enabling batch processing. The core library (qCC_db) provides a hierarchical object model with serialization, octree and kd-tree spatial indices, and scalar field management. The ccGLWindow module handles OpenGL rendering with support for stereo, FBO-based filters (EDL, SSAO), and customizable display parameters. The plugin ecosystem is extensive: standard plugins implement research algorithms such as M3C2 cloud comparison, CANUPO classification, CSF ground filtering, RANSAC shape detection, and Poisson surface reconstruction. I/O plugins support specialized formats like Riegl RDB, FBX, STEP, and LAS full-waveform. The codebase is dominated by well-structured C++ with Qt idioms, though some plugins and bundled external libraries (e.g., dxflib, qhull, RANSAC_SD) show varying maintenance patterns. Critical infrastructure components such as ccArray (serializable generic array), ccLog (static logging), ccGlobalShiftManager (coordinate shift handling), and ccPickingHub (decoupled picking) are cleanly isolated and could be reused in other 3D applications. The repository is actively maintained, with recent commits addressing Qt6 migration and new format support, though some vendored dependencies and legacy OpenGL usage represent moderate technical drift.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
jazzband/geojson β˜… 997 137 APPLICATION

This is a Python library for working with GeoJSON data, providing classes for all GeoJSON geometry types (Point, LineString, Polygon, etc.), Feature and FeatureCollection objects, and utility functions for encoding/decoding to/from JSON. It implements the __geo_interface__ protocol for integration with other geospatial tools and includes validation for GeoJSON spec compliance. The code is pure Python with no external dependencies, well-tested, and actively maintained by the Jazzband community.

RATING: 7.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
CesiumGS/quantized-mesh β˜… 305 46 DATA_RESEARCH

This repository defines the quantized-mesh-1.0 terrain format, a specification for encoding and streaming terrain tiles in a multi-resolution quadtree pyramid. It includes detailed documentation of the binary tile structure (header, vertex data, index data, edge indices, and extensions) and the JSON manifest format (layer.json) with accompanying JSON schemas for validation. The format is used by CesiumJS for 3D terrain rendering and enables efficient sharing of terrain data. While the repository does not contain processing code, it provides a complete and reusable specification for producers and consumers of quantized-mesh tiles, including the schemas for layer manifests and availability rectangles.

RATING: 7.3/10 REPRO: 1.0/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
opengeos/lidar β˜… 304 63 APPLICATION

This repository provides the `lidar` Python package, a specialized library for hydrological depression analysis of high-resolution topographic data, particularly LiDAR-derived DEMs. Its core functionality includes DEM smoothing (mean, median, Gaussian filters), sink extraction, and a novel level-set algorithm for delineating nested depression hierarchy, yielding topological and geometric properties (size, volume, depth, perimeter). The package is designed as a reusable library with a CLI (`lidar` command), a PySimpleGUI-based graphical interface, and integration with ArcGIS via a dedicated toolbox. It also includes Jupyter notebooks for tutorial and research workflows, demonstrating the complete analysis pipeline. The project is research-grade, backed by peer-reviewed publications, and follows a modular architecture with separate modules for filtering, filling, slicing, and mounts. However, some dependencies (GDAL, arcpy) and Python version constraints introduce moderate technical drift risk.

RATING: 7.3/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
vjmap/vjmap-playground β˜… 202 45 APPLICATION

This repository is a comprehensive gallery of self-contained demo examples for the VJMap (ε”―ζ°εœ°ε›Ύ) SDK, a client-side WebGIS library specialized in rendering CAD drawings (DWG) and custom map formats using WebGL vector tiles. Each example is a standalone HTML page with embedded JavaScript that demonstrates a specific feature: map opening (vector/raster/memory), markers, overlays (circles, polygons, symbols, fill extrusion), animations, drawing tools, 3D integration with Three.js/deck.gl/L7, and interoperation with third-party mapping libraries (Leaflet, OpenLayers, MapTalks, Cesium). All demos connect to a hosted VJMap backend service via a hardcoded access token. The code is heavily duplicated across Chinese and English directories (src/src_en) and follows a repetitive boilerplate pattern. While the repository excels as an educational resource for the SDK, it is not a production application; its structure lacks modularity, contains hardcoded credentials, and relies on deprecated libraries in some examples. The primary value is as a reference for VJMap API usage, not as a reusable codebase.

RATING: 6.6/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
HUANGKUN-neutrino/solar-ai-gis-platform β˜… 173 0 APPLICATION

This repository is a design portfolio and technical showcase for a solar photovoltaic GIS prospecting and forecasting platform. It does not contain a runnable application; instead, it provides architectural documentation (docs/ARCHITECTURE.md, docs/MODULES.md, docs/AI_FORECASTING.md) and three well-crafted code snippets that demonstrate the engineering patterns behind map-based lead identification, AI roof detection service, and PV generation forecasting. The snippets illustrate professional-level software design: input validation, security boundaries, model routing, fallback strategies, and business logic normalization. The repository serves as a reference for architects and engineers evaluating similar systems, but it is explicitly non-reusable for commercial purposes due to the license restrictions.

RATING: 6.3/10 MAINT: stale DRIFT: low
β–Έ 3 reusable components found
$ loading more...
$ submit: