[Bug Report] Detections with map feature ID decoding error
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Reproduce the call to mapillary.interface.get_detections_with_map_feature_id with fields=[] and trace it through interface.py, controller/detection.py, and models/geojson.py. Inspect how Geometry handles the empty geometry object, clarify the intended returned representation, and consider the issue complete when this response no longer raises KeyError and the expected behavior is covered.
Written by the indexing model from the issue text.
Description
Describe the bug
Running interface.get_detections_with_map_feature_id under select map feature IDs throws a KeyError within the models/geojson file.
To Reproduce
mapillary.interface.get_detections_with_map_feature_id(1852672618623383, fields=[])
Returns KeyError as following:
Traceback (most recent call last):
File "x.py", line 703, in <module>
mapillary.interface.get_detections_with_map_feature_id(1852672618623383, fields=[])
File "..\mapillary\utils\auth.py", line 59, in wrapper
return f(*args, **kwargs)
File "..\mapillary\interface.py", line 330, in get_detections_with_map_feature_id
return detection.get_map_feature_detections_controller(
File "..\mapillary\controller\detection.py", line 83, in get_map_feature_detections_controller
return GeoJSON(
File "..\mapillary\models\geojson.py", line 398, in __init__
[Feature(feature=feature) for feature in geojson["features"]]
File "..\mapillary\models\geojson.py", line 398, in <listcomp>
[Feature(feature=feature) for feature in geojson["features"]]
File "..\mapillary\models\geojson.py", line 270, in __init__
self.geometry = Geometry(feature["geometry"])
File "..\mapillary\models\geojson.py", line 211, in __init__
self.type: str = geometry["type"]
KeyError: 'type'
The returned GeoJSON from the API is in the form:
[{'geometry': {'coordinates': [-0.12497729285872, 51.537085937084],
'type': 'Point'},
'properties': {'created_at': '2025-08-02T16:21:25+0000',
'id': '1724058414915752',
'pixel_geometry': 'Gjp4AgoGbXB5LW9yKIAgEisYAwgBIiUJqiuWInoIDxAABAcIAAQHBgAcAAgIBAgACAMQCwAPCCkKBxEP',
'value': 'object--catch-basin'},
'type': 'Feature'},
{'geometry': {'coordinates': [-0.12498136837391, 51.537059028201],
'type': 'Point'},
'properties': {'created_at': '2025-08-02T16:20:30+0000',
'id': '1807913776455018',
'pixel_geometry': 'Gld4AgoGbXB5LW9yKIAgEkgYAwgBIkIJ2inOJ+oBKDcEAAgHLiEkEAgKBAAECAQACAgKCAwICAgIEAsaGRALGAcIAwgHCAcIAwADCAsAGQ8DBy8fAwcTBw8=',
'value': 'object--catch-basin'},
'type': 'Feature'},
{'geometry': {},
'properties': {'created_at': '2025-08-02T16:20:20+0000',
'id': '685612757857124',
'pixel_geometry': 'GosBeAIKBm1weS1vciiAIBJ8GAMIASJ2Cd44jCy6AwQHCAAIBwgABAcGAAgHBAAIBwgABAcUCQQHCAAEBwgABAcOAAgAFAgECAgACAgICgQABAgEAAoIBAgECAgQABADEgcAAwgNAA8YBwgHCAcIAwAHCA8QFQoDACchAw8LAAMHAwAJBwsXBwADCQMHDw==',
'value': 'object--catch-basin'},
'type': 'Feature'},
{'geometry': {'coordinates': [-0.12497321734354, 51.537112845968],
'type': 'Point'},
'properties': {'created_at': '2025-08-02T16:21:33+0000',
'id': '1777805250267304',
'pixel_geometry': 'GiR4AgoGbXB5LW9yKIAgEhUYAwgBIg8JtCWiIyIyAAQYMQADBw8=',
'value': 'object--catch-basin'},
'type': 'Feature'}]
Clearly we see features in Mapillary without attached geometry, but still picked up by the map feature API.
It's unclear what the expected behaviour is here, otherwise I would have submitted a PR. 😥
Expected behavior
Detections returned as usual.
Unclear how to handle detections without any geometry.
Screenshots
Additional context
- Dominant language
- Python
- Stars
- 66
- Forks
- 23
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 11
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from mapillary/mapillary-python-sdk
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 15/100
mapillary/mapillary-python-sdk#156 · 1 comment ·
-
Bug Report Openbug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
mapillary/mapillary-python-sdk#150 · 1 comment ·
-
point cloud data Openexample
Difficulty 5/5 Over a week Newbie friendliness 20/100
mapillary/mapillary-python-sdk#147 · 11 comments ·
-
feature
Difficulty 5/5 Over a week Newbie friendliness 32/100
mapillary/mapillary-python-sdk#127 · 1 comment · 2 reactions ·
-
feature
mapillary/mapillary-python-sdk#119 · 1 assignee ·
All issues in mapillary/mapillary-python-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
anthropics/skills#1811 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
speaches-ai/speaches#678 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
datalayer/mcp-compose#42 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
conda-forge/spacy-feedstock#177 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
UKGovernmentBEIS/inspect_evals#2523 ·