🧭 Inspiration
This project was born during the HERE CDMX Hackathon 2024, where we were challenged to build a scalable geospatial solution to validate and improve Point of Interest (POI) data quality across dense urban areas.
We were inspired by the need for better automated tools to assist in map curation — especially in regions with multiple digitized street segments, outdated POIs, or mismatches between naming and geometry layers.
🔧 What we built
We developed a web-based validator and correction engine for POIs. The app allows users to upload three datasets:
- POIs (with geometry and metadata)
- Street geometries (GeoJSON)
- Street naming/attributes (GeoJSON)
Using Python, Flask, GeoPandas, and Shapely, our backend performs three main validations:
- POI existence: Compares POI names against the HERE Geocoding & Search API to identify non-existent or outdated POIs.
- Geometric distance check: Measures the real-world distance between a POI and its associated street using UTM projection (meters), flagging POIs located >20m from the referenced segment.
- Side-of-street validation: Computes the expected side of the road using the
PERCFRREFattribute and compares it with the declaredPOI_ST_SD.
We also built a map visualization module using Leaflet and Folium to visually display flagged errors and proposed corrections.
🌟 What we learned
- How to work with real-world geospatial data using Python tools like GeoPandas and Shapely.
- How to use HERE's APIs to enrich and verify POI metadata.
- How to design a modular backend that supports dynamic validations for large datasets.
🚧 Challenges we faced
- The biggest challenge was the scale: validating thousands of POIs while minimizing false positives.
- Ensuring correct CRS transformations to avoid misleading distance calculations.
- Detecting and handling multiple digitized street segments (
MULTIDIGIT = Y) and determining when exceptions are legitimate. - Designing a UI that’s both functional and intuitive under time constraints.
📌 What's next?
We plan to expand the validator to allow bulk correction of POI attributes, generate standardized error reports, and make the tool publicly accessible to mapping communities and civic data analysts.
Built With
- api
- geojson
- geopandas
- leaflet.js
- python
Log in or sign up for Devpost to join the conversation.