20 | | GRASS GIS contains some modules which would be good to implement into cartography suite for wxGUI Map Display. There are d.barscale, d.graph, d.histogram, d.legend and many other d.* commands to use. There are bugs in some of them and it needs to be fixed (options for map window size). Then there are some modules which need to be enhanced. Legend background is currently transparent > add an options for opacity, border and corner settings. It's possible to set number of breaks/ticks for legend but values are not rounded > add an option for manual brakes/ticks, add an option for automatic breaks/ticks (every ten, hundred). |
| 20 | GRASS as a software is available but as a web app, its not yet developed. The requirement for this is, as if one wants to use the Grass software, it should be installed on the system. But if web app is available then just open a browser and starts working. |
| 21 | |
| 22 | |
| 23 | == Overview == |
| 24 | |
| 25 | * Authorization module for user to login ( A Basic authentication service will be implemented which will store session id ) |
| 26 | * Mapset location wizard |
| 27 | * Openlayers based map canvas |
| 28 | * Menu bar as grass desktop have |
| 29 | * Toolbar with |
| 30 | 1. Pan |
| 31 | 2. Query |
| 32 | 3. Zoom in-out- to box- to layer- to region |
| 33 | 4. Save to img mapcanvas |
| 34 | 5. Save display extent to region |
| 35 | |
| 36 | == Project plan == |
24 | | == Addition to the project == |
| 40 | |||||| '''Project plan''' || |
| 41 | ||'''Date''' ||'''Goals''' ||'''status'''|| |
| 42 | ||Before 23 April ||Setup a personal wiki for weekly updates and project discussions.|| || |
| 43 | ||23 Apr-23 May ||Community bonding period. Work on the initial code written by Rashad at LSI lab. This code was written for a Proof of concept and not for any production use. Even though the implementation is done with the ultimate goal in mind. Based on the existing code define a simple uml diagram. This will finally be uploaded to grass wiki.|| || |
| 44 | ||23 May-26 May ||Understanding Command line parsing for different modules of the GRASS.|| || |
| 45 | ||26 May- 9 June ||Implement a wt based interface for GRASS’s g.parser. This include all kinds of wt widgets. No signal slot connection will be done this week. By end of this week the parser will be tested on a grass modules. Like r.average,r.buffer,v.buffer,v.build|| || |
| 46 | ||9 June - 19 June ||Authorization system integration. Testing of the implementation.|| || |
| 47 | ||19 June- 2 July ||Understanding current Mapset Location Wizard and its implementation.|| || |
| 48 | ||25 June - 27 June ||'''Midterm evaluations'''|| || |
| 49 | ||27 June - 2 July ||Remaining implementation of Mapset Location WIzard and testing its implementation.|| || |
| 50 | ||2 July - 6 July ||Implement a initial version of map canvas using openlayers by WObject::doJavascript() calls for testing maps. || || |
| 51 | ||6 July - 15 July ||WebGRASS menubar implementation. This will be the exact replica of the desktop grass gis taken from menudata.xml.|| || |
| 52 | ||5 July - 23 July ||Implement some of the action in menubar and keep but deactivate those needs extra care. || || |
| 53 | ||23 July - 27 July ||Testing the integration of the developed UI with the backend libraries .|| || |
| 54 | ||27 July - 4 Aug ||Implementation of the Security Concerns listed above.|| || |
| 55 | ||4 Aug - 11 Aug ||Final testing. Solving bugs and issues raised.|| || |
| 56 | ||11 Aug - 18 Aug ||Deployment of the solution on the server.Most probably it will be deployed on the LSI server.Other grass developer can have a look at this and report issues if there any.|| || |
| 57 | ||18 Aug - 23 Aug ||'''Final Evaluations'''|| || |
31 | | The idea of the project is to start with easytoimplement stuff and stepbystep implement the more difficult ones. There are many details which need to be improved and many others which are missing entirely so the users have to use another software (legend background, north arrow orientation) |
32 | | |
33 | | |||||| '''Project plan''' || |
34 | | ||Date ||Goals ||status|| |
35 | | ||MAY 23 ||Starting GoSC|| || |
36 | | ||MAY 23 - 27 ||Store legend, scale bar, north arrow and text in workspace, bug fixing (e.g. workspace loading) (wxGUI).|| || |
37 | | ||MAY 30 - JUNE 3 ||Add units to legend (optionally also title) as parameter. Option for switch legend to linear/logarithmic scale. Manual/automatic breaks/ticks for legend (option for rounded values, option for every ten,hundred).|| || |
38 | | ||JUNE 6 - 10 ||Legend background (border, rounded corners, opacity settings) (d.legend, C).Support map units in scale bar (not only meters).Allow user to set the length of scale bar (in map units) (d.barscale).|| || |
39 | | ||JUNE 13 - 17 ||Possibility to add any image (as in animation tool). Use cases: logo/watermark, workaround for overview maps.|| || |
40 | | ||JUNE 20 - 24 ||General shapes.|| || |
41 | | ||JUNE 20 - 27 ||'''Midterm evaluations'''|| || |
42 | | ||JUNE 27 - 1 JULY ||General shapes.|| || |
43 | | ||JULY 4 - 8 ||Include mapdisplaylike object.|| || |
44 | | ||JULY 11 - 15 ||Include mapdisplaylike object.|| || |
45 | | ||JULY 18 - 22 ||Implement vector legend. Enhance d.vect.thematic.)|| || |
46 | | ||JULY 25 - 29 ||Implement vector legend. Enhance d.vect.thematic. Testing, writing documentation.|| || |
47 | | ||AUGUST 1 - 5 ||Testing, writing documentation.|| || |
48 | | ||AUGUST 8 - 12 ||One week buffer in case of delay.|| || |
49 | | ||AUGUST 15 - 23 ||Submitting code and evaluations.|| || |
50 | | ||AUGUST 23 - 29 ||'''Final Evaluations'''|| || |
51 | | ||AUGUST 30 ||'''Ending GSoC'''|| || |
52 | | |
53 | | == Tickets == |
54 | | |
55 | | We are using keywords [query:keywords=~cartography cartography] and [query:keywords=~gsoc2016 gsoc2016] to mark the tickets which are tasks for this GSoC. |
56 | | |
57 | | [[TicketQuery(keywords=~cartography|~gsoc2016,order=priority)]] |
58 | | == Vector legend == |
59 | | |
60 | | Draft of legend implementation. Please edit or change completely. |
61 | | |
62 | | * 1st prototype |
63 | | * d.legend.vector |
64 | | * in: list of d.vect commands from layer manager |
65 | | * Python |
66 | | * extract: symbol color1 color2 size width text |
67 | | * symbol |
68 | | * symbols for lines and areas must be created |
69 | | * icon if v.info returns lines, then use the new symbol for lines |
70 | | * icon if v.info returns areas, then use the new symbol for areas |
71 | | * use icon for points |
72 | | * use icon when explicitly specified (there is a default but GUI does not put it there unlike history) |
73 | | * if mixed feature types, either special symbols or separate entries or just use symbol (needs to be decided) |
74 | | * color1=color |
75 | | * color2=fill_color |
76 | | * size=size |
77 | | * width=width |
78 | | * text=title or name |
79 | | * generates d.graph file |
80 | | * GUI takes d.vect commands, calls this module and uses the output in d.graph when rendering |
81 | | * 2nd stage |
82 | | * text format for customization |
83 | | * `symbol color1 color2 size width text...` |
84 | | * `legend/lines_z` red none 5 2 State border |
85 | | |
86 | | G7:d.graph code: |
87 | | |
88 | | {{{ |
89 | | color red |
90 | | polygon |
91 | | 10 10 |
92 | | 10 20 |
93 | | 20 20 |
94 | | 20 10 |
95 | | color black |
96 | | move 22 10 |
97 | | size 24 24 |
98 | | text Red area |
99 | | }}} |
100 | | |
101 | | See for example: source:grass-addons/tools/std_dataset_display.py and [https://grasswiki.osgeo.org/w/images/Std_dataset_nc_stripe.png the resulting image]. |