Low level GeoJson implementation
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 438
- Forks
- 117
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
This is a request for either a rewrite or alternative implementation of the current GeoJson module found [here](https://github.com/mapbox/mapbox-java/blob/master/services-geojson). 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](https://developer.android.com/training/articles/perf-tips.html)
RFC of GeoJSON can be found [here](https://tools.ietf.org/html/rfc7946).
cc @mapbox/android
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Überprüfung der aktuellen Implementierung in services-geojson und vergleiche anschließend deren Modellstruktur mit RFC 7946 und den verlinkten Android-Leistungstipps. Lege fest, wie die Neufassung oder Alternative Speicherbedarf und Performance für ungefähr 1.000 Features messen wird; abgeschlossen ist die Aufgabe, wenn die GeoJSON-Modelle die angeforderten Skalierbarkeitsziele ohne unnötige Allokationen oder Abstraktionen erreichen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- data
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100