<div dir="ltr">Hi,<div><br></div><div>Please find below <a href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018">Final Report of Google Summer of Code 2018</a> of Support for WFS Project.</div><div><br></div><div><div><br></div><div>
<h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";margin-top:0px">NASA-ESA WebWorldWind; Support for WFS Project<br></h2><ul style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px"><li style="box-sizing:border-box">Author : Garima Natani</li><li style="box-sizing:border-box;margin-top:0.25em">Mentor 1 : Jakub Balhar</li><li style="box-sizing:border-box;margin-top:0.25em">Mentor 2 : Gabriele Prestifilippo</li><li style="box-sizing:border-box;margin-top:0.25em">Organization :<span> </span><a href="http://www.osgeo.org/" rel="nofollow" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">OSGeo</a>,<span> </span><a href="https://worldwind.arc.nasa.gov/" rel="nofollow" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">NASA WorldWind</a></li></ul><h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-abstract" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#abstract" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Abstract</h2><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">OGC Web Feature Service allows a client to retrieve and update geospatial data encoded in Geography Markup Language (GML) from multiple Web Feature Services. WFS Server supports various operations like 'Get Feature', 'Describe Feature Type', 'Lock Feature' and 'Transaction' Operations.</p><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Transaction operation is an optional operation which allows the feature instances and their properties to be updated or deleted and it can also be used to insert new features. Each transaction will consist of zero or more Insert, Update, and Delete elements, with each transaction element performed in order. The Transaction operation request will contain transformation operations like Create, Update and Delete and web accessible feature instances in which operations need to be applied. When the transaction will complete, a web feature service will generate an XML response document indicating the completion status of the transaction.</p><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">In this project, classes are created which supports Web Feature Service[WFS] operation like 'Get Capability', 'Get Feature' and 'Transaction' Operation by using WFS standard request and response. It also supports parsing of response and creation of Create, Update and Delete requests of the transaction operation by providing shapes as an object.</p><h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-the-state-of-the-art-before-gsoc2018" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#the-state-of-the-art-before-gsoc2018" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>The state of the art before GSoC2018</h2><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Web WorldWind is a free, open-source virtual globe for web pages. Written in JavaScript, Web WorldWind enables web page and application builders to quickly create interactive visualizations of geographic information on an interactive 3D globe or 2D map. Web WorldWind provides an API that enables JavaScript programs to control every detail of visualization and interaction. This can be Used to embed a globe in a web page or create various application. Web WorldWind runs on all major operating systems, desktop and mobile devices, and web browsers.</p><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Web World wind provides facility to display and interact with data. It provides interactive features such as shapes and paths, as well as standard protocols developed by the OGC (Web Coverage Service, Web Map Service). Before GSoC 2018, Web Feature Service and its operations were not supported.</p><h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-the-addition-that-my-project-brought-to-the-software" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#the-addition-that-my-project-brought-to-the-software" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>The addition that my project brought to the software.</h2><ul style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px"><li style="box-sizing:border-box">With the code that I created, 'Get Capability' operation request and response parsing of Web Feature Service can be done for versions 1.0.0, 1.1.0 and 2.0.0</li><li style="box-sizing:border-box;margin-top:0.25em">With the Code that I created, now it is possible to use 'Get Feature' and 'Transaction' operations of Web Feature Service, as parsing of response is supported</li><li style="box-sizing:border-box;margin-top:0.25em">Creation, updation and deletion operation of the Transaction operation request XML can be created on providing shapes, schema and feature type as input</li><li style="box-sizing:border-box;margin-top:0.25em">After selecting feature from the feature list, Vector Layer features can be displayed on the 3D Globe or map</li></ul><h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-changes-through-this-project" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#changes-through-this-project" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Changes through this project:</h2><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Following classes are created</p><table style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;border-collapse:collapse;margin-top:0px;margin-bottom:16px;display:block;width:710px;overflow:auto;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px"><thead style="box-sizing:border-box"><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><th style="box-sizing:border-box;padding:6px 13px;font-weight:600;border:1px solid rgb(223,226,229)">Class Name</th><th style="box-sizing:border-box;padding:6px 13px;font-weight:600;border:1px solid rgb(223,226,229)">Description</th><th style="box-sizing:border-box;padding:6px 13px;font-weight:600;border:1px solid rgb(223,226,229)">Karma Test file</th></tr></thead><tbody style="box-sizing:border-box"><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/WfsCapabilities.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsCapabilities.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class takes 'Get Capability' response XML and parsed all elements. Version 1.0.0 1.1.0 and 2.0.0 of 'Get Capability' response parsing is supported.</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">wfsCapabilities.test.js</a>: This file covers test cases of various scenario like parsing different versions and different elements of the response.</td></tr><tr style="box-sizing:border-box;background-color:rgb(246,248,250);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/WfsGetFeature.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsGetFeature.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class takes 'Get Feature' operation response XML as a input and parse various elements.</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/getFeature.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">getFeature.test.js</a><span> </span>This file covers test cases of different type of 'Get Feature' response (Multipolygon, Multisurface) and testing of various elements of request</td></tr><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/WfsTransaction.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsTransaction.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class is used to parse transaction operation response</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfsTransaction.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">wfsTransaction.test.js</a>: This file covers tests for the transaction response parsing</td></tr><tr style="box-sizing:border-box;background-color:rgb(246,248,250);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/InsertXmlBuilder.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">InsertXmlBuilder.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class is used to create element of insert request for transaction operation</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/transactionInsDelUp.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">transactionInsDelUp.test.js</a>: It covers test cases for creating insert XML. It takes shape, schema and the feature to be modified</td></tr><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/UpdateXmlBuilder.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">UpdateXmlBuilder.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class is used to create update request for transaction operation</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/transactionInsDelUp.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">transactionInsDelUp.test.js</a></td></tr><tr style="box-sizing:border-box;background-color:rgb(246,248,250);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/DeleteXmlBuilder.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">DeleteXmlBuilder.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class is used to create delete request for transaction operation</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/transactionInsDelUp.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">transactionInsDelUp.test.js</a></td></tr><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/ShapeTransformer.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">ShapeTransformer.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class take shape as an input and return its type and coordinates.</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/shapeTransform.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">shapeTransform.test.js</a>: This file covers tests for shape to type and coordinate conversion.</td></tr><tr style="box-sizing:border-box;background-color:rgb(246,248,250);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/ogc/wfs/WfsService.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsService.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">To create 'Get Capability' request and then parse response</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">It is used by other class</td></tr><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/examples/WfsGetFeature.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsGetFeature.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This is the example of 'Get Feature' layer display on the globe</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/examples/WfsGetFeature.html" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsGetFeature.html</a>: HTML file used to display 'Get feature' Layer response on globe</td></tr><tr style="box-sizing:border-box;background-color:rgb(246,248,250);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/apps/Wfs/Wfs.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Wfs.js</a><span> </span>and<span> </span><a href="https://github.com/GarimaNatani/WebWorldWind/tree/develop/apps/Wfs" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Wfs</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">On passing web feature server Url, it displays list of features supported by that server. On selecting a particular feature from the list it creates 'Get Feature' Url and will send to request to server. 'Get Feature' Response will be parsed and displayed on the 3D Globe.</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/apps/Wfs.html" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Wfs.html</a><span> </span>File to test 'Get Feature' request builder and display its response on the globe or map</td></tr><tr style="box-sizing:border-box;background-color:rgb(255,255,255);border-top:1px solid rgb(198,203,209)"><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/util/WfsUrlBuilder.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsUrlBuilder.js</a></td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)">This class is used used to build 'Get Feature' request Url</td><td style="font-family:arial,sans-serif;margin:0px;box-sizing:border-box;padding:6px 13px;border:1px solid rgb(223,226,229)"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/buildUrl.test.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">buildUrl.test.js</a><span> </span>Test for 'Get Feature' URL builder</td></tr></tbody></table><h3 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;font-weight:600;line-height:1.25;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-below-files-are-also-updated" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#below-files-are-also-updated" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Below files are also updated</h3><ul style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px"><li style="box-sizing:border-box"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/src/WorldWindow.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WorldWindow.js</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/karma.conf.js" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">karma.conf.js</a> (for configuration update)</li></ul><h3 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;font-weight:600;line-height:1.25;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-below-are-sample-test-xmls" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#below-are-sample-test-xmls" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Below are sample xml used for testing</h3><ul style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px"><li style="box-sizing:border-box"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfs100GetCapabilities.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">GetCapabilities response(1.0.0)</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfs110GetCapabilities.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">GetCapabilities response(1.1.0)</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfs201GetCapabilities.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">GetCapabilities response(2.0.0)</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfsGetFeature.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">wfsGetFeature response1</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfsGetFeatureMember.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsGetFeature response2</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfsGetFeatureMemberMultiSurface.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">WfsGetFeature response3</a></li><li style="box-sizing:border-box;margin-top:0.25em"><a href="https://github.com/GarimaNatani/WebWorldWind/blob/develop/test/ogc/wfs/wfsTransactionAll.xml" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Transaction response</a></li></ul><h3 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;font-weight:600;line-height:1.25;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-link-to-commit-history" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#link-to-commit-history" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Link to commit history</h3><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">All the changes made by me during GSoC 2018 can be followed through the below link, which redirects to commit history.<span> </span><a href="https://github.com/GarimaNatani/WebWorldWind/commits/develop" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Commit History</a></p><h3 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;font-weight:600;line-height:1.25;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-link-to-wiki-and-repository" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#link-to-wiki-and-repository" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Link to<span> </span><a href="https://wiki.osgeo.org/wiki/GSoC_2018_NASA-ESA_WebWorldWind_Support_for_WFS_Format" rel="nofollow" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Wiki</a><span> </span>and<span> </span><a href="https://github.com/GarimaNatani/WebWorldWind" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none">Repository</a></h3><h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-what-left" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#what-left" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>What Left?</h2><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Classes are created that can create a request by passing shape as the object. To improve functionality shape object can be passed by drawing shape on the globe.</p><h2 style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.5em;font-weight:600;line-height:1.25;padding-bottom:0.3em;border-bottom:1px solid rgb(234,236,239);color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol""><a id="gmail-user-content-future-scope" class="gmail-anchor" href="https://github.com/GarimaNatani/WebWorldWind/wiki/Final-Report-Google-Summer-of-Code-2018#future-scope" style="color:rgb(3,102,214);box-sizing:border-box;background-color:transparent;text-decoration:none;float:left;padding-right:4px;line-height:1"></a>Future Scope:</h2><p style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Below Operations of WFS can be implemented by drawing a shape on the globe.</p><ul style="text-decoration-style:initial;text-decoration-color:initial;box-sizing:border-box;padding-left:2em;margin-top:0px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px;margin-bottom:0px"><li style="box-sizing:border-box">GetPropertyValue</li><li style="box-sizing:border-box;margin-top:0.25em">GetFeatureWithLock</li><li style="box-sizing:border-box;margin-top:0.25em">CreateStoredQuery</li><li style="box-sizing:border-box;margin-top:0.25em">DropStoredQuery</li><li style="box-sizing:border-box;margin-top:0.25em">ListStoredQueries</li><li style="box-sizing:border-box;margin-top:0.25em">DescribeStoredQueries</li></ul><div><br></div><div><br></div>Regards,<br>Garima Natani</div></div></div>