| 1 | [[TOC]] |
| 2 | |
| 3 | = GRASS GIS Mini Project 2022: Space-Time Dataset Visualization and Improved Interactive Maps for grass.jupyter= |
| 4 | |
| 5 | || Title: || '''Space-Time Dataset Visualization and Improved Interactive Maps for grass.jupyter'' || |
| 6 | || Student Name: || Caitlin Haedrich, [https://cnr.ncsu.edu/geospatial/ North Carolina State University] || |
| 7 | || Mentor Name: || Vaclav Petras, Helena Mitasova, Stephan Blumentrath || |
| 8 | || !GitHub Fork: || [https://github.com/chaedri/grass/tree/master/python/grass/jupyter View Repo] || |
| 9 | || Proposal: || [https://docs.google.com/document/d/1X9gBeDIU8-zDRx-AVmGrkhYw3TwQ_g9WAInG9e4u1SA/edit?usp=sharing View Proposal] || |
| 10 | |
| 11 | == Abstract == |
| 12 | During GSoC 2021, we created “grass.jupyter”, a package that improves the integration of GRASS GIS and Jupyter with a set of functions for displaying GRASS data in Jupyter Notebooks. In its current state, “grass.jupyter” allows users to create static visuals and simple interactive maps. However, several additional features are needed to allow Jupyter users to fully and easily access the power GRASS, including space-time dataset visualization and more options for interactive mapping (such as color or vector attribute access). |
| 13 | |
| 14 | |
| 15 | == Goal == |
| 16 | This project had three main objectives: |
| 17 | |
| 18 | 1. create a class for visualizing space time datasets allowing users to create interactive time-sliders and non-interactive animations such as GIFs. |
| 19 | |
| 20 | 2. improve the integration of grass and folium, the library used for InteractiveMap, so that users can access all of folium’s functionality. Currently, InteractiveMap allows users to add rasters and vectors to folium maps. Users can toggle between layers and export the map in HTML. However, folium allows for much more sophisticated mapping as well: users can control color, vector symbology, create heatmaps (point density maps) and view vector attributes with a click or hover. I propose to create new grass-folium objects that allow users to directly call folium (thus avoiding the problem of needing to wrap the entire folium library and continue to update as folium features change, depreciate and expand). |
| 21 | |
| 22 | 3. create a function to display vector attribute data in nicely-formatted Pandas or GeoPandas tables (as opposed to text output which is currently possible with “v.db.select”). |
| 23 | |
| 24 | |
| 25 | |
| 26 | == Timeline == |
| 27 | |
| 28 | {{{#!th style="background: #ddd" rowspan=2 |
| 29 | '''Time Period''' |
| 30 | }}} |
| 31 | {{{#!th style="background: #ddd" colspan=2 |
| 32 | '''Milestones''' |
| 33 | }}} |
| 34 | |----------------------- |
| 35 | {{{#!th style="background: #ddd" |
| 36 | Tasks |
| 37 | }}} |
| 38 | {{{#!th style="background: #ddd" |
| 39 | Status |
| 40 | }}} |
| 41 | |----------------------- |
| 42 | {{{#!td |
| 43 | January 10th - January 14th\\ |
| 44 | ''Week 1'' |
| 45 | }}} |
| 46 | {{{#!td |
| 47 | - |
| 48 | }}} |
| 49 | {{{#!td |
| 50 | |
| 51 | }}} |
| 52 | |----------------------- |
| 53 | {{{#!td |
| 54 | January 17th - January 21st \\ |
| 55 | ''Week 2'' |
| 56 | }}} |
| 57 | {{{#!td |
| 58 | - |
| 59 | }}} |
| 60 | {{{#!td |
| 61 | |
| 62 | }}} |
| 63 | |----------------------- |
| 64 | {{{#!td |
| 65 | January 24th - January 28th \\ |
| 66 | ''Week 3'' |
| 67 | }}} |
| 68 | {{{#!td |
| 69 | |
| 70 | }}} |
| 71 | {{{#!td |
| 72 | |
| 73 | }}} |
| 74 | |----------------------- |
| 75 | {{{#!td |
| 76 | January 31st - February 4th \\ |
| 77 | ''Week 4'' |
| 78 | }}} |
| 79 | {{{#!td |
| 80 | |
| 81 | }}} |
| 82 | {{{#!td |
| 83 | |
| 84 | }}} |
| 85 | |----------------------- |
| 86 | {{{#!td |
| 87 | February 7th - February 11th \\ |
| 88 | ''Week 5'' |
| 89 | }}} |
| 90 | {{{#!td |
| 91 | |
| 92 | }}} |
| 93 | {{{#!td |
| 94 | |
| 95 | }}} |
| 96 | |----------------------- |
| 97 | {{{#!td |
| 98 | February 14th - February 18th \\ |
| 99 | ''Week 6'' |
| 100 | }}} |
| 101 | {{{#!td |
| 102 | |
| 103 | }}} |
| 104 | {{{#!td |
| 105 | |
| 106 | }}} |
| 107 | |----------------------- |
| 108 | {{{#!td |
| 109 | February 21st - February 25th \\ |
| 110 | ''Week 7'' |
| 111 | }}} |
| 112 | {{{#!td |
| 113 | |
| 114 | }}} |
| 115 | {{{#!td |
| 116 | |
| 117 | }}} |
| 118 | |----------------------- |
| 119 | {{{#!td |
| 120 | February 28th - March 4th\\ |
| 121 | ''Week 8'' |
| 122 | }}} |
| 123 | {{{#!td |
| 124 | |
| 125 | }}} |
| 126 | {{{#!td |
| 127 | |
| 128 | }}} |
| 129 | |
| 130 | |
| 131 | == Weekly reports == |
| 132 | == Week 1 == |
| 133 | |
| 134 | |
| 135 | == Week 2 == |
| 136 | |
| 137 | |
| 138 | == Week 3 == |
| 139 | |
| 140 | |
| 141 | == Week 4 == |
| 142 | |
| 143 | |
| 144 | == Week 5 == |
| 145 | |
| 146 | |
| 147 | == Week 6 == |
| 148 | |
| 149 | |
| 150 | == Week 7 == |
| 151 | |
| 152 | |
| 153 | == Week 8 == |
| 154 | |
| 155 | |
| 156 | == Final Report == |
| 157 | **Title:** Title\\ |
| 158 | |
| 159 | **Abstract:**\\ |
| 160 | |
| 161 | |
| 162 | **The state of integration BEFORE the start of Mini Grant:**\\ |
| 163 | |
| 164 | |
| 165 | **The state of integration AFTER Mini Grant:**\\ |
| 166 | |
| 167 | |
| 168 | **Conclusion:**\\ |
| 169 | |
| 170 | |
| 171 | **Future Work:**\\ |
| 172 | |