Difference between revisions of "GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster"

From OSGeo
Jump to navigation Jump to search
Line 68: Line 68:
 
* What do you plan on doing next week?  
 
* What do you plan on doing next week?  
 
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.
 
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.
 +
* Are you blocked on anything?
 +
I'm not blocked on anything right now
 +
 +
=== Week 3 ===
 +
* What did you get done this week?
 +
I developed some methods to improve the clustering functionalities. It accepts now a single marker, as well a list of markers. Also, some functionalities to show and hide single and groups of markers.
 +
I'm able to create a cluster for a specified zoom level and show it in the globe.
 +
* What do you plan on doing next week?
 +
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at start all the groups.
 
* Are you blocked on anything?  
 
* Are you blocked on anything?  
 
I'm not blocked on anything right now
 
I'm not blocked on anything right now

Revision as of 07:23, 18 June 2017


Introduction

My project will focus on creating a plugin to allow clusterization of markers in the ESA-NASA Web World Wind framework. These following capabilities are the features I would like to implement: 1. Clustering based on different algorithms 2. Set a custom icon based on user parameters: i.e., number of clusters or custom variables 3. Cluster based on geometries and not just polygons 4. Filter clusters based on user criteria 5. Precache the cluster at the zoom levels for optimized performance


Schedule

TODO Timeline Status
Coding begins May 30 Done!
Research about the clustering functionalities and about the marker classes in WWW May 30 - June 10 Done!
Implementation of a clustering algorithm in WWW June 11 - June 20 Done!
Phase 1 Evaluation June 26 Awaiting...
Creating a first version of the clustering plugin June 26 - June 30 Awaiting...
Implementing clustering options to cluster markers based on attributes July 1 - July 10 Awaiting..
Vacation Period July 11 - July 18 Awaiting..
Phase 2 Evaluation July 24 Awaiting..
Customize the design of clusters with colors and effects July 24 - July 31 Awaiting..
Filter clusters on predefined attributes August 1 - August 10 Awaiting..
Creating Unit Tests for the code August 11 - August 16 Awaiting..
Clean the code and creating documentation August 17 - August 21 Awaiting..
Finalizing documentation and reviewing the code August 21 - 28 Awaiting..
Submit final work product and mentor evaluation August 29 Awaiting..

We will try to follow the schedule and report the status of the project each week.

Weekly Reports

Week 1

  • What did you get done this week?

This week I set-up the development environment and made some research about the clustering algorithms and libraries available. I found out some good library for clustering point and it can be integrated with WebWorldWind.

  • What do you plan on doing next week?

Next week I will set up the unit test environment.

  • Are you blocked on anything?

I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.

Week 2

  • What did you get done this week?

I prepared the testing environment and unit tests are working. I prepared a sample test but also improved the structure of the project and created some functionalities.

  • What do you plan on doing next week?

Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.

  • Are you blocked on anything?

I'm not blocked on anything right now

Week 3

  • What did you get done this week?

I developed some methods to improve the clustering functionalities. It accepts now a single marker, as well a list of markers. Also, some functionalities to show and hide single and groups of markers. I'm able to create a cluster for a specified zoom level and show it in the globe.

  • What do you plan on doing next week?

Next week I would like to show and hide the clusters automatically based on the zoom level and generate at start all the groups.

  • Are you blocked on anything?

I'm not blocked on anything right now

Brief description of the idea

My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.

A link to all my commits is available here: GitHub.

State of the art before this project

Currently there is no plugin for clustering large amounts of markers, even though an app may implement a similar functionality, but not with a modular plugin that can be generically reused for any number of user-specific criteria.

Additions that this project will bring to the software

As a result of the plugin I will develop, it will be possible for anyone to easily import the plugin into the framework and use it as a modular component. In this way it will be possible to cluster markers easily, using any number of options. As an example, it can be useful to use this plugin when visualizing a marker for each city in Italy, because, having thousand of markers in a small area could be very difficult to render on the globe, but also to understand. Thanks to the plugin, users will see only a few clusters while viewing the markers from a far distance and zooming in they will see more and more details.


Public Repository & Testing

The application is available in GitHub at GitHub . More instruction on how to use the plugin will be available soon

  1. Instructions

Student's Biography

My name is Simone Battaglia, I'm a Ph.D student in Neuroscience at Alma Mater Studiorum Bologna. I'm passionate about programming, and I like to integrate the IT world inside the neuroscience field. I started learning programming thanks to my scientific researches and the needs of creating experiments in my study field. I got to know about WebWorldWind thanks to Patrick Hogan back in 2016 and I started using it since then. This is my first time in the GSoC and I'm very happy to be coding for these 3 months and have the guidance of my mentors Patrick Hogan and Gabriele Prestifilippo.