{"action":"opened","issue":{"url":"https://api.github.com/repos/locationtech/geotrellis/issues/2584","repository_url":"https://api.github.com/repos/locationtech/geotrellis","labels_url":"https://api.github.com/repos/locationtech/geotrellis/issues/2584/labels{/name}","comments_url":"https://api.github.com/repos/locationtech/geotrellis/issues/2584/comments","events_url":"https://api.github.com/repos/locationtech/geotrellis/issues/2584/events","html_url":"https://github.com/locationtech/geotrellis/issues/2584","id":303592624,"number":2584,"title":"Create a New API For reclassify","user":{"login":"jbouffard","id":11041248,"avatar_url":"https://avatars3.githubusercontent.com/u/11041248?v=4","gravatar_id":"","url":"https://api.github.com/users/jbouffard","html_url":"https://github.com/jbouffard","followers_url":"https://api.github.com/users/jbouffard/followers","following_url":"https://api.github.com/users/jbouffard/following{/other_user}","gists_url":"https://api.github.com/users/jbouffard/gists{/gist_id}","starred_url":"https://api.github.com/users/jbouffard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbouffard/subscriptions","organizations_url":"https://api.github.com/users/jbouffard/orgs","repos_url":"https://api.github.com/users/jbouffard/repos","events_url":"https://api.github.com/users/jbouffard/events{/privacy}","received_events_url":"https://api.github.com/users/jbouffard/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-08T18:58:47Z","updated_at":"2018-03-08T18:58:47Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"The current `reclassify` API uses a `BreakMap` and a `ClassificationStrategy` to reclassify the values of a `Tile`/Layer. However, this implementation causes issues as it's not flexible as it can only support one strategy at a time. It would be better if we incorporated `scala.collection.immutable.NumericRange` into this API as to allow more control over how values are reclassified.\r\n\r\nPotential API could look like this:\r\n\r\n```scala\r\n\r\ndef reclassify(map: Map[NumericRange[Double], Double], noDataValue: Double, fallbackValue: Double, strict: False): TileLayerRDD\r\n\r\ndef reclassify(map: Map[NumericRange[Int], Int], noDataValue: Int, fallbackValue: Int, strict: False): TileLayerRDD\r\n```"}}
{"actor":{"display_login":"jbouffard"}}