This repository contains the dataset and source code for our ACM SIGSPATIAL 2025 research paper "LLM Agents for Georelating - A New Task for Locating Events" by Moltzen, Huang, and Usbeck. If you want to use our work, please cite it as stated below:
Kai Moltzen, Junbo Huang, and Ricardo Usbeck. 2025. LLM Agents for Georelating - A New Task for Locating Events. In The 33rd ACM International Conference on Advances in Geographic Information Systems (SIGSPATIAL ’25), November 3–6, 2025, Minneapolis, MN, USA. ACM, New York, NY, USA, 4 pages. https://doi.org/10.1145/3748636.3762733GANDR is a silver-standard dataset of 2,000 synthetic disaster reports with annotated H3 DGGS cell indices and geospatial relations for the US and EU.
Please find it in the data/ directory. In case you use the dataset, please cite the GeoAI'25 Workshop paper in which we introduce the dataset, novel cell-based metrics, and conduct thorough evaluations:
Kai Moltzen and Ricardo Usbeck. 2025. GANDR - Georelating Dataset, Metrics, and Evaluation. In The 8th ACM SIGSPATIAL International Workshop on AI for Geographic Knowledge Discovery (GeoAI ’25), November 3–6, 2025, Minneapolis, MN, USA. ACM, New York, NY, USA, 11 pages. https://doi.org/10.1145/3764912.3770819The dataset is also available on Zenodo: https://doi.org/10.5281/zenodo.15612556
- Please ensure you have an environment file containing your API key for the LLM invocation
SAIA_API_KEYand GeoNames API usernameGEONAMES_USERNAME. - In case you want to run the code to geocode the LGL corpus or GeoCoDe dataset, please download and save it to
data/.
This code was written in Python 3.12. To run the code, please install the requirements from requirements.txt:
pip install -r requirements.txtThe code is structured as follows:
agent_components/: Contains the code for the internal and external environments, LLM agents, and hybrid memory used in the experiments.data/: Contains the GANDR corpus, as well as the few-shot examples used in the experiments.data_handler/: Contains the code for constructing the GANDR corpus, as well as for loading the LGL and GeoCodDe datasets.'evaluation/: Contains the code for evaluating the results of the experiments, split into geocoding and georelating.helpers/: Contains helper functions for the experiments.models/: Contains the code for the Pydantic models defined for validating the in- and outputs.modules/: Contains the code for the main modules used in the experiments.output/: The directory to store the output of the experiments.
The main module is the georelating.py file, which contains the main function to run the Georelating experiments.
If you want to run candidate generation or resolution separately, you can use the geocoding.py files.