Skip to content

Feature/conflation#225

Open
ofr1tz wants to merge 12 commits intodevelopfrom
feature/conflation
Open

Feature/conflation#225
ofr1tz wants to merge 12 commits intodevelopfrom
feature/conflation

Conversation

@ofr1tz
Copy link

@ofr1tz ofr1tz commented Jan 22, 2026

This adds project and tutorial creation as well as stats generation for projects of the type Conflation. Conflation allows users to validate building footprints from fAIr or other sources, and compare them against potentially existing OpenStreetMap features.

Conflation projects resemble Validate projects in many ways. The nature of each task changes in the client depending on the presence of buildings in OSM:

  • If there are no OSM buildings that intersect with the current task feature, the task behaves like a standard validate project task.
  • If there is exactly one OSM building intersecting with the task feature, the user is asked to evaluate which of the two ones is correct.
  • If there are two or more OSM buildings intersecting with the task feature, the task is skipped.

The client writes the number of intersecting OSM features together with the task results to Firebase, and, if that number is 1, the OSM id and version number of that building. The backend processes these OSM references and writes them to results and aggregated results exports.

MapSwipe does not commit any changes to OSM at this stage of the implementation. However, the MapSwipe results exports will indicate whether a feature was evaluated against an OSM building footprint, and if so, against which one exactly.

See also changes in:

@codecov
Copy link

codecov bot commented Jan 22, 2026

Codecov Report

❌ Patch coverage is 92.00820% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.63%. Comparing base (79334c3) to head (5d3d330).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
project_types/conflation/project.py 83.91% 18 Missing and 5 partials ⚠️
project_types/store.py 57.14% 0 Missing and 6 partials ⚠️
.../project/exports/mapping_results_aggregate/task.py 77.77% 1 Missing and 1 partial ⚠️
apps/project/graphql/types/types.py 50.00% 2 Missing ⚠️
...roject/tests/e2e_create_conflation_project_test.py 99.16% 1 Missing and 1 partial ⚠️
apps/tutorial/graphql/types/types.py 50.00% 2 Missing ⚠️
apps/project/models.py 75.00% 0 Missing and 1 partial ⚠️
apps/project/serializers.py 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #225      +/-   ##
===========================================
+ Coverage    87.41%   87.63%   +0.21%     
===========================================
  Files          205      212       +7     
  Lines        12458    12946     +488     
  Branches      1049     1083      +34     
===========================================
+ Hits         10890    11345     +455     
- Misses        1181     1205      +24     
- Partials       387      396       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ofr1tz ofr1tz marked this pull request as ready for review January 22, 2026 14:59
@kopitek8 kopitek8 requested a review from thenav56 January 23, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant