NASA-ESA WebWorldWind GSoC 2018 Ideas

In this page, we list all the Ideas for the 2018 program with WebWorldWind. 
__TOC__
* Product: WebWorldWind [GitHub]
* Mentors: Jakub Balhar, Gabriele Prestifilippo
== Support for WFS Format ==
Description: There is an OGC format Web Feature Service [WFS]. It supports querying the features based on spatial and non-spatial constraints, creating a new feature, deleting a feature and updating a feature. To simplify work with the WFS Service we want a set of classes which will allow simple querying the data from the WFS Service and using the Creation, Updating and deleting of the Features using the shapes drawn on the Globe. 
 
Rating: Medium
Expected Outcomes: Set of Classes for Querying the WFS service, creating new features in the service, updating the existing and deleting them with visual interface using the WebWorldWind capabilities to edit and draw shapes.
Skills: Basic knowledge in the area of the GIS (Knowledge of the WFS Standard helps), Javascript experience - RequireJS, ECMAScript 5 
Test of skills: Prepare an example class for WFS GetCapabilities. 
Mentors: Jakub Balhar
== Visible area and zoom to visible area in 3D ==
Description: The Web World Wind is a 3D globe which makes it tricky to figure out what area is visible in the geographical coordinates. This task has two parts. In the first part the student is expected to come up with solution to retrieve the visible area as a shape. In the second part the student is required to come up with a way and interface to allow user to specify the visible areas as a shape and the globe will zoom accordingly. 
Rating: Hard
Expected Outcomes: There will be simple way in the framework to retrieve the Currently Visible Area as a Shape as well as possibility to provide the are in the form of shape and let the framework figure out a way to zoom so that only this area is visible. 
Skills: Knowledge of 3D Programming for example for the Game Graphics, Javascript experience - RequireJS, ECMAScript 5 
Test of skills: Create a TiledImageLayer which draws rectangles around tiles. It means that if you take some of the examples there will be additional layer, which will visualize the internal tiling system by drawing thin line on the border of the tile. Example to draw upon is in the HeatMap.js
Mentors: Jakub Balhar
== Vector Arrow Layer ==
Accept data in some of the standard formats and build an appropriately aligned and sized vector-arrow based on them. One example might show wind blowing over terrain or ocean currents. A first step would likely be to assess which standard data formats are used for this. Possible candidates are formats such as CSV. In the second step the student will be expected to provide a Layer implementation with some set of adapters for different data sets which comes out from the first step.
Examples: Air maps at the www.ventusky.com 
Rating: Easy
Expected Outcomes: The framework will provide a Layer displaying the vector-arrow shapes efficiently. It will also provide adapters for the data in formats decided in the firt part of the task. 
Skills: Javascript experience - RequireJS, ECMAScript 5, Basic GIS Knowledge
Test of skills: Create an implementation of the TiledImageLayer supporting the map tiles from http://a.basemaps.cartocdn.com/light_all/ and expose it in npm as a module. 
Mentors: Jakub Balhar, Gabriele Prestifilippo
== Create Your Own ==
Please propose your own project idea!
Category: Google Summer of Code