mapbox / mapbox/mapbox-java

Low level GeoJson implementation

オープン
#710 コメント 13 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

GeoJson
主要言語
Java
スター
438
フォーク
117
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず services-geojson の現在の実装を確認し、次にそのモデル構造を RFC 7946 およびリンク先の Android パフォーマンスに関するヒントと比較します。約 1,000 個の features を対象に、書き換えまたは代替実装でメモリフットプリントとパフォーマンスをどのように測定するかを定義します。GeoJSON モデルが不要なアロケーションや抽象化なしに、要求されたスケーラビリティ目標を満たせば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
data
issue の種類
リファクタリング
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。