Skip to content

Conversation

@MisterGC
Copy link
Contributor

@MisterGC MisterGC commented Jan 16, 2026

Adds optional manifest.json support for flexible file-to-tile mapping and multi-layer support.

  • Add manifest.json parsing with metadata and index sections
  • Support multiple layers per datasource (e.g., Road, Lane)
  • Allow arbitrary filenames instead of requiring <tile-id>.geojson
  • Fallback to legacy filename-based detection when no manifest present
  • Add comprehensive unit tests for all scenarios

manifest.json format:

{
  "version": 1,
  "metadata": { "name": "Dataset", "source": "..." },
  "index": {
    "defaultLayer": "GeoJsonAny",
    "files": {
      "roads.geojson": { "tileId": 121212, "layer": "Road" },
      "lanes.geojson": { "tileId": 121212, "layer": "Lane" }
    }
  }
}

TODO:

  • Build and run tests in devcontainer

- Add errorCode field to TileLayer for numeric error codes
- Enhance TileFeatureLayer::toJson() to include:
  - mapgetTileId (decimal uint64)
  - mapgetLayerId, mapId
  - idPrefix (common ID parts)
  - timestamp (ISO 8601)
  - ttl (milliseconds)
  - error object with code and message
- Update Python bindings with error_code getter/setter
- Document new JSONL response format in mapget-api.md
- Add unit tests for enhanced toJson() output
@MisterGC MisterGC changed the title Add manifest.json support to GeoJsonSource Release 2025.5.1 Jan 16, 2026
Copy link
Contributor

@josephbirkner josephbirkner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good ✨

@github-actions
Copy link

Package Line Rate Branch Rate Health
libs.geojsonsource.include.geojsonsource 100% 50%
libs.geojsonsource.src 76% 43%
libs.gridsource.include.gridsource 0% 0%
libs.gridsource.src 0% 0%
libs.http-datasource.src 57% 30%
libs.http-service.include.mapget.http-service 100% 100%
libs.http-service.src 59% 20%
libs.logging.include.mapget 8% 4%
libs.model.include.mapget.model 54% 32%
libs.model.src 62% 33%
libs.service.include.mapget.service 40% 0%
libs.service.src 78% 41%
Summary 57% (4175 / 7340) 29% (4163 / 14530)

Minimum allowed line rate is 50%

@MisterGC MisterGC merged commit 6fcff2f into main Jan 22, 2026
16 of 17 checks passed
@MisterGC MisterGC deleted the release/2025.5.1 branch January 22, 2026 16:16
@sonarqubecloud
Copy link

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.

3 participants