mapbox / mapbox/mapbox-java

Low level GeoJson implementation

Abierto
#710 13 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

GeoJson
Lenguaje dominante
Java
Estrellas
438
Forks
117
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando la implementación actual en services-geojson y, a continuación, compara su estructura de modelos con RFC 7946 y los consejos de rendimiento de Android enlazados. Define cómo medirá la reescritura o alternativa la huella de memoria y el rendimiento para aproximadamente 1.000 features; se considerará terminado cuando los modelos GeoJSON cumplan los objetivos de escalabilidad solicitados sin asignaciones ni abstracciones innecesarias.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
data
Tipo de issue
Refactorización
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.