Skip to content

mapget::Service tile requests support basic filtering functionality. #34

@MisterGC

Description

@MisterGC

mapget::Service::request currently allows basic queries based on mapId, layerId, and tiles. This issue aims to extend the existing API to include basic feature filtering capabilities. Implementing this enhancement will allow users to test the function's accuracy and scalability more efficiently. Special attention will be given to meeting general scalability requirements.

Extended 'tiles' Endpoint Example

// Extract from mapget's updated README
// Fetch streamed features based on strict constraints.
// Support for Accept-Encoding text/jsonl or application/binary

+ POST /tiles(list<{
    mapId: string,
    layerId: string,
    tileIds: list<TileId>,
    maxKnownFieldIds* 
  }>, filter: optional<string>): 
  bytes<TileLayerStream>

Acceptance Criteria:

  • Implement filtering in both local and Http mapget services
  • Automated tests for both services, with:
    • Customizable request options
    • Metrics on time spent fetching and filtering data
  • Performance regression detection using standardized tests on defined hardware/target

Open Questions:

  • How to restrict the filter language in this step?
  • Is it also intended to use this functionality for functions like 'viewport-based' filtering?

Metadata

Metadata

Assignees

No one assigned

    Labels

    RESTThis issue concerns mapget's REST/TileLayerStream API.ServiceThis issue concerns the mapget service API/implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions