Difference between revisions of "Projets-2016-2017-GeoDiff"
Jump to navigation
Jump to search
Herve.Becher (talk | contribs) |
Herve.Becher (talk | contribs) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
* Members: AMAURIN Alexandre, BECHER Hervé, BROCHIER Aymeric |
* Members: AMAURIN Alexandre, BECHER Hervé, BROCHIER Aymeric |
||
− | * |
+ | * Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]] |
= Progress of the project = |
= Progress of the project = |
||
Line 37: | Line 37: | ||
* UML diagrams (Use Case and Sequence) |
* UML diagrams (Use Case and Sequence) |
||
+ | [[Projets-2016-2017-GeoDiff/UML|UML]] |
||
== Week 5 (February 6th - February 12th) == |
== Week 5 (February 6th - February 12th) == |
||
Line 64: | Line 65: | ||
*** Command-line argument parser (using jopt-simple) that currently takes two files and an optional unique identifier for each element |
*** Command-line argument parser (using jopt-simple) that currently takes two files and an optional unique identifier for each element |
||
*** Support for GeoJSON as input files |
*** Support for GeoJSON as input files |
||
− | *** Output delta as GeoJSON file, with each feature having additional properties used by GeoDiff tools (currently geodiff-type which identifies the type of modification, i.e 'add', 'del', 'mod', or 'id') |
+ | *** Output delta as GeoJSON file, with each feature having additional properties used by GeoDiff tools (currently 'geodiff-type' which identifies the type of modification, i.e 'add', 'del', 'mod', or 'id') |
** To do: |
** To do: |
||
*** Support more formats |
*** Support more formats |
||
Line 71: | Line 72: | ||
** Technologies used: |
** Technologies used: |
||
*** Java |
*** Java |
||
− | *** Gson (from Google) for manipulating JSON objects (under Apache License 2.0, |
+ | *** Gson (from Google) for manipulating JSON objects (under Apache License 2.0, [https://github.com/google/gson GitHub repo]) |
− | *** GeoJSON addon for Gson (from user filosganga) that adds convenient structures and methods for manipulating GeoJSON objects (under Apache License 2.0, |
+ | *** GeoJSON addon for Gson (from user [https://github.com/filosganga filosganga]) that adds convenient structures and methods for manipulating GeoJSON objects (under Apache License 2.0, [https://github.com/filosganga/geogson GitHub repo]) |
− | *** JOpt Simple |
+ | *** JOpt Simple for parsing command line options (under The MIT License, [https://pholser.github.io/jopt-simple/ website]) |
+ | * Browser tool (JavaScript) |
||
+ | ** Done: (...) |
||
+ | ** To do: (...) |
||
+ | * To do: |
||
+ | ** Merge the map view and data inputs (web interface) |
||
== Week 10 (March 20th - March 26th) == |
== Week 10 (March 20th - March 26th) == |
||
+ | |||
+ | * Command-line tool |
||
+ | ** Made internal data structures all use filosganga's geogson classes |
||
+ | ** Added parsers for reading and converting their input into our internal Element structure |
||
+ | *** Allows for simple modules for other formats |
||
+ | *** Currently GeoJSON and CSV supported |
||
+ | ** Added Javadoc |
||
+ | ** To do: |
||
+ | *** Improve the modularity of the program (=> better API) |
||
+ | *** Maybe write our own (simplified) data structures |
||
+ | * Created test sets to check if the Java and JavaScript tools are consistent in regard to the GeoJSON standard |
||
+ | ** Done: tests on JavaScript |
||
+ | ** To do: tests on Java |
||
+ | * Browser tool |
||
+ | ** Done: (...) |
||
+ | ** To do: (...) |
||
+ | * To do: |
||
+ | ** Merge the map view and data inputs (web interface) |
||
+ | |||
+ | == Week 11 (March 27th - April 2nd) == |
||
+ | |||
+ | * Command-line tool |
||
+ | ** Done: |
||
+ | *** Tests done and successful |
||
+ | *** Flaw detected: the parser doesn't allow empty (possibly null too?) JSON objects (like empty geometry objects) |
||
+ | ** To do: |
||
+ | *** Add options to filter output data |
||
+ | *** Javadoc |
||
+ | ** Done: |
||
+ | *** Tests (see section below) with a UI for easier testing |
||
+ | *** Squashed bugs in the comparison functions |
||
+ | * Browser tool |
||
+ | ** Done: |
||
+ | *** Option to download a zip archive containing four files (additions, deletions, modifications and all three) in GeoJSON |
||
+ | *** Use of PHP to create the files |
||
+ | *** Add geodiff-type property to all features |
||
+ | ** To do: |
||
+ | *** Clean up code and improve security (for ex. prevent the modification of critical variables) |
||
+ | *** Merge the map view and data inputs - almost there |
||
+ | * Tests |
||
+ | ** Test sets in GeoJSON to facilitate the checks in Java |
||
+ | ** All the geometrical structures have been tested: Point, MultiPoint, LineString, MultiLineString, Polygon and MultiPolygon (with consideration of the height for JavaScript) |
Latest revision as of 10:43, 3 April 2017
Preambule
The project subject GeoDiff
This project is handled by three Polytech students: AMAURIN Alexandre, BECHER Hervé, BROCHIER Aymeric
Project Presentation
The goal of this project is to identify the differences between two spatial data sets and visualize them.
Team
- Supervisors: Nicolas Palix
- Members: AMAURIN Alexandre, BECHER Hervé, BROCHIER Aymeric
- Department : RICM 4, Polytech Grenoble
Progress of the project
The project started January 14th, 2015.
Week 1 (January 09th - January 15th)
- Project selection
Week 2 (January 16th - January 22th)
- Project discovery
- AIR page and GitHub project setup
- Team organization
- Software Requirement Specification
Week 3 (January 23th - January 29th)
Week 4 (January 30th - February 05th)
- UML diagrams (Use Case and Sequence)
Week 5 (February 6th - February 12th)
- First look at Javascript and Leaflet
- Finished first SRS version
Week 6 (February 13th - February 19th)
- Progress at the level of the delta and at the level of the graphic display.
Week 7 (February 20th - February 26th)
- Holiday break
Week 8 (February 27th - March 5th)
- Rough interface (using Leaflet) for showing delta using layers
- Files input and unique identifier selection
Week 9 (March 6th - March 12th)
- Command-line tool (written in Java) development started
- Pretty rough (prototype)
- Done:
- Delta computing module
- Command-line argument parser (using jopt-simple) that currently takes two files and an optional unique identifier for each element
- Support for GeoJSON as input files
- Output delta as GeoJSON file, with each feature having additional properties used by GeoDiff tools (currently 'geodiff-type' which identifies the type of modification, i.e 'add', 'del', 'mod', or 'id')
- To do:
- Support more formats
- Add abstraction layers for internal manipulation of data sets (adapters, etc.)
- Allow the user to add his own module(s) for parsing input files
- Technologies used:
- Java
- Gson (from Google) for manipulating JSON objects (under Apache License 2.0, GitHub repo)
- GeoJSON addon for Gson (from user filosganga) that adds convenient structures and methods for manipulating GeoJSON objects (under Apache License 2.0, GitHub repo)
- JOpt Simple for parsing command line options (under The MIT License, website)
- Browser tool (JavaScript)
- Done: (...)
- To do: (...)
- To do:
- Merge the map view and data inputs (web interface)
Week 10 (March 20th - March 26th)
- Command-line tool
- Made internal data structures all use filosganga's geogson classes
- Added parsers for reading and converting their input into our internal Element structure
- Allows for simple modules for other formats
- Currently GeoJSON and CSV supported
- Added Javadoc
- To do:
- Improve the modularity of the program (=> better API)
- Maybe write our own (simplified) data structures
- Created test sets to check if the Java and JavaScript tools are consistent in regard to the GeoJSON standard
- Done: tests on JavaScript
- To do: tests on Java
- Browser tool
- Done: (...)
- To do: (...)
- To do:
- Merge the map view and data inputs (web interface)
Week 11 (March 27th - April 2nd)
- Command-line tool
- Done:
- Tests done and successful
- Flaw detected: the parser doesn't allow empty (possibly null too?) JSON objects (like empty geometry objects)
- To do:
- Add options to filter output data
- Javadoc
- Done:
- Tests (see section below) with a UI for easier testing
- Squashed bugs in the comparison functions
- Done:
- Browser tool
- Done:
- Option to download a zip archive containing four files (additions, deletions, modifications and all three) in GeoJSON
- Use of PHP to create the files
- Add geodiff-type property to all features
- To do:
- Clean up code and improve security (for ex. prevent the modification of critical variables)
- Merge the map view and data inputs - almost there
- Done:
- Tests
- Test sets in GeoJSON to facilitate the checks in Java
- All the geometrical structures have been tested: Point, MultiPoint, LineString, MultiLineString, Polygon and MultiPolygon (with consideration of the height for JavaScript)