<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Simonebt92</id>
	<title>OSGeo - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Simonebt92"/>
	<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/wiki/Special:Contributions/Wiki-Simonebt92"/>
	<updated>2026-04-12T22:48:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108157</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108157"/>
		<updated>2017-08-20T21:05:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Week 12 - Final Report */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Done!&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I created some examples, showing more functionalities of the plugin, and now users are able to test them directly on the example page.&lt;br /&gt;
I also started created more advanced unit tests, using mock object and spies.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will write some other tests and finalizing the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - Final Report ===&lt;br /&gt;
* Project: Plugin Marker Cluster for NASA Web World Wind&lt;br /&gt;
&lt;br /&gt;
* Abstract: The motivation behind Marker Cluster stands behind the need of porting a useful functionality into a popular framework such as Web World Wind, which, could benefit in different areas thanks to this plugin&lt;br /&gt;
&lt;br /&gt;
* The state of the art BEFORE my GSoC: Before my project, Web World Wind didn't have any external plugin, made in the same form of mine. Especially there were no cluster functionalities for the markers. Even though the concept of clustering markers is not new to the public, it was not available on this framework.&lt;br /&gt;
&lt;br /&gt;
* The added value that my project brought to the software: Thanks to my project, now any Web World Wind developer can easily import the clustering functionality in any application. Following the documentation anyone can do it, as we already tried in an example application.&lt;br /&gt;
&lt;br /&gt;
* Work to be done on the project: The project itself is quite complete, including some basic functionalities. What could miss is trying in more application the product and find problems and new features to implement.&lt;br /&gt;
&lt;br /&gt;
* Website &amp;amp; Documentation: https://simonebt92.github.io/NASA-WWW-MarkerCluster/&lt;br /&gt;
* Code Developed: https://github.com/simonebt92/NASA-WWW-MarkerCluster/commits/master&lt;br /&gt;
&lt;br /&gt;
* Image: [[File:https://simonebt92.github.io/NASA-WWW-MarkerCluster/assets/logo.JPG]]&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108156</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108156"/>
		<updated>2017-08-20T21:02:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Week 12 - Final Report */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Done!&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I created some examples, showing more functionalities of the plugin, and now users are able to test them directly on the example page.&lt;br /&gt;
I also started created more advanced unit tests, using mock object and spies.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will write some other tests and finalizing the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - Final Report ===&lt;br /&gt;
1- Project: Plugin Marker Cluster for NASA Web World Wind&lt;br /&gt;
&lt;br /&gt;
2- Abstract: The motivation behind Marker Cluster stands behind the need of porting a useful functionality into a popular framework such as Web World Wind, which, could benefit in different areas thanks to this plugin&lt;br /&gt;
&lt;br /&gt;
3- The state of the art BEFORE my GSoC: Before my project, Web World Wind didn't have any external plugin, made in the same form of mine. Especially there were no cluster functionalities for the markers. Even though the concept of clustering markers is not new to the public, it was not available on this framework.&lt;br /&gt;
&lt;br /&gt;
4- The added value that my project brought to the software: Thanks to my project, now any Web World Wind developer can easily import the clustering functionality in any application. Following the documentation anyone can do it, as we already tried in an example application.&lt;br /&gt;
&lt;br /&gt;
5- Work to be done on the project: The project itself is quite complete, including some basic functionalities. What could miss is trying in more application the product and find problems and new features to implement.&lt;br /&gt;
&lt;br /&gt;
6- Website &amp;amp; Documentation: https://simonebt92.github.io/NASA-WWW-MarkerCluster/&lt;br /&gt;
&lt;br /&gt;
7- Image: [[File:https://simonebt92.github.io/NASA-WWW-MarkerCluster/assets/logo.JPG]]&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108155</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108155"/>
		<updated>2017-08-20T21:00:06Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Done!&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I created some examples, showing more functionalities of the plugin, and now users are able to test them directly on the example page.&lt;br /&gt;
I also started created more advanced unit tests, using mock object and spies.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will write some other tests and finalizing the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - Final Report ===&lt;br /&gt;
1- Project: Plugin Marker Cluster for NASA Web World Wind&lt;br /&gt;
&lt;br /&gt;
2- Abstract: The motivation behind Marker Cluster stands behind the need of porting a useful functionality into a popular framework such as Web World Wind, which, could benefit in different areas thanks to this plugin&lt;br /&gt;
&lt;br /&gt;
3- The state of the art BEFORE my GSoC: Before my project, Web World Wind didn't have any external plugin, made in the same form of mine. Especially there were no cluster functionalities for the markers. Even though the concept of clustering markers is not new to the public, it was not available on this framework.&lt;br /&gt;
&lt;br /&gt;
4- The added value that my project brought to the software: Thanks to my project, now any Web World Wind developer can easily import the clustering functionality in any application. Following the documentation anyone can do it, as we already tried in an example application.&lt;br /&gt;
&lt;br /&gt;
5- Work to be done on the project: The project itself is quite complete, including some basic functionalities. What could miss is trying in more application the product and find problems and new features to implement.&lt;br /&gt;
&lt;br /&gt;
6- Website &amp;amp; Documentation: https://simonebt92.github.io/NASA-WWW-MarkerCluster/&lt;br /&gt;
&lt;br /&gt;
7- Image:&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108154</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=108154"/>
		<updated>2017-08-20T20:52:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Done!&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I created some examples, showing more functionalities of the plugin, and now users are able to test them directly on the example page.&lt;br /&gt;
I also started created more advanced unit tests, using mock object and spies.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will write some other tests and finalizing the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107950</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107950"/>
		<updated>2017-08-13T07:41:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Done!&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 11 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I created some examples, showing more functionalities of the plugin, and now users are able to test them directly on the example page.&lt;br /&gt;
I also started created more advanced unit tests, using mock object and spies.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will write some other tests and finalizing the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107949</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107949"/>
		<updated>2017-08-13T07:39:22Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Done!&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107819</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107819"/>
		<updated>2017-08-06T17:44:08Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 10 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I completed some examples, and I hosted the app using the build version which is much faster.&lt;br /&gt;
I also created a quick start documentation and a short video showing how to use the plugin.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create some other examples and improve more the documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107670</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107670"/>
		<updated>2017-07-29T08:15:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 9 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I allowed some customization of the settings from the user interface.&lt;br /&gt;
I changed the structure for the examples to insert many of them&lt;br /&gt;
I implemented many new examples with their own UI so that users can follow an HTML+JS example as is done in the WWW examples page.&lt;br /&gt;
One example for instance run 65k clusters very easily.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I need to finish the examples and use the build version to improve performances.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107584</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107584"/>
		<updated>2017-07-23T09:42:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 8 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week i've done the followings:&lt;br /&gt;
Enable the plugin to work with customized navigators and controls&lt;br /&gt;
Fixed a problem that prevented to click on a cluster and zoom&lt;br /&gt;
Allow the customization of the marker icons&lt;br /&gt;
Removed jQuery from the project&lt;br /&gt;
Implemented a build version for the gh-page&lt;br /&gt;
Implemented the plugin in a real application, and fixed a few problem that found on the project while doing it&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I have still to finish some unit test and I will also try to customize more the clustering functionalities&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107469</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107469"/>
		<updated>2017-07-16T07:40:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
=== Week 7 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I implemented the possibility to pan in the globe and display the markers in the panning area.&lt;br /&gt;
I created an option to limit the visible markers to improve performances.&lt;br /&gt;
I commented all the functions briefly and created many unit tests (more yet to come).&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will create more unit tests, and I will work more on the customization of the clustering functionalities.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107468</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107468"/>
		<updated>2017-07-16T07:36:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107404</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107404"/>
		<updated>2017-07-09T10:07:22Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt; Vacation&amp;lt;/del&amp;gt;  Comment code and documentation || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt; Comment code and documentation&amp;lt;/del&amp;gt; Vacation|| August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107403</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107403"/>
		<updated>2017-07-09T10:02:26Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
=== Week 6 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I finally found how to correlate the zoom levels of World Wind with the cluster levels.&lt;br /&gt;
I allow now users to set a maximum level on which they can cluster.&lt;br /&gt;
I created some images, with a color variation depending on the number of markers a cluster contains. &lt;br /&gt;
I show markers on the visible area while zooming or pressing the +/- buttons.&lt;br /&gt;
I allow to manage at the same time different clusters (each with his setting). &lt;br /&gt;
I created an example with all the US cities.&lt;br /&gt;
I implemented single markers without clusters.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I was expected to be on vacation, but since I won't be able to go, I agreed with my mentor that I will skip few days in August and next week I will work on two things:&lt;br /&gt;
Handling the pan on the globe to show the markers on the visible area (now works only with zoom).&lt;br /&gt;
Starting commenting the code because it's getting confusing. And create a documentation.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107367</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107367"/>
		<updated>2017-07-02T15:24:05Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Week 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching about the approaches to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107366</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107366"/>
		<updated>2017-07-02T15:22:21Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
=== Week 5 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week, as planned, I managed to hide all the markers outside the current view. I spent almost all week researching on all the approached to do that, and to improve performances I ended up using a camera model for a 2D view. Which works very well on small areas, like in our case. While, on a bigger area, I will implement maybe the 3D camera model, as suggested by my mentors.&lt;br /&gt;
I also created a smooth navigation to match zoom levels with cluster levels. I also implemented a GitHub page where is possible to test a demo with 200k markers.&lt;br /&gt;
Demo: [https://simonebt92.github.io/NASA-WWW-MarkerCluster/ https://simonebt92.github.io/NASA-WWW-MarkerCluster/]&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
I will try to understand how to correlate zoom levels from WorldWind (camera range) with zoom levels from the cluster and its radius, and an optimal number of markers to show on each level. &lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not totally blocked but I'm struggling on finding a good way to show the right amount of clusters and select a good radius when clustering.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107365</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107365"/>
		<updated>2017-07-02T15:10:00Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107281</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107281"/>
		<updated>2017-06-25T14:01:23Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at the start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
I managed to show and hide clusters based on the zoom level and hide the others. However, I encountered a small performance issue when there all too many markers in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I'm planning to hide all the markers that are not visible in the current view. I started researching and studying some code examples to achieve this.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not really blocked, but I need the help of the mentors to proceed because I'm not really sure right now.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107214</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107214"/>
		<updated>2017-06-18T14:23:53Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
I'm able to create a cluster for a specified zoom level and show it in the globe.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I would like to show and hide the clusters automatically based on the zoom level and generate at start all the groups.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107213</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107213"/>
		<updated>2017-06-18T14:19:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107156</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107156"/>
		<updated>2017-06-11T13:09:50Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Weekly Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
=== Week 2 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
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.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will improve the current functionalities and create new more to allow a better insertion of markers into the plugin.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I'm not blocked on anything right now&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107155</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107155"/>
		<updated>2017-06-11T13:07:29Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 ||Done!&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107112</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107112"/>
		<updated>2017-06-05T07:44:53Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Week 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* What did you get done this week?&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind.&lt;br /&gt;
* What do you plan on doing next week? &lt;br /&gt;
Next week I will set up the unit test environment.&lt;br /&gt;
* Are you blocked on anything? &lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107090</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107090"/>
		<updated>2017-06-03T17:40:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Public Repository &amp;amp; Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind. Next week I will set up the unit test environment.&lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub] .&lt;br /&gt;
More instruction on how to use the plugin will be available soon&lt;br /&gt;
# Instructions&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107089</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107089"/>
		<updated>2017-06-03T17:33:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Week 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
This week I set-up the development environment and made some research about the clustering algorithms and libraries available.&lt;br /&gt;
I found out some good library for clustering point and it can be integrated with WebWorldWind. Next week I will set up the unit test environment.&lt;br /&gt;
I already tried this week but had some problems. However, talking with my mentors I got some advice on how to proceed.&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster ...GitHub] .&lt;br /&gt;
To try the application is necessary to:&lt;br /&gt;
# Coming soon..&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107088</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=107088"/>
		<updated>2017-06-03T17:30:59Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Done!&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
Awaiting...&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster ...GitHub] .&lt;br /&gt;
To try the application is necessary to:&lt;br /&gt;
# Coming soon..&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2017_Accepted&amp;diff=106622</id>
		<title>Google Summer of Code 2017 Accepted</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Google_Summer_of_Code_2017_Accepted&amp;diff=106622"/>
		<updated>2017-05-15T15:17:13Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Accepted Proposals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:GSoC2016Logo.jpg|400px|link=https://developers.google.com/open-source/gsoc/]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; &lt;br /&gt;
[[Image:OSGeo_300_127_pixel.png|300px|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Back to the main OSGeo [[Google Summer of Code 2017]] @ OSGeo wiki page.&lt;br /&gt;
&lt;br /&gt;
== Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
This year OSGeo accepted 15 students working on the following projects:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#D7E3D1; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''Community'''&lt;br /&gt;
|'''Project'''&lt;br /&gt;
|'''Student'''&lt;br /&gt;
|'''1st mentor'''&lt;br /&gt;
|'''2nd mentor'''&lt;br /&gt;
|'''3rd mentor'''&lt;br /&gt;
|'''Wiki page'''&lt;br /&gt;
|'''Repository'''&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|GRASS GIS Locations Created From Public Data &lt;br /&gt;
|Zechariah Krautwurst&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Anna_Petrasova Anna Petrasova] &lt;br /&gt;
|[https://wiki.osgeo.org/wiki/OSGeo_Advocate#Vaclav_Petras Vaclav Petras]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|Integration of PDAL into GRASS GIS&lt;br /&gt;
|Paul Schrum&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Anna_Petrasova Anna Petrasova]  &lt;br /&gt;
|[https://wiki.osgeo.org/wiki/OSGeo_Advocate#Vaclav_Petras Vaclav Petras]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|GRASS GIS&lt;br /&gt;
|SOS tools in GRASS GIS&lt;br /&gt;
|Ondřej Pešek&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Lucadelu Luca Delucchi]&lt;br /&gt;
|Matteo De Stefano&lt;br /&gt;
|&lt;br /&gt;
|[https://trac.osgeo.org/grass/wiki/GSoC/2017/SOSInGRASS Trac]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|gvSIG&lt;br /&gt;
|Educational games add-on for gvSIG Batoví/Educa&lt;br /&gt;
|Carlos I. Colombana&lt;br /&gt;
|Nadia Chaer&lt;br /&gt;
|Francisco Puga&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|istSOS-Data analysis and statistical tools suite&lt;br /&gt;
|Rahul Chauhan&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Massimiliano_Cannata Massimiliano Cannata]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Milan_Antonovic Milan Antonovic]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|istSOS&lt;br /&gt;
|Improving IstSOS Web API and finalizing IstSOS Javascript Core Library&lt;br /&gt;
|Luka Glušica&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Milan_Antonovic Milan Antonovic]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Lucadelu Luca Delucchi]&lt;br /&gt;
|&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/IstSOS_Web_API IstSOS Web API]&lt;br /&gt;
|[https://github.com/istSOS/javascript-core Javascript Core]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/istSOS/web-widget-creator Web Widget Creator]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|MapMint&lt;br /&gt;
|Integrating istSOS as a data store in MapMint&lt;br /&gt;
|Niroshan Bandara&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Djay Gérald Fenoy]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Massimiliano_Cannata Massimiliano Cannata]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Sittichai_choosumrong Sittichai Choosumrong]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Integrating_istSOS_as_a_data_store_in_MapMint Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|MapMint4ME&lt;br /&gt;
|Adding Audio/Video and SOS input support in MapMint4ME&lt;br /&gt;
|Rajat Shinde&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Djay Gérald Fenoy]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Milan_Antonovic Milan Antonovic]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Sittichai_choosumrong Sittichai Choosumrong]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GSoC_17:_Add_Audio,_Video_and_SOS_input_support_in_MapMint4ME Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|NASA Web World Wind&lt;br /&gt;
|3D OSM Plugin API&lt;br /&gt;
|Candan Eylül Kilsedar&lt;br /&gt;
|Patrick Hogan&lt;br /&gt;
|Jakub Balhar&lt;br /&gt;
|&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GSoC_2017_-_3D_OSM_Plugin_API_for_ESA-NASA_Web_World_Wind Wiki]&lt;br /&gt;
|[https://github.com/kilsedar/3dosm GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|NASA Web World Wind&lt;br /&gt;
|MarkerCluster Plugin&lt;br /&gt;
|Simone Battaglia&lt;br /&gt;
|Patrick Hogan&lt;br /&gt;
|Gabriele Prestifilippo&lt;br /&gt;
|&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster Wiki]&lt;br /&gt;
|[https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|OneBusAway&lt;br /&gt;
|Integration of Bikeshare Information into an Open-source Transportation App&lt;br /&gt;
|Rodrigo Carvalho&lt;br /&gt;
|Stefan Steiniger&lt;br /&gt;
|Sean Óg Crudden&lt;br /&gt;
|Sean Barbeau&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Rewrite for Turn Restricted Shortest Path Algorithm in pgRouting&lt;br /&gt;
|Vidhan Jain&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Daniel_Kastl Daniel Kastl]&lt;br /&gt;
|Rohith Reddy&lt;br /&gt;
|&lt;br /&gt;
|[https://github.com/pgRouting/pgrouting/wiki/GSoC-2017-Rewrite-TRSP Wiki]&lt;br /&gt;
|[https://github.com/pgRouting/pgrouting/projects/1 Github Project]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Implement Connected Components Algorithms for pgRouting by the Boost Graph Library&lt;br /&gt;
|Maoguang Wang&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Cvvergara Vicky Vergara]&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/Daniel_Kastl Daniel Kastl]&lt;br /&gt;
|&lt;br /&gt;
|[https://github.com/pgRouting/pgrouting/wiki/GSoC-2017-Connected-Components Wiki]&lt;br /&gt;
|[https://github.com/pgRouting/pgrouting/tree/gsoc/connectComponent Github Branch]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|pgRouting&lt;br /&gt;
|Extension of pgRouting Contraction framework to implement Contraction By Area&lt;br /&gt;
|Ankur Shukla&lt;br /&gt;
|Rohith Reddy&lt;br /&gt;
|[https://wiki.osgeo.org/wiki/User:Cvvergara Vicky Vergara]&lt;br /&gt;
|&lt;br /&gt;
|[https://github.com/pgRouting/pgrouting/wiki/GSoC-2017-Area-Contraction Wiki]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|QGIS&lt;br /&gt;
|QGIS Web API and remote control Plugin (for Notebook integration)&lt;br /&gt;
|Kevin Stadler&lt;br /&gt;
|Barry Rowlingson&lt;br /&gt;
|Julia Wagemann&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [https://summerofcode.withgoogle.com/organizations/4660070039158784/ accepted projects on Google's platform].&lt;br /&gt;
&lt;br /&gt;
[[Category: Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=106596</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=106596"/>
		<updated>2017-05-14T16:55:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: /* Student's Biography */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
Awaiting...&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster ...GitHub] .&lt;br /&gt;
To try the application is necessary to:&lt;br /&gt;
# Coming soon..&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=106595</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=106595"/>
		<updated>2017-05-14T15:29:02Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
Awaiting...&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/simonebt92/NASA-WWW-MarkerCluster GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/simonebt92/NASA-WWW-MarkerCluster ...GitHub] .&lt;br /&gt;
To try the application is necessary to:&lt;br /&gt;
# Coming soon..&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
My name is Simone Battaglia, I'm a Ph.D student in Neurosciences at Alma Mater Studiorum Bologna. I'm passionate about programming, and I like to integrate the IT world inside the psychology field.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=106594</id>
		<title>GSoC 2017 - NASA/ESA WebWorldWind Marker Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=GSoC_2017_-_NASA/ESA_WebWorldWind_Marker_Cluster&amp;diff=106594"/>
		<updated>2017-05-14T15:23:35Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Simonebt92: Created page with &amp;quot;  == 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...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
My project will focus on creating a plugin to allow clusterization of markers in the&lt;br /&gt;
ESA-NASA Web World Wind framework. These following capabilities are the&lt;br /&gt;
features I would like to implement:&lt;br /&gt;
1. Clustering based on different algorithms&lt;br /&gt;
2. Set a custom icon based on user parameters: i.e., number of clusters or custom&lt;br /&gt;
variables&lt;br /&gt;
3. Cluster based on geometries and not just polygons&lt;br /&gt;
4. Filter clusters based on user criteria&lt;br /&gt;
5. Precache the cluster at the zoom levels for optimized performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TODO !! Timeline !! Status&lt;br /&gt;
|-&lt;br /&gt;
| Coding begins || May 30 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Research about the clustering functionalities and about the marker classes in WWW || May 30 - June 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of a clustering algorithm in WWW || June 11 - June 20 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 1 Evaluation || June 26 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Creating a first version of the clustering plugin || June 26 - June 30 || Awaiting...&lt;br /&gt;
|-&lt;br /&gt;
| Implementing clustering options to cluster markers based on attributes || July 1 - July 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Vacation Period || July 11 - July 18 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Phase 2 Evaluation || July 24 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Customize the design of clusters with colors and effects || July 24 - July 31 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Filter clusters on predefined attributes || August 1 - August 10 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Creating Unit Tests for the code || August 11 - August 16 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Clean the code and creating documentation || August 17 - August 21 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Finalizing documentation and reviewing the code || August 21 - 28 || Awaiting..&lt;br /&gt;
|-&lt;br /&gt;
| Submit final work product and mentor evaluation || August 29 || Awaiting..&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We will try to follow the schedule and report the status of the project each week.&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
Awaiting...&lt;br /&gt;
&lt;br /&gt;
==  Brief description of the idea == &lt;br /&gt;
My project consists in the development of a Plugin for the ESA/NASA WebWorldWind framework, to allow clustering of multiple markers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A link to all my commits is available here: [https://github.com/SimoneBattaglia/... GitHub]. &lt;br /&gt;
&lt;br /&gt;
== State of the art before this project ==&lt;br /&gt;
&lt;br /&gt;
Currently there is no plugin for clustering large amounts of markers, even though an&lt;br /&gt;
app may implement a similar functionality, but not with a modular plugin that can be&lt;br /&gt;
generically reused for any number of user-specific criteria. &lt;br /&gt;
&lt;br /&gt;
== Additions that this project will bring to the software ==&lt;br /&gt;
&lt;br /&gt;
As a result of the plugin I will develop, it will be possible for anyone to easily import&lt;br /&gt;
the plugin into the framework and use it as a modular component. In this way it will&lt;br /&gt;
be possible to cluster markers easily, using any number of options.&lt;br /&gt;
As an example, it can be useful to use this plugin when visualizing a marker for each&lt;br /&gt;
city in Italy, because, having thousand of markers in a small area could be very&lt;br /&gt;
difficult to render on the globe, but also to understand. Thanks to the plugin, users&lt;br /&gt;
will see only a few clusters while viewing the markers from a far distance and&lt;br /&gt;
zooming in they will see more and more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Public Repository &amp;amp; Testing==&lt;br /&gt;
&lt;br /&gt;
The application is available in GitHub at [https://github.com/... ...GitHub] .&lt;br /&gt;
To try the application is necessary to:&lt;br /&gt;
# Coming soon..&lt;br /&gt;
&lt;br /&gt;
== Student's Biography ==&lt;br /&gt;
&lt;br /&gt;
My name is Simone Battaglia, I'm a Ph.D student in Neurosciences at Alma Mater Studiorum Bologna. I'm passionate about programming, and I like to integrate the IT world inside the psychology field.&lt;br /&gt;
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.&lt;br /&gt;
[[Category:Google Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Wiki-Simonebt92</name></author>
	</entry>
</feed>