Difference between revisions of "GSoC 2018 NASA-ESA WebWorldWind Support for WFS Format"

From OSGeo
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 40: Line 40:
 
* Able to run existing Karma tests.
 
* Able to run existing Karma tests.
 
|
 
|
* To write code to send the Getcapability request to WFS server and
+
* To write code to send the Get capability request to WFS server and
 
* To Create of Karma tests for testing.
 
* To Create of Karma tests for testing.
 
|No
 
|No
Line 48: Line 48:
 
(14th May -20th May)
 
(14th May -20th May)
 
|
 
|
* Get Capability requset (version 1.0.0) parsing.  
+
* Get Capability request (version 1.0.0) parsing.  
 
* Creation of WfsCapability.js
 
* Creation of WfsCapability.js
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/8af589998373c93259ad4f6c51e18516e5c9d7b4 Commit1]
 
|
 
|
* To write code to send the Getcapability request and parse it for version 1.1.0 and 2.0.0  
+
* To write code to send the Get capability request and parse it for version 1.1.0 and 2.0.0  
 
* Creation of Karma tests for testing.
 
* Creation of Karma tests for testing.
 +
 
|No
 
|No
 
|-
 
|-
Line 62: Line 64:
 
* Creation of basic automatic karma test cases  
 
* Creation of basic automatic karma test cases  
 
* Issues fixing and testing with various values
 
* Issues fixing and testing with various values
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/d37b1405006660bc501739c24668f0c72a4f0afe Commit 1]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/b0c530da43d4d4ed561b9f15afc82dd8f9748ae7 Commit 2]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/14989c26a47777e87948115aa05f5a72a4991dc8 Commit 3]
 
|
 
|
 
* Create advanced level tests and fix issues/defects of existing files.
 
* Create advanced level tests and fix issues/defects of existing files.
Line 73: Line 78:
 
* Issues fixing and testing with various values
 
* Issues fixing and testing with various values
 
* Documentation of new functions
 
* Documentation of new functions
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/9dd2c764f83aa1b2b7188a8cf61a083f0b86dfe3 Commit 1]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/ca9af68dfb5e32de66778b86419f19f74c1d73d2 Commit 2]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/5ca7f9646afbba8e0aa73d3fb5c104cfe31c8f05 Commit 3]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/ac2c032578e6ee9f42edf4eb63c120718d66a594 Commit 4]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/c6694913ca2c7d1e1034ff3c4de0b9168089003a Commit 5]
 
|
 
|
 
* GetFeature response parsing.
 
* GetFeature response parsing.
Line 84: Line 94:
 
* Get Feature response parsing for MultiSurface and Multipolygon Gml
 
* Get Feature response parsing for MultiSurface and Multipolygon Gml
 
* Karma test creation for the same.
 
* Karma test creation for the same.
* Below files are added or updated
+
[https://github.com/GarimaNatani/WebWorldWind/commit/1cfd59abc4d896ace5728d8305f14d1495f53549 Commit 1]
Get Feature Parsing
+
[https://github.com/GarimaNatani/WebWorldWind/commit/c31ffc060ae7f56c4b7dcfcd1484174c0dbed121 Commit 2]
getFeature.test.js
+
[https://github.com/GarimaNatani/WebWorldWind/commit/946285b25151209db3869d663a390b785d2f89b4 Commit 3]
GetFeatureMemberMultiSurface.xml
 
wfsGetFeatureMember.xml
 
 
|
 
|
 
* Documentation of functions
 
* Documentation of functions
Line 94: Line 102:
 
* Discuss next phase strategy with mentors.
 
* Discuss next phase strategy with mentors.
 
|No
 
|No
 +
|-
 +
|-
 +
|Week 5
 +
(11th June - 17th June)
 +
|
 +
* Discussion of phase 2 strategy with mentors.
 +
* Documentation of get feature code
 +
* Went through the code that is used to display data on globe
 +
|
 +
*Write code to display get feature data on globe
 +
|No
 +
|-
 +
|-
 +
|Week 6
 +
(18th June - 24th June)
 +
|
 +
* Creation of class for creating GetFeature URL
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/1879e6a65810bcac34bbe021aa80726553295358 getFeature url]
 +
|
 +
* To write code to create service instance on passing Get capability and Get Feature Url
 +
|No
 +
|-
 +
|-
 +
|Week 7
 +
(24th June - 1st July)
 +
|
 +
*Creation of class for creating Web feature Service Layer
 +
*Get Feature Url Karma Test updated
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/eaaf251e49c9665765a366f2c2dd0b4eb082f7fb Commit 1]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/cfabaf4cdfc5b11331d649ab3f4fc390630a1618 Commit 2]
 +
|
 +
* To write code to display data on the globe.
 +
|No
 +
|-
 +
|-
 +
|Week 8
 +
(2nd July - 8th July)
 +
|
 +
*Display web feature service data on the globe.
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/51f3ae542783362e8b6e709579a070236f9bdc6e Commit 1]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/84c3a645a02d813cc07b759bdb15874dfe5d5b68 Commit 2]
 +
|
 +
* To write code to get sever Url from GUI and then show data on Globe
 +
|No
 +
|-
 +
|-
 +
|Week 9
 +
(9th July - 15th July)
 +
|
 +
*Feature List is displayed on GUI on providing ServerUrl
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/e960c91992938bb19187182fd708969e6b31b95f Commit 1]
 +
|
 +
* To write code to create get feature Url and calling get feature service on selecting a particular feature
 +
|No
 +
|-
 +
|-
 +
|Week 10
 +
(15th July - 22nd July)
 +
|
 +
*Written create get feature Url creation code but it is failing with different error
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/4d820011322daaada26bed1f558ca7c18e1536e1 Commit 1]
 +
|
 +
* To write code to create get feature Url and calling get feature service on selecting a particular feature
 +
| Yes, will discuss with the mentors about the approach that can be taken to create Url
 +
 +
|-
 +
|-
 +
|Week 11
 +
(22nd July - 29th July)
 +
|
 +
*I have written code to display features on selecting a particular feature from the list.
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/68bfd44f32acd0ebef19373e57e9841074ed1c40 Commit 1]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/92a903cabe90125c9923aa0e94432298a71b2e1a Commit 2]
 +
|
 +
* To write code for the transaction feature.
 +
* Prepare a report for final evaluation
 +
| Yes, facing issue with ShapeEditorController. js file.
 +
 +
|-
 +
|-
 +
|Week 12
 +
(30th July - 05th Aug)
 +
|
 +
*I have written code to parse transaction operation(insert,Update,Delete) XML response
 +
*Created Test case to test the response parsing
 +
*Written code to create Insert operation request XML with a different type of geometry(multiline and Polygon).
 +
*Created test cases for insert operation XML creation
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/66fe44bcce17496c9f972e9bad80a3d3b40ae073 commit 1]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/f84c39b57e9e1a2cbdb93e0972626a2ac6d4e45f commit 2]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/77b38474a74b0c43d4e49243e4155fb80ab3fa38 commit 3]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/32808c861d9b67938bc4509a28c41cd279d02adb commit 4]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/8decb153293839889f2e62f46107861a3024259c commit 5]
 +
[https://github.com/GarimaNatani/WebWorldWind/commit/290aeb93d04f504867ed1b69115dfa1f42481282 commit 6]
 +
|
 +
* To write code for the transaction operation (Delete and update) request XML creation.
 +
* Prepare a report for final evaluation
 +
| No
 +
 
|-
 
|-
 
|-
 
|-
 
|}
 
|}
 +
 +
== '''Project Outcome''' ==
 +
* Contributed to open source community by supporting web feature service and its operations
 +
* Developed code to display vector features on 3D Globe, and to create Open Geospatial Consortium (OGC) standardized XML request of 'Get Feature' and 'Transaction' operation of web feature service
 +
* Increased the facility of data visualization and interaction with spatial data by creating standard web feature service XML response parser in JavaScript
 +
* Developed automatic tests in Karma framework to test newly created functionality

Latest revision as of 22:12, 1 September 2018

Project Description

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.

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 on 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.

In this project, OGC format Web Feature Service [WFS] client will be created which will support Transaction Operation on features by using WFS standard request and response. The goal is to parse Get capability request and to identify the capability of the server. And the proposed client will support Creation, Updation and deletion of the features instance using the shapes drawn on the Globe.

The state of Project before GSoC

Creation, Updating and deleting of the Features using the shapes drawn on the Globe is not supported by NASA-ESA WebWorldWind

Benefits to the community

Creation, Updation and deletion of the features by drawing shapes on the Globe will help a user to maintain web features stored on the server. The Functionality of current client will increase.

Project Deliverables

  • Deliver Classes that perform WFS (Transaction Operator) using the shapes drawn on the Globe.
  • GUI code to display Updated features.
  • Test Suits that perform testing with various data set.
  • Complete documentation of Code.

Repository Link: https://github.com/GarimaNatani/WebWorldWind

Status

Time Status Next Week Plan Blocked
Community bonding period

(April 23rd - May 13th)

  • Introduction and skype meeting with mentors
  • Creation and update of the wiki.
  • Installation of required software (node.js, WebStrom, Visual C++, etc)
  • Cloning and Set up of WebWorldWind repository on my machine
  • Installation of all the dependencies
  • Able to run existing Karma tests.
  • To write code to send the Get capability request to WFS server and
  • To Create of Karma tests for testing.
No
Week 1

(14th May -20th May)

  • Get Capability request (version 1.0.0) parsing.
  • Creation of WfsCapability.js

Commit1

  • To write code to send the Get capability request and parse it for version 1.1.0 and 2.0.0
  • Creation of Karma tests for testing.
No
Week 2

(21st May - 27th May)

  • Get Capability request (version 1.1.0 and 2.0.0) parsing.
  • Creation of basic automatic karma test cases
  • Issues fixing and testing with various values

Commit 1 Commit 2 Commit 3

  • Create advanced level tests and fix issues/defects of existing files.
No
Week 3

(28th May - 3rd June)

  • Get Capability response parsing and advance test cases
  • Issues fixing and testing with various values
  • Documentation of new functions

Commit 1 Commit 2 Commit 3 Commit 4 Commit 5

  • GetFeature response parsing.
  • Writing unit test cases for the same.
No
Week 4

(4th June - 10th June)

  • Get Feature response parsing for MultiSurface and Multipolygon Gml
  • Karma test creation for the same.

Commit 1 Commit 2 Commit 3

  • Documentation of functions
  • Create final submission report for phase1
  • Discuss next phase strategy with mentors.
No
Week 5

(11th June - 17th June)

  • Discussion of phase 2 strategy with mentors.
  • Documentation of get feature code
  • Went through the code that is used to display data on globe
  • Write code to display get feature data on globe
No
Week 6

(18th June - 24th June)

  • Creation of class for creating GetFeature URL

getFeature url

  • To write code to create service instance on passing Get capability and Get Feature Url
No
Week 7

(24th June - 1st July)

  • Creation of class for creating Web feature Service Layer
  • Get Feature Url Karma Test updated

Commit 1 Commit 2

  • To write code to display data on the globe.
No
Week 8

(2nd July - 8th July)

  • Display web feature service data on the globe.

Commit 1 Commit 2

  • To write code to get sever Url from GUI and then show data on Globe
No
Week 9

(9th July - 15th July)

  • Feature List is displayed on GUI on providing ServerUrl

Commit 1

  • To write code to create get feature Url and calling get feature service on selecting a particular feature
No
Week 10

(15th July - 22nd July)

  • Written create get feature Url creation code but it is failing with different error

Commit 1

  • To write code to create get feature Url and calling get feature service on selecting a particular feature
Yes, will discuss with the mentors about the approach that can be taken to create Url
Week 11

(22nd July - 29th July)

  • I have written code to display features on selecting a particular feature from the list.

Commit 1 Commit 2

  • To write code for the transaction feature.
  • Prepare a report for final evaluation
Yes, facing issue with ShapeEditorController. js file.
Week 12

(30th July - 05th Aug)

  • I have written code to parse transaction operation(insert,Update,Delete) XML response
  • Created Test case to test the response parsing
  • Written code to create Insert operation request XML with a different type of geometry(multiline and Polygon).
  • Created test cases for insert operation XML creation

commit 1 commit 2 commit 3 commit 4 commit 5 commit 6

  • To write code for the transaction operation (Delete and update) request XML creation.
  • Prepare a report for final evaluation
No

Project Outcome

  • Contributed to open source community by supporting web feature service and its operations
  • Developed code to display vector features on 3D Globe, and to create Open Geospatial Consortium (OGC) standardized XML request of 'Get Feature' and 'Transaction' operation of web feature service
  • Increased the facility of data visualization and interaction with spatial data by creating standard web feature service XML response parser in JavaScript
  • Developed automatic tests in Karma framework to test newly created functionality