How POIBench works
POIBench compares point-of-interest (POI) datasets against a reference dataset. You upload one reference dataset and up to four comparable datasets for the same area. POIBench finds, for every reference POI, the same place in each comparable dataset, then measures how complete and how accurately located each dataset is — overall, by POI category and by distance to the city center.
No data of your own yet? Run a demo on 14 U.S. metropolitan areas: Google Places as the reference, against OpenStreetMap, Overture Maps, Foursquare and SafeGraph.
Five fields
Formats: CSV, GeoJSON, GeoParquet, GeoPackage, Shapefile (zipped) · coordinates in EPSG:4326 · examples: example_reference.csv · example_comparable.csv
Use these column names exactly; CSV files need lat and lon columns. M1 checks
each file before uploading it. Categories are free text; the reference categories define the groups used in
every per-category result.
Six modules
Benchmark configuration
Upload the reference and comparable datasets, or pick a demo metro area. Set the study area (data extent, a drawn box or an uploaded polygon), choose POI categories, and set the city center and the projected CRS used for distances.
Two-stage entity matching
Stage 1 finds candidates by location and name; Stage 2 verifies them with an XGBoost classifier. Use the pretrained model, or label sample pairs in the browser (or upload labels) and train your own.
Quality assessment
Completeness and location accuracy by dataset and category, and the distance-decay of both from the city center (weighted least squares).
Interactive map explorer
Every reference POI with its outcome and match confidence on a dark or satellite basemap, one dataset at a time, with category and confidence filters. Export the view as a standalone HTML map.
AI-assisted interpretation
Optional. Describe your research topic in any language and get the findings that matter for it, in English. It never replaces the metrics.
Final deliverables
Matched pairs (CSV) and the M3 tables, a benchmark report (PDF) with the paper's figures, and one standalone interactive map (HTML) per dataset.
Two-stage matching
Stage 1 · candidates (high recall)
For each reference POI, a KD-tree finds up to 100 nearest comparable POIs within 1,000 m.
Names are normalized (generic terms and special characters removed, Unicode normalized, upper case) and compared
with RapidFuzz (WRatio, partial_ratio, token_sort_ratio,
token_set_ratio). The candidate with the highest name score is kept if the score is at least
80. Address similarity and the distance in meters are computed for the kept pair. All three settings
can be changed under M2 → advanced.
Stage 2 · verification (high precision)
An XGBoost classifier scores each candidate pair from three features — name score, location distance and address score — and accepts it as a true match when P(match) ≥ 0.5.
Outcomes
Quality metrics
Completeness
Completeness(d, c) = |TP(d, c)| / |REF(c)|
The share of reference POIs in category c with a true match in dataset d.
Location accuracy
LocAcc(d, c) = median over true matches of ‖pref − pd‖
The distance in meters between the two POIs of a true match, in the projected CRS; M3 also shows quartiles and the 90th percentile.
Spatial heterogeneity
Yb(d, c) = α + β · dist_centerb + εb, εb ~ N(0, σ² / nb)
Reference POIs are grouped in 2 km distance bins around the city center; bins with fewer than 10 POIs are left out. Completeness and median location error per bin are regressed on the bin midpoint with weighted least squares (weights: POIs per bin). β is reported per 10 km with its 95% confidence interval and p-value.
Pretrained Stage-2 model
Evaluated leave-one-metro-area-out: the model is trained on 13 metro areas and tested on the 14th, for each of the 14.
Limits and data retention
The built-in demo metro areas are exempt. Analyses run one at a time; others wait in a queue.
What is kept, and for how long
- Your uploaded datasets are cropped to the study area on arrival and deleted 1 hour after your last activity following a run (2 hours if you never run one). You can also delete them yourself in M2.
- Labels, models and results are kept for 6 hours, counted from your first label (or from project creation). Download what you need from M6 before then.
- Labels can be downloaded at any time in M2 and uploaded again later to continue labeling.
- Nothing is shared between projects. A project is reachable only through its link.
AI interpretation
M5 sends only the aggregated M3 statistics — completeness, outcome rates, location errors and gradients by dataset and category — together with your research topic to Google Gemini. POI records are never sent. Each visitor gets 2 interpretations per day; they reset at midnight Pacific time, and a failed attempt does not count. Answers are always in English and can be added to the PDF report as an appendix.
Citation
Li, H. & Xu, W. (2026). POIBench: An Interactive Benchmarking Platform for Multi-Source POI Dataset Evaluation. In Proceedings of SIGSPATIAL '26, Riverside, CA, USA.
Urban Data Research Lab · University of California, Santa Barbara