Skip to content

Commit a72cee5

Browse files
committed
Merge branch 'release/4.3.0'
2 parents fbad253 + 1c21de3 commit a72cee5

File tree

174 files changed

+5146
-6435
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

174 files changed

+5146
-6435
lines changed

.circleci/config.yml

Lines changed: 10 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -35,48 +35,25 @@ aliases:
3535
command: ./scripts/cipublish
3636

3737
# Build environments
38-
- &openjdk8-scala2_11_12_environment
38+
- &openjdk8-scala2_12_12_environment
3939
docker:
4040
- image: circleci/openjdk:8-jdk
4141
environment:
42-
SCALA_VERSION: 2.11.12
43-
44-
- &openjdk8-scala2_12_11_environment
45-
docker:
46-
- image: circleci/openjdk:8-jdk
47-
environment:
48-
SCALA_VERSION: 2.12.11
42+
SCALA_VERSION: 2.12.12
4943

5044
version: 2
5145
workflows:
5246
version: 2
5347
build:
5448
jobs:
55-
- "openjdk8-scala2.11.12":
56-
filters: # required since `openjdk8-scala2.11.12_deploy` has tag filters AND requires `openjdk8-scala2.11.12`
49+
- "openjdk8-scala2.12.12":
50+
filters: # required since `openjdk8-scala2.12.12_deploy` has tag filters AND requires `openjdk8-scala2.12.12`
5751
tags:
5852
only:
5953
- /^(.*)$/
60-
- "openjdk8-scala2.12.11":
61-
filters: # required since `openjdk8-scala2.12.11_deploy` has tag filters AND requires `openjdk8-scala2.12.11`
62-
tags:
63-
only:
64-
- /^(.*)$/
65-
- "openjdk8-scala2.11.12_deploy":
54+
- "openjdk8-scala2.12.12_deploy":
6655
requires:
67-
- "openjdk8-scala2.11.12"
68-
filters:
69-
tags:
70-
only:
71-
- /^(.*)$/
72-
branches:
73-
only:
74-
- develop
75-
- /release\/.*/
76-
- /hotfix\/.*/
77-
- "openjdk8-scala2.12.11_deploy":
78-
requires:
79-
- "openjdk8-scala2.12.11"
56+
- "openjdk8-scala2.12.12"
8057
filters:
8158
tags:
8259
only:
@@ -88,18 +65,10 @@ workflows:
8865
- /hotfix\/.*/
8966

9067
jobs:
91-
"openjdk8-scala2.11.12":
92-
<<: *openjdk8-scala2_11_12_environment
93-
steps: *run_cibuild
94-
95-
"openjdk8-scala2.12.11":
96-
<<: *openjdk8-scala2_12_11_environment
68+
"openjdk8-scala2.12.12":
69+
<<: *openjdk8-scala2_12_12_environment
9770
steps: *run_cibuild
9871

99-
"openjdk8-scala2.11.12_deploy":
100-
<<: *openjdk8-scala2_11_12_environment
101-
steps: *run_cipublish
102-
103-
"openjdk8-scala2.12.11_deploy":
104-
<<: *openjdk8-scala2_12_11_environment
72+
"openjdk8-scala2.12.12_deploy":
73+
<<: *openjdk8-scala2_12_12_environment
10574
steps: *run_cipublish

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ pc.stdout.log
1919
*.log
2020
.DS_Store
2121
.bloop
22-
.metals
22+
.metals
23+
metals.sbt
24+
.history

.sbtopts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
-J-Xmx2G
22
-J-Xms1G
33
-J-Xss5M
4+
-J-XX:+UseConcMarkSweepGC
5+
-J-XX:+CMSClassUnloadingEnabled
46
-Djava.awt.headless=true
57
-Dsbt.color=always
68
-Dsbt.supershell=false

.scalafmt.conf

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,12 @@
1-
version=2.0.0-RC4
1+
version = "2.6.1"
2+
align = most
3+
continuationIndent.callSite = 2
4+
continuationIndent.defnSite = 2
5+
danglingParentheses = true
6+
indentOperator = spray
7+
maxColumn = 150
8+
newlines.alwaysBeforeTopLevelStatements = false
9+
project.excludeFilters = [".*\\.sbt"]
10+
rewrite.rules = [RedundantParens, SortImports]
11+
spaces.inImportCurlyBraces = false
12+
unindentTopLevelOperators = true

CHANGELOG.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [4.3.0] - 2021-02-12
10+
11+
## Added
12+
- Logging into STAC API Client [#293](https://github.com/geotrellis/geotrellis-server/pull/293)
13+
14+
### Changed
15+
- *BREAKING* Typeclasses no longer bind the effect type to IO [#284](https://github.com/geotrellis/geotrellis-server/pull/284)
16+
- Optimize MapAlgebraStacOgcRepositories [#291](https://github.com/geotrellis/geotrellis-server/pull/291)
17+
- Update STAC4s up to 0.0.11 with STAC 1.0.0-beta.1 support [#295](https://github.com/geotrellis/geotrellis-server/pull/295)
18+
19+
## Fixed
20+
- Fix STAC API TemporalExtent JSON representation [#293](https://github.com/geotrellis/geotrellis-server/pull/293)
21+
922
## [4.2.0] - 2020-06-23
1023

1124
### Added
@@ -26,14 +39,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2639
- Enabling Time Dimension for mapalgebrasourceconf on Temporal Layers [#262](https://github.com/geotrellis/geotrellis-server/issues/262)
2740

2841
### Changed
29-
3042
- The `layers.layer-name.sources` field in application.conf is renamed to `source` and now supports a single RasterSource URI string. See `ogc-example/src/main/resources/application.conf` for examples.
3143
- `type = "simplesourceconf"` should be changed to `type = "rastersourceconf"` in application.conf
3244
- Remove GeoTrellisRasterSourceLegacy [#197](https://github.com/geotrellis/geotrellis-server/issues/197)
3345
- Receive GPG key while publishing artifacts [#271](https://github.com/geotrellis/geotrellis-server/pull/271)
3446

3547
### Fixed
36-
3748
- Addressed GeoTrellisRasterSourceLegacy issues and minimized number of RasterSource instances constructed for GeoTrellis Layers [#219](https://github.com/geotrellis/geotrellis-server/issues/219)
3849
- Some source resolutions are sometimes skipped leading to reading too much tiles [#215](https://github.com/geotrellis/geotrellis-server/issues/215)
3950
- LayerHistogram should select the CellSize large enough to compute the histogram [#261](https://github.com/geotrellis/geotrellis-server/pull/261)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
geotrellis.raster.gdal.options {
2+
GDAL_DISABLE_READDIR_ON_OPEN = "YES"
3+
CPL_VSIL_CURL_ALLOWED_EXTENSIONS = ".tif"
4+
GDAL_CACHEMAX = "0"
5+
}

bench/src/main/scala/geotrellis/server/TmsReificationBench.scala

Lines changed: 41 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -14,67 +14,55 @@
1414
* limitations under the License.
1515
*/
1616

17-
// package geotrellis.server
17+
package geotrellis.server
1818

19-
// import geotrellis.server.vlm.geotiff._
20-
// import geotrellis.server.vlm.gdal._
19+
import geotrellis.server.vlm.geotiff._
20+
import geotrellis.raster.MultibandTile
21+
import com.azavea.maml.ast._
22+
import com.azavea.maml.error._
23+
import com.azavea.maml.eval.ConcurrentInterpreter
24+
import cats.effect._
25+
import io.chrisdavenport.log4cats.slf4j.Slf4jLogger
2126

22-
// import geotrellis.raster.MultibandTile
23-
// import com.azavea.maml.ast._
24-
// import com.azavea.maml.error._
25-
// import com.azavea.maml.util.Square
26-
// import com.azavea.maml.eval.BufferingInterpreter
27-
// import cats.effect._
28-
// import org.openjdk.jmh.annotations._
29-
// import org.gdal.gdal.gdalJNI
27+
import org.openjdk.jmh.annotations._
3028

31-
// import scala.concurrent.ExecutionContext
32-
// import java.net.URI
29+
import scala.concurrent.ExecutionContext
30+
import java.net.URI
3331

32+
@BenchmarkMode(Array(Mode.AverageTime))
33+
@State(Scope.Thread)
34+
class TmsReificationBench {
3435

35-
// @BenchmarkMode(Array(Mode.AverageTime))
36-
// @State(Scope.Thread)
37-
// class TmsReificationBench {
36+
implicit val logger = Slf4jLogger.getLogger[IO]
37+
implicit var contextShift = IO.contextShift(ExecutionContext.global)
3838

39-
// // gdal performance will be obscured by the caching it attempts
40-
// gdalJNI.SetConfigOption("GDAL_CACHEMAX", "0")
39+
// NDVI
40+
val ast: Expression =
41+
Division(List(Subtraction(List(RasterVar("red"), RasterVar("nir"))), Addition(List(RasterVar("red"), RasterVar("nir")))))
4142

42-
// implicit var contextShift = IO.contextShift(ExecutionContext.global)
43+
// red, green, NIR bands which should have data for z/x/y 9/454/200
44+
val geotiffVars = Map(
45+
"red" -> GeoTiffNode(new URI("https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 0, None),
46+
"nir" -> GeoTiffNode(new URI("https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 2, None)
47+
)
4348

44-
// // NDVI
45-
// val ast =
46-
// Division(List(
47-
// Subtraction(List(
48-
// RasterVar("red"),
49-
// RasterVar("nir"))),
50-
// Addition(List(
51-
// RasterVar("red"),
52-
// RasterVar("nir"))
53-
// ))
54-
// )
49+
val gdalVars = Map(
50+
"red" -> GeoTiffNode(new URI("gdal+https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 0, None),
51+
"nir" -> GeoTiffNode(new URI("gdal+https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 2, None)
52+
)
5553

56-
// // red, green, NIR bands which should have data for z/x/y 9/454/200
57-
// val geotiffVars = Map(
58-
// "red" -> GeoTiffNode(new URI("https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 0, None),
59-
// "nir" -> GeoTiffNode(new URI("https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 2, None)
60-
// )
61-
// val gdalVars = Map(
62-
// "red" -> GDALNode(new URI("https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 0, None),
63-
// "nir" -> GDALNode(new URI("https://s3.amazonaws.com/geotrellis-test/daunnc/r-g-nir-with-ovrs.tif"), 2, None)
64-
// )
54+
@Setup(Level.Trial)
55+
def setup(): Unit = {}
6556

66-
// @Setup(Level.Trial)
67-
// def setup(): Unit = {}
57+
@Benchmark
58+
def geotiffLayerTms: Interpreted[MultibandTile] = {
59+
val eval = LayerTms(IO(ast), IO(geotiffVars), ConcurrentInterpreter.DEFAULT[IO])
60+
eval(9, 454, 200).unsafeRunSync
61+
}
6862

69-
// @Benchmark
70-
// def geotiffLayerTms: Interpreted[MultibandTile] = {
71-
// val eval = LayerTms(IO(ast), IO(geotiffVars), BufferingInterpreter.DEFAULT)
72-
// eval(9, 454, 200).unsafeRunSync
73-
// }
74-
75-
// @Benchmark
76-
// def gdalLayerTms: Interpreted[MultibandTile] = {
77-
// val eval = LayerTms(IO(ast), IO(gdalVars), BufferingInterpreter.DEFAULT)
78-
// eval(9, 454, 200).unsafeRunSync
79-
// }
80-
// }
63+
@Benchmark
64+
def gdalLayerTms: Interpreted[MultibandTile] = {
65+
val eval = LayerTms(IO(ast), IO(gdalVars), ConcurrentInterpreter.DEFAULT[IO])
66+
eval(9, 454, 200).unsafeRunSync
67+
}
68+
}

0 commit comments

Comments
 (0)