GeoFaham: Domain-Specialized Multi-Agent Geospatial Analytics for Disaster Response
Organizations: Work done while the author was an AI Resident at the Microsoft AI for Good Lab, Nairobi, Kenya. · Microsoft AI for Good Lab · Mohamed bin Zayed University of Artificial Intelligence
Abstract
Real-world geospatial decision support requires more than single-step retrieval or code generation. Disaster-response questions often involve multi-source workflows that combine spatial databases, map-derived features, satellite imagery, raster products, and reusable geospatial artifacts, where correctness depends on preserving spatial scope, temporal context, and intermediate execution state. While large language models and coding agents offer a promising interface for such workflows, they struggle with geospatial-specific failure modes, including handling large artifacts, selecting the wrong evidence source, losing spatial or temporal metadata, and applying invalid geometric operations. We introduce GeoFaham, a domain-specialized multi-agent system for geospatial disaster analytics. GeoFaham decomposes workflows into specialist agents for vector operations, map feature retrieval, imagery discovery, and raster analysis, coordinated by an Orchestrator with a dual-ledger control loop for dependency-aware planning, progress tracking, validation, and replanning. To support artifact-centric collaboration, GeoFaham uses a Response Store that persists full geospatial outputs and typed metadata outside the LLM context window while agents exchange compact identifiers and summaries. We also introduce GeoFaham-Bench, a 40-task benchmark grounded in 17 real-world disaster records, designed to evaluate multi-step geospatial reasoning, cross-source integration, raster-vector computation, artifact generation, and recovery under non-rigid ground truth. We evaluate GeoFaham on GeoFaham-Bench against strong general-purpose coding-agent baselines, including Codex, Claude Code, and OpenCode. GeoFaham achieves the best overall performance, scoring 0.940 versus the next-best 0.879, while using 7.5 times fewer tokens. Our code and benchmark are publicly available at https://github.com/microsoft/GeoFaham.
Figures & tables
| System | ||||||
| GeoFaham | 0.897 | 0.951 | 0.982 | 0.999 | 0.933 | 0.940 |
| Codex | 0.794 | 0.890 | 0.974 | 0.986 | 0.896 | 0.879 |
| Claude Code | 0.738 | 0.863 | 0.902 | 0.974 | 0.873 | 0.837 |
| OpenCode | 0.622 | 0.828 | 0.865 | 1.000 | 0.838 | 0.780 |
| Config | |||||
| C1 | 0.849 | 0.832 | 0.825 | 0.680 | 0.808 0.12 |
| C2 | 0.944 | 0.906 | 0.912 | 0.885 | 0.914 0.07 |
| C3 | 0.983 | 0.958 | 0.961 | 0.952 | 0.964 0.03 |
| C4 | 0.980 | 0.957 | 0.958 | 0.934 | 0.959 0.04 |
| System | Duration sec. | Avg. Tokens Per Task | Median Tokens Per Task | Total Tokens (M) |
| GeoFaham | 169.64 | 106,344 | 86,974 | 4.29995 |
| Codex | 214.92 | 795,352 | 741,656 | 31.81 |
| ClaudeCode | 254.23 | 285,100 | 227,596 | 11.40 |
| OpenCode | 128.37 | 376,042 | 317,846 | 15.04 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| ID | Type | Location | Country | Date | Available Data |
| 1 | Tornado | Saint Louis | USA | 2025-05-16 | Building damage |
| 2 | Hurricane | Black River | Jamaica | 2025-10-29 | Building damage |
| 3 | Hurricane | Montego Bay | Jamaica | 2025-10-31 | Building damage |
| 4 | Flood | Porto Alegre | Brazil | 2024-05-09 | Building damage |
| 5 | Cyclone | Mamoudzou | Mayotte | 2024-12-18 | Building damage |
| 6 | Flood | Valencia | Spain | 2024-10-31 | Flood map |
| Task Category | Tasks (#) | Share (%) |
| Point-of-interest impact analysis | 11 | 27.5% |
| Infrastructure analysis | 8 | 20.0% |
| Clustering and aggregation | 7 | 17.5% |
| Building-damage assessment | 4 | 10.0% |
| Comparative analysis | 4 | 10.0% |
| Flood analysis | 2 | 5.0% |
| Dimension | GeoFaham | Codex | Claude | OpenCode |
| Task Outcome | ||||
| Category Score | 0.897 | 0.794 | 0.738 | 0.622 |
| Answer Accuracy | 0.876 | 0.766 | 0.669 | 0.586 |
| Answer Completeness | 0.918 | 0.821 | 0.806 | 0.657 |
| Geospatial Method | ||||
| Category Score | 0.951 | 0.890 | 0.863 | 0.828 |
| Dimension | C1 | C2 | C3 | C4 |
| Planning | ||||
| Plan Correctness | 0.861 | 0.948 | 0.994 | 0.992 |
| Plan Completeness | 0.833 | 0.951 | 0.995 | 0.988 |
| Execution | ||||
| Tool Selection | 0.924 | 0.978 | 0.998 | 0.998 |
| Parameter Accuracy | 0.797 | 0.879 | 0.942 | 0.935 |
| Config | Errors | Recovered Runs | Replan | Replan OK | Slow | Redundant |
| C1 | 61.3% | 55.0% | 27.5% | 22.5% | 13.8% | 38.8% |
| C2 | 61.3% | 61.3% | 31.2% | 28.7% | 18.8% | 42.5% |
| C3 | 33.8% | 33.8% | 3.8% | 3.8% | 1.2% | 16.2% |
| C4 | 28.8% | 28.8% | 5.0% | 5.0% | 1.2% | 17.5% |
| Config | Mean | Median | Prompt | Completion |
| C1 | 124,606 | 80,232 | 122,567 | 2,039 |
| C2 | 129,259 | 93,800 | 127,156 | 2,103 |
| C3 | 104,146 | 92,844 | 99,606 | 4,540 |
| C4 | 105,668 | 76,938 | 99,738 | 5,930 |
Geospatial Reasoning
Geospatial reasoning studies how AI interprets locations, maps, spatial relationships, and Earth-observation data to answer questions and make decisions.
See all 79 papers