Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPIC - Custom GeoWave Heatmap for Spatial Binning Aggregations and Statistics #3

Open
12 of 13 tasks
mzagorskirs opened this issue Mar 8, 2022 · 1 comment
Open
12 of 13 tasks
Assignees

Comments

@mzagorskirs
Copy link
Owner

mzagorskirs commented Mar 8, 2022

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:

  • Task 1 - GeoServer plugin that shifts vector data by a specified amount of degrees.
  • Task 2 - Local run of GeoServer heatmap example using GDELT data.
  • Task 3 - Develop an Integration Test that will test the application of the Heatmap SLD to some created unit test data.
  • Task 4 - Port over the GeoTools version of the heatmap process and research spatial binning methods in GeoWave.
  • Task 5 - Develop GeoWave version/customization of the heatmap process using spatial binning aggregation: field sum and field count.
  • Task 6 - Develop GeoWave customization of the heapmap process using spatial binning statistics.
  • Task 7 - Add more parameters to SLD for user preferences.
  • Task 8 - Add a dynamic GeoHash algorithm.
  • Task 9 - Add spatial constraints to query builders for improved runtime performance.
  • Task 10 - Finalize integration tests and prepare to push PR.
  • Task 11 - Convert to WGS84 (for spatial binning and GeoServerIngestIT).
  • MILESTONE - PR pushed, reviewed and merged.
  • Task 12 - Handle tiling. This will be implemented after the initial PR is merged.

Tips for getting started:

Resources:

Timeframe:

  • 1 - 2 tasks per sprint or more as time allows.
@mzagorskirs
Copy link
Owner Author

Project ended early (this week); any remaining items for this epic will not be finished due to no more time/funding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant