Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Low level GeoJson implementation

Open
#710 13 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Stale
Tech stack
java
Domain
data

Research direction

Start by reviewing the current implementation in services-geojson, then compare its model structure with RFC 7946 and the linked Android performance tips. Define how the rewrite or alternative will measure memory footprint and performance for roughly 1,000 features; done means the GeoJSON models meet the requested scalability goals without unnecessary allocations or abstractions.

Written by the indexing model from the issue text.

Description

GeoJson

This is a request for either a rewrite or alternative implementation of the current GeoJson module found here. We need a high performance implementation that has a minimal memory footprint. The reasoning behind that is that geojson models should be scalable (eg. downstream we query the map for 1000 of features, the path currently taken to create those and the intermediate objects created for doing that isn't optimal atm).

Couple of thoughts to improve this:

  • use primitive instead of objects where possible
  • no need for AutoValue, implementation is based on a specification that doesn't change (often)
  • if geojson models are immutable, use arrays instead of List
  • limit method invocations & don't allocate memory if you can avoid it
  • don't over abstract concepts if they can be expressed more simple

More information on performance tips here
RFC of GeoJSON can be found here.

cc @mapbox/android

Dominant language
Java
Stars
438
Forks
117
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mapbox/mapbox-java

All issues in mapbox/mapbox-java

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.