Purpose/summary of Epic: Get up-to-speed with GeoServer by way of examples and hands-on development, which will work toward a goal of creating an aggregation heatmap in GeoWave.
Tasks:
1: Spike/learning experience: Develop a render transformation GeoServer plugin. The plugin should be able to translate the data (e.g. from vector <-> raster, or vector -> vector) and shift the data by a specified amount of degrees. Data could be a shapefile, but probably best to use the GDELT vector data. Code should be developed within a personal repo as a plugin for GeoServer using Java. Through this task, the developer will get up-to-speed with creating GeoServer plugins and creating render transforms.
2: Look at GeoServer example of heatmap and get it working using GDELT data, with the ultimate goal of writing own heatmap plugin in JAVA.
3 - 5: The ultimate goal: the heatmap plugin that GeoServer uses queries all the data in GeoWave, however, we want to use GeoWave's aggregations (and eventually statistics) in the heatmap query.
6: Develop GeoWave customization of the heapmap process using spatial binning statistics.
7 - 8: User preferences and automations.
9: Add spatial constraints to query builders to minimize processing time.
10: Configurations to handle tiling in GeoServer.
11: Convert to WGS84.
12: Finalize integration tests.
Definition of Done: This GitHub issue will be considered done when these items have been met:
[x] Task 1 - GeoServer plugin that shifts vector data by a specified amount of degrees.
[x] Task 2 - Local run of GeoServer heatmap example using GDELT data.
[x] Task 3 - Develop an Integration Test that will test the application of the Heatmap SLD to some created unit test data.
[x] Task 4 - Port over the GeoTools version of the heatmap process and research spatial binning methods in GeoWave.
[x] Task 5 - Develop GeoWave version/customization of the heatmap process using spatial binning aggregation: field sum and field count.
[x] Task 6 - Develop GeoWave customization of the heapmap process using spatial binning statistics.
[x] Task 7 - Add more parameters to SLD for user preferences.
[x] Task 8 - Add a dynamic GeoHash algorithm.
[x] Task 9 - Add spatial constraints to query builders for improved runtime performance.
[x] Task 10 - Finalize integration tests and prepare to push PR.
[x] Task 11 - Convert to WGS84 (for spatial binning and GeoServerIngestIT).
[x] MILESTONE - PR pushed, reviewed and merged.
[ ] Task 12 - Handle tiling. This will be implemented after the initial PR is merged.
Purpose/summary of Epic: Get up-to-speed with GeoServer by way of examples and hands-on development, which will work toward a goal of creating an aggregation heatmap in GeoWave.
Tasks:
Definition of Done: This GitHub issue will be considered done when these items have been met:
Tips for getting started:
Resources:
Timeframe: