{"id":17986,"date":"2022-10-04T14:54:06","date_gmt":"2022-10-04T18:54:06","guid":{"rendered":"https:\/\/cnr.ncsu.edu\/geospatial\/?p=17986"},"modified":"2026-07-07T12:10:07","modified_gmt":"2026-07-07T16:10:07","slug":"grass-gis-foss4g-2022","status":"publish","type":"post","link":"https:\/\/cnr.ncsu.edu\/geospatial\/news\/2022\/10\/04\/grass-gis-foss4g-2022\/","title":{"rendered":"Unleashing the Power of GRASS GIS with Jupyter Notebooks at FOSS4G 2022"},"content":{"rendered":"\n\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Editor\u2019s note:<\/em><\/strong><em>&nbsp;Each semester, students in the&nbsp;<a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/academics\/phd-in-geospatial-analytics\/\">Geospatial Analytics Ph.D. program<\/a>&nbsp;can apply for a Geospatial Analytics Travel Award that supports research travel or presentations at conferences.&nbsp;<strong>The following is a guest post by travel award winner<\/strong>&nbsp;<strong>Caitlin Haedrich<\/strong>&nbsp;as part of the&nbsp;<a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/news\/category\/student-travel\/\">Student Travel series<\/a>.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the introduction and rapid rise of data science over the past decade, it should come as no surprise that more and more practitioners and students of geospatial analytics are turning to coding languages like Python and R to conduct their work. Not only does a code-based approach give them access to other tool libraries, but it also makes their work more accessible; other researchers and analysts can follow and reproduce their work simply by re-running their code. One of the most popular tools for data scientists is the Jupyter Notebook, an all-in-one interactive document allowing users to mix narrative text with live code and code output. This mix makes Jupyter Notebooks powerful teaching tools and excellent for sharing and explaining analyses.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Over the past year, I\u2019ve been working with Center for Geospatial Analytics Research Software Engineer <a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/people\/vaclav-petras\/\">Vaclav Petras<\/a> and the GRASS GIS community to integrate GRASS GIS with Jupyter Notebooks. <a href=\"https:\/\/grass.osgeo.org\/\">GRASS GIS<\/a> is an extensive open-source geoprocessing library with over 500 tools and 300 more as add-ons. Although GRASS GIS has a Python API (Application Programming Interface), using GRASS GIS in Jupyter Notebooks requires some additional functionality such as in-line visualizations of GRASS data and smooth handling of GRASS data. We wrote a new package called \u201c<a href=\"https:\/\/grass.osgeo.org\/grass82\/manuals\/libpython\/grass.jupyter.html\">grass.jupyter<\/a>\u201d that\u00a0 provides these functionalities and is included with the installation of GRASS GIS so that all users can access the power of Jupyter Notebooks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The year-long development effort culminated in a week of presentations and workshops at <a href=\"https:\/\/2022.foss4g.org\/\">FOSS4G 2022<\/a>, a conference about Free and Open Source Software for Geospatial, held in Florence, Italy. Center for Geospatial Analytics Research Software Engineer <a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/people\/anna-petrasova\/\">Anna Petrasova<\/a>, Vaclav Petras and I led a 4-hour <a href=\"https:\/\/github.com\/ncsu-geoforall-lab\/grass-gis-workshop-foss4g-2022\">workshop<\/a> called \u201cUnleash the power of GRASS GIS with Jupyter,\u201d and I gave <a href=\"https:\/\/chaedri.github.io\/FOSS4G_2022_grass_jupyter.slides.html#\/\">a talk<\/a> on the development and usage of grass.jupyter to teach advanced geospatial analytics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The GRASS development community is tight-knit: through the development of grass.jupyter, I\u2019ve had the chance to work with GRASS developers from around the world. Through the development process, I\u2019ve gotten to know and collaborate with many members of the GRASS GIS community. At FOSS4G, I got to meet many of these collaborators in-person. They gave important feedback and I got to see grass.jupyter in action in their workshops and presentations; it was hugely rewarding and motivating to see other people using my work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The last two days of the conference are reserved for the \u201cCode Sprint,\u201d an opportunity for developers who often work together remotely to sit in the same room and jam out new features, fix bugs and make big-picture plans for software. This was another highlight of the conference for me: as a new developer who started during the pandemic, it\u2019s not often that I get to code with other developers, especially some of the most active members of the GRASS community.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Photo Gallery<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Click a thumbnail image below to expand:<\/p>\n\n\n<div class=\"wp-block-ncst-thumbnail-gallery\" data-initial=\"12\" data-remaining=\"[]\">\n    <div class=\"thumbnail-grid\" role=\"list\">\n                      <button\n          class=\"thumbnail\"\n          type=\"button\"\n          role=\"listitem\"\n          aria-haspopup=\"dialog\"\n          aria-label=\"GRASS GIS developers working together at the FOSS4G 2022 Code Sprint. Photo credit: Markus Neteler \u2014 open full size\"\n          data-index=\"0\"\n        >\n          <img decoding=\"async\"\n            src=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/code_sprint-Markus-Neteler-1238x696-1-768x432.jpg\"\n            alt=\"A group of people with their laptops gather at tables in a room\"\n            data-caption=\"GRASS GIS developers working together at the FOSS4G 2022 Code Sprint. Photo credit: Markus Neteler\"\n            data-full-url=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/code_sprint-Markus-Neteler-1238x696-1.jpg\"\n          \/>\n        <\/button>\n                      <button\n          class=\"thumbnail\"\n          type=\"button\"\n          role=\"listitem\"\n          aria-haspopup=\"dialog\"\n          aria-label=\"Caitlin Haedrich, Anna Petrasova and Vaclav Petras lead a workshop on using GRASS GIS in Jupyter Notebooks. Photo credit: FOSS4G \u2014 open full size\"\n          data-index=\"1\"\n        >\n          <img decoding=\"async\"\n            src=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/workshop-1280x720-1-768x432.jpg\"\n            alt=\"Caitlin Haedrich stands next to a projector screen in front of a room full of people sitting at laptops\"\n            data-caption=\"Caitlin Haedrich, Anna Petrasova and Vaclav Petras lead a workshop on using GRASS GIS in Jupyter Notebooks. Photo credit: FOSS4G\"\n            data-full-url=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/workshop-1280x720-1.jpg\"\n          \/>\n        <\/button>\n                      <button\n          class=\"thumbnail\"\n          type=\"button\"\n          role=\"listitem\"\n          aria-haspopup=\"dialog\"\n          aria-label=\"Caitlin Haedrich presents her work at FOSS4G 2022. Photo credit: Veronica Andreo \u2014 open full size\"\n          data-index=\"2\"\n        >\n          <img decoding=\"async\"\n            src=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/caitlin_presentation-Veronica-Andreo-1500x844-1-768x432.jpg\"\n            alt=\"Caitlin Haedrich stands at a podium in front of a screen displaying a map\"\n            data-caption=\"Caitlin Haedrich presents her work at FOSS4G 2022. Photo credit: Veronica Andreo\"\n            data-full-url=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/caitlin_presentation-Veronica-Andreo-1500x844-1.jpg\"\n          \/>\n        <\/button>\n                      <button\n          class=\"thumbnail\"\n          type=\"button\"\n          role=\"listitem\"\n          aria-haspopup=\"dialog\"\n          aria-label=\"FOSS4G 2022 conference attendees. Photo credit: FOSS4G \u2014 open full size\"\n          data-index=\"3\"\n        >\n          <img decoding=\"async\"\n            src=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/FOSS4G_attendees-1500x844-1-768x432.jpg\"\n            alt=\"hundreds of people gathered outside looking up\"\n            data-caption=\"FOSS4G 2022 conference attendees. Photo credit: FOSS4G\"\n            data-full-url=\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/FOSS4G_attendees-1500x844-1.jpg\"\n          \/>\n        <\/button>\n          <\/div>\n      <\/div>\n","protected":false,"raw":"<!-- wp:ncst\/dynamic-header {\"block\":\"ncst\/default-post-header\"} -->\n<!-- wp:ncst\/default-post-header {\"caption\":\"Pack spirit! Center for Geospatial Analytics GeoForAll Lab members on a walk at Piazzale Michelangelo after a day of presentations at FOSS4G 2022. Left to right: Corey White, Caitlin Haedrich, Anna Petrasova, Vaclav Petras. Photo credit: Anna Petrasova.\",\"displayCategoryID\":49,\"showAuthor\":false} \/-->\n<!-- \/wp:ncst\/dynamic-header -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Editor\u2019s note:<\/em><\/strong><em>&nbsp;Each semester, students in the&nbsp;<a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/academics\/phd-in-geospatial-analytics\/\">Geospatial Analytics Ph.D. program<\/a>&nbsp;can apply for a Geospatial Analytics Travel Award that supports research travel or presentations at conferences.&nbsp;<strong>The following is a guest post by travel award winner<\/strong>&nbsp;<strong>Caitlin Haedrich<\/strong>&nbsp;as part of the&nbsp;<a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/news\/category\/student-travel\/\">Student Travel series<\/a>.<\/em><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>With the introduction and rapid rise of data science over the past decade, it should come as no surprise that more and more practitioners and students of geospatial analytics are turning to coding languages like Python and R to conduct their work. Not only does a code-based approach give them access to other tool libraries, but it also makes their work more accessible; other researchers and analysts can follow and reproduce their work simply by re-running their code. One of the most popular tools for data scientists is the Jupyter Notebook, an all-in-one interactive document allowing users to mix narrative text with live code and code output. This mix makes Jupyter Notebooks powerful teaching tools and excellent for sharing and explaining analyses.&nbsp;<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Over the past year, I\u2019ve been working with Center for Geospatial Analytics Research Software Engineer <a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/people\/vaclav-petras\/\">Vaclav Petras<\/a> and the GRASS GIS community to integrate GRASS GIS with Jupyter Notebooks. <a href=\"https:\/\/grass.osgeo.org\/\">GRASS GIS<\/a> is an extensive open-source geoprocessing library with over 500 tools and 300 more as add-ons. Although GRASS GIS has a Python API (Application Programming Interface), using GRASS GIS in Jupyter Notebooks requires some additional functionality such as in-line visualizations of GRASS data and smooth handling of GRASS data. We wrote a new package called \u201c<a href=\"https:\/\/grass.osgeo.org\/grass82\/manuals\/libpython\/grass.jupyter.html\">grass.jupyter<\/a>\u201d that\u00a0 provides these functionalities and is included with the installation of GRASS GIS so that all users can access the power of Jupyter Notebooks.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The year-long development effort culminated in a week of presentations and workshops at <a href=\"https:\/\/2022.foss4g.org\/\">FOSS4G 2022<\/a>, a conference about Free and Open Source Software for Geospatial, held in Florence, Italy. Center for Geospatial Analytics Research Software Engineer <a href=\"https:\/\/cnr.ncsu.edu\/geospatial\/people\/anna-petrasova\/\">Anna Petrasova<\/a>, Vaclav Petras and I led a 4-hour <a href=\"https:\/\/github.com\/ncsu-geoforall-lab\/grass-gis-workshop-foss4g-2022\">workshop<\/a> called \u201cUnleash the power of GRASS GIS with Jupyter,\u201d and I gave <a href=\"https:\/\/chaedri.github.io\/FOSS4G_2022_grass_jupyter.slides.html#\/\">a talk<\/a> on the development and usage of grass.jupyter to teach advanced geospatial analytics.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The GRASS development community is tight-knit: through the development of grass.jupyter, I\u2019ve had the chance to work with GRASS developers from around the world. Through the development process, I\u2019ve gotten to know and collaborate with many members of the GRASS GIS community. At FOSS4G, I got to meet many of these collaborators in-person. They gave important feedback and I got to see grass.jupyter in action in their workshops and presentations; it was hugely rewarding and motivating to see other people using my work.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>The last two days of the conference are reserved for the \u201cCode Sprint,\u201d an opportunity for developers who often work together remotely to sit in the same room and jam out new features, fix bugs and make big-picture plans for software. This was another highlight of the conference for me: as a new developer who started during the pandemic, it\u2019s not often that I get to code with other developers, especially some of the most active members of the GRASS community.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"levelOptions\":[2,3,4,5,6]} -->\n<h2>Photo Gallery<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Click a thumbnail image below to expand:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:ncst\/thumbnail-gallery {\"images\":[{\"url\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/code_sprint-Markus-Neteler-1238x696-1-150x150.jpg\",\"link\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/code_sprint-Markus-Neteler-1238x696-1.jpg\",\"alt\":\"A group of people with their laptops gather at tables in a room\",\"id\":\"17997\",\"caption\":\"GRASS GIS developers working together at the FOSS4G 2022 Code Sprint. Photo credit: Markus Neteler\"},{\"url\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/workshop-1280x720-1-150x150.jpg\",\"link\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/workshop-1280x720-1.jpg\",\"alt\":\"Caitlin Haedrich stands next to a projector screen in front of a room full of people sitting at laptops\",\"id\":\"18006\",\"caption\":\"Caitlin Haedrich, Anna Petrasova and Vaclav Petras lead a workshop on using GRASS GIS in Jupyter Notebooks. Photo credit: FOSS4G\"},{\"url\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/caitlin_presentation-Veronica-Andreo-1500x844-1-150x150.jpg\",\"link\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/caitlin_presentation-Veronica-Andreo-1500x844-1.jpg\",\"alt\":\"Caitlin Haedrich stands at a podium in front of a screen displaying a map\",\"id\":\"17996\",\"caption\":\"Caitlin Haedrich presents her work at FOSS4G 2022. Photo credit: Veronica Andreo\"},{\"url\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/FOSS4G_attendees-1500x844-1-150x150.jpg\",\"link\":\"https:\/\/cnr.ncsu.edu\/geospatial\/wp-content\/uploads\/sites\/22\/2022\/10\/FOSS4G_attendees-1500x844-1.jpg\",\"alt\":\"hundreds of people gathered outside looking up\",\"id\":\"17998\",\"caption\":\"FOSS4G 2022 conference attendees. Photo credit: FOSS4G\"}]} \/-->"},"excerpt":{"rendered":"<p>Our software developers created a new way to integrate open source geospatial software with interactive documents, and presented their work at a recent international meeting. Geospatial Analytics Ph.D. student Caitlin Haedrich explains.<\/p>\n","protected":false},"author":2,"featured_media":17988,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"source":"","ncst_custom_author":"","ncst_show_custom_author":false,"ncst_dynamicHeaderBlockName":"ncst\/default-post-header","ncst_dynamicHeaderData":"{\"caption\":\"Pack spirit! Center for Geospatial Analytics GeoForAll Lab members on a walk at Piazzale Michelangelo after a day of presentations at FOSS4G 2022. Left to right: Corey White, Caitlin Haedrich, Anna Petrasova, Vaclav Petras. Photo credit: Anna Petrasova.\",\"displayCategoryID\":49,\"showAuthor\":false,\"showDate\":true,\"showFeaturedVideo\":false}","ncst_content_audit_freq":"","ncst_content_audit_date":"","ncst_content_audit_display":false,"ncst_backToTopFlag":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[48,49,6],"tags":[],"class_list":["post-17986","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-geospatial-analytics-phd","category-student-travel","category-student"],"displayCategory":{"term_id":49,"name":"Student Travel","slug":"student-travel","term_group":0,"term_taxonomy_id":49,"taxonomy":"category","description":"","parent":0,"count":57,"filter":"raw"},"acf":{"ncst_posts_meta_modified_date":null},"_links":{"self":[{"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/posts\/17986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/comments?post=17986"}],"version-history":[{"count":14,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/posts\/17986\/revisions"}],"predecessor-version":[{"id":25105,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/posts\/17986\/revisions\/25105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/media\/17988"}],"wp:attachment":[{"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/media?parent=17986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/categories?post=17986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cnr.ncsu.edu\/geospatial\/wp-json\/wp\/v2\/tags?post=17986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}