-
Notifications
You must be signed in to change notification settings - Fork 22
Thematic mapping tutorial #100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Initial commit of Quarto file and images
petrasovaa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First round of small fixes, not done yet...
|
Thanks!
…____________________
Michael Barton
On Dec 5, 2025, at 3:06 PM, Anna Petrasova ***@***.***> wrote:
@petrasovaa commented on this pull request.
First round of small fixes, not done yet...
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> +format:
+ html:
+ embed-resources: true
+ toc: true
+ code-tools: true
+ code-copy: true
+ code-fold: false
+page-layout: article
+categories: [beginner, intermediate, raster, vector, thematic maps, charts, legend]
+description: This tutorial guides a user through multiple ways of creating thematic maps with raster and vector GIS data.
+execute:
+ eval: false
+copyright:
+ holder: Michael Barton
+ year: 2025
+funding: "Creation of this tutorial was supported in part by US National Science Foundation grant FAIN 2303651."
This one doesn't show up in the text, so we need to put it there explicitely, I will make a suggestion at the bottom of the page.
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> +
+You could also begin this new section with a subtitle:
+
+```
+||||||Total Fire Engines at Each Station
+```
+
+:::
+
+The thematic charts tool can represent data as bar graphs instead of pie charts. Here is the same thematic charts map displayed as bar graphs. The "Size of chart" was set to **30**, the "Outline color" set to **black**, and the *symbol_name* in the legend file set back to **legend/area** for this map.
+
+
+
+# Summary
+
+Besides the approaches presented here, there are other ways of creating thematic maps in GRASS. Graduate points and lines, with point size and line width proportional to a numeric variable, can be created in the vector properties tool (d.vect). Color tables can be assigned to a numeric vector column in the same way as color tables can be assigned to raster maps. In both cases, it will be necessary to create custom legends following procedures described above. The important point is that GRASS can be used to create sophisticated, high-quality thematic maps from both raster and vector geospatial data.
⬇️ Suggested change
-Besides the approaches presented here, there are other ways of creating thematic maps in GRASS. Graduate points and lines, with point size and line width proportional to a numeric variable, can be created in the vector properties tool (d.vect). Color tables can be assigned to a numeric vector column in the same way as color tables can be assigned to raster maps. In both cases, it will be necessary to create custom legends following procedures described above. The important point is that GRASS can be used to create sophisticated, high-quality thematic maps from both raster and vector geospatial data.
+Besides the approaches presented here, there are other ways of creating thematic maps in GRASS. Graduate points and lines, with point size and line width proportional to a numeric variable, can be created in the vector properties tool (d.vect). Color tables can be assigned to a numeric vector column in the same way as color tables can be assigned to raster maps. In both cases, it will be necessary to create custom legends following procedures described above. The important point is that GRASS can be used to create sophisticated, high-quality thematic maps from both raster and vector geospatial data.
+
+***
+
+:::{.smaller}
+The development of this tutorial was in part funded by the US
+[National Science Foundation (NSF)](https://www.nsf.gov/),
+award [2303651](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2303651).
+:::
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> + code-copy: true
+ code-fold: false
+page-layout: article
+categories: [beginner, intermediate, raster, vector, thematic maps, charts, legend]
+description: This tutorial guides a user through multiple ways of creating thematic maps with raster and vector GIS data.
+execute:
+ eval: false
+copyright:
+ holder: Michael Barton
+ year: 2025
+funding: "Creation of this tutorial was supported in part by US National Science Foundation grant FAIN 2303651."
+---
+
+Thematic maps are the most common form of analytical visualization done in GIS software. A thematic map uses color, or object shape or size, to represent geographic variation in some property, represented by categorical or numerical values in spatial data.
+
+Most GIS software supports the creation of thematic maps from vector objects (points, lines, and areas). GRASS likewise enables the creation of thematic maps from vector data. It also supports the creation of thematic maps from rasters, which represent space a a grid of cells or pixels.
Typo at the end of the sentence.
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> +---
+
+Thematic maps are the most common form of analytical visualization done in GIS software. A thematic map uses color, or object shape or size, to represent geographic variation in some property, represented by categorical or numerical values in spatial data.
+
+Most GIS software supports the creation of thematic maps from vector objects (points, lines, and areas). GRASS likewise enables the creation of thematic maps from vector data. It also supports the creation of thematic maps from rasters, which represent space a a grid of cells or pixels.
+
+In this tutorial, we will explore the creation of thematic maps from both raster and vector geospatial data.
+
+::: {.callout-note title="Dataset"}
+This tutorial uses one of the standard GRASS sample data sets: nc_basic_spm_grass7. We will refer to place names in that data set, but it can be completed with any of the [standard sample data sets](https://grass.osgeo.org/download/data/) for any region. Keep in mind that the specific vector map attribute columns may not be available for a map from a different location, and you may need to use other attribute columns.
+
+This tutorial is designed so that you can complete it using the **GRASS GUI**, GRASS commands from the **console or terminal**, or using GRASS commands in a **Jupyter Notebook** environment.
+:::
+
+::: {.callout-note title="Don't know how to get started?"}
+If you are not sure how to get started with GRASS using its graphical user interface or using Python, checkout the tutorials [Get started with GRASS GIS GUI](../get_started/fast_track.qmd) and [Get started with GRASS & Python in Jupyter Notebooks](../get_started/fast_track_grass_and_python.qmd).
⬇️ Suggested change
-If you are not sure how to get started with GRASS using its graphical user interface or using Python, checkout the tutorials [Get started with GRASS GIS GUI](../get_started/fast_track.qmd) and [Get started with GRASS & Python in Jupyter Notebooks](../get_started/fast_track_grass_and_python.qmd).
+If you are not sure how to get started with GRASS using its graphical user interface or using Python, checkout the tutorials [Get started with GRASS GUI](../get_started/fast_track.qmd) and [Get started with GRASS & Python in Jupyter Notebooks](../get_started/fast_track_grass_and_python.qmd).
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> +::: {.callout-note title="Don't know how to get started?"}
+If you are not sure how to get started with GRASS using its graphical user interface or using Python, checkout the tutorials [Get started with GRASS GIS GUI](../get_started/fast_track.qmd) and [Get started with GRASS & Python in Jupyter Notebooks](../get_started/fast_track_grass_and_python.qmd).
+:::
+
+# Raster Thematic Maps
+
+Raster thematic maps use color to represent varying land cover, land use, or terrain characteristics across a map. This can be characteristics like slope, represented in degrees, that varies continuously or like land cover, represented by areas of a map encoded with distinct categories.
+
+## Rasters with continuous variation: terrain slope
+
+Terrain slope is an example of a characteristic represented by numeric values (in degrees) that vary continuously across a landscape. A map of slope can be created from an elevation map using the [r.slope.aspect](https://grass.osgeo.org/grass-stable/manuals/r.slope.aspect.html) tool.
+
+This will produce a map of continuously varying slope across the entire map. Colors can be assigned to raster cells according to their slope values to visualize areas of high and low slope. The slope that each color represents can be shown in a legend to help users interpret the map.
+
+::: {.callout-note title="Modeling terrain in GRASS"}
+To learn more about modeling and visualizing slope and other terrain characteristics in GRASS, see the[Visualizing and Modeling Terrain from DEMs in GRASS](https://grass-tutorials.osgeo.org/content/tutorials/terrain_and_DEMs/GRASS_terrain.html) tutorial. For more information about rasters in GRASS, see [Raster data processing in GRASS GIS](https://grass.osgeo.org/grass-stable/manuals/rasterintro.html#raster-map-operations).
⬇️ Suggested change
-To learn more about modeling and visualizing slope and other terrain characteristics in GRASS, see the[Visualizing and Modeling Terrain from DEMs in GRASS](https://grass-tutorials.osgeo.org/content/tutorials/terrain_and_DEMs/GRASS_terrain.html) tutorial. For more information about rasters in GRASS, see [Raster data processing in GRASS GIS](https://grass.osgeo.org/grass-stable/manuals/rasterintro.html#raster-map-operations).
+To learn more about modeling and visualizing slope and other terrain characteristics in GRASS, see the [Visualizing and Modeling Terrain from DEMs in GRASS](../terrain_and_DEMs/GRASS_terrain.html) tutorial. For more information about rasters in GRASS, see [Raster data processing in GRASS](https://grass.osgeo.org/grass-stable/manuals/rasterintro.html#raster-map-operations).
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> + map="slope",
+ title="Slope",
+ title_fontsize=14,
+ units="°",
+ label_values="0,10,20,30",
+ fontsize=12,
+ border_color="0:0:0:255",
+ flags="db")
+
+gs.run_command("d.barscale",
+ length=2,
+ units="kilometers",
+ segment=5,
+ bgcolor="none",
+ width_scale=2,
+ flags="n"
⬇️ Suggested change
- flags="n"
+ flags="n")
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> +
+2. Enter *slope* as the "Name of the raster map(s)" under the Required tab.
+
+3. Click run.
+
+#### Command line
+
+```{bash}
+r.univar map=slope percentile=25,50,75
+```
+
+#### Python
+
+```{python}
+gs.run_command("r.univar",
+ map="slope")
⬇️ Suggested change
- map="slope")
+ map="slope")
In content/tutorials/thematic_maps/thematic_maps.qmd <#100 (comment)>:
> +gs.run_command("d.legend",
+ raster="landuse",
+ title="Land Use",
+ title_fontsize=14,
+ fontsize=12,
+ border_color="0:0:0:255",
+ flags="cb")
⬇️ Suggested change
-gs.run_command("d.legend",
- raster="landuse",
- title="Land Use",
- title_fontsize=14,
- fontsize=12,
- border_color="0:0:0:255",
- flags="cb")
+gs.run_command("d.legend",
+ raster="landuse",
+ title="Land Use",
+ title_fontsize=14,
+ fontsize=12,
+ border_color="0:0:0:255",
+ flags="cb")
—
Reply to this email directly, view it on GitHub <#100 (review)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACENLLZJOY3R7WSDTNDZBIT4AH6YFAVCNFSM6AAAAACOCGQCNWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKNBWGU2TIMBQHE>.
You are receiving this because you authored the thread.
|
A number of little but important things. Thanks Anna.
petrasovaa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple more typos.
petrasovaa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we still miss the thumbnail picture.
|
Right. thumbnail. I'll find one
…____________________
Michael Barton
On Dec 17, 2025, at 8:16 AM, Anna Petrasova ***@***.***> wrote:
@petrasovaa commented on this pull request.
I think we still miss the thumbnail picture.
—
Reply to this email directly, view it on GitHub <#100 (review)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACENLL43MGXONPDSJ5ZS2QD4CFXVPAVCNFSM6AAAAACOCGQCNWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKOBYGIZTMMRSGQ>.
You are receiving this because you authored the thread.
|
|
Sorry I've been slow. It's end of semester and a lot going on.
…____________________
Michael Barton
On Dec 17, 2025, at 8:16 AM, Anna Petrasova ***@***.***> wrote:
@petrasovaa commented on this pull request.
I think we still miss the thumbnail picture.
—
Reply to this email directly, view it on GitHub <#100 (review)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACENLL43MGXONPDSJ5ZS2QD4CFXVPAVCNFSM6AAAAACOCGQCNWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKOBYGIZTMMRSGQ>.
You are receiving this because you authored the thread.
|
Hope it's the last
|
If you switch to the files tab, there are still bunch of comments with fixes of typos. You may be able to just commit them from the interface. |
|
Thanks for pointing these out. I'd prefer not to click the commit button online because I have a local version that I need to keep updated in parallel. But these last few are easy to fix.
Michael
…_____________________________
C. Michael Barton
Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu<https://scas.asu.edu/>)
Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
Arizona State University
Tempe, AZ 85287-2701
USA
Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io<https://openmodelingfoundation.github.io/>)
Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)
personal website: http://www.public.asu.edu/~cmbarton
On Dec 17, 2025, at 8:46 PM, Anna Petrasova ***@***.***> wrote:
[https://avatars.githubusercontent.com/u/7494312?s=20&v=4]petrasovaa left a comment (OSGeo/grass-tutorials#100)<#100 (comment)>
If you switch to the files tab, there are still bunch of comments with fixes of typos. You may be able to just commit them from the interface.
—
Reply to this email directly, view it on GitHub<#100 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACENLLZ75IPLDTX7BVXLICT4CIPP7AVCNFSM6AAAAACOCGQCNWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTMNRYGIYDSNRYGA>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
|
Made all suggested revisions so far. |
petrasovaa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thank you!
|
Thanks for taking such care in looking through it. a LOT of writing there.
Michael
…____________________
Michael Barton
On Dec 19, 2025, at 8:24 AM, Anna Petrasova ***@***.***> wrote:
@petrasovaa approved this pull request.
Looks great, thank you!
—
Reply to this email directly, view it on GitHub <#100 (review)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACENLLYWVWINNWNGP5T7NLL4CQKERAVCNFSM6AAAAACOCGQCNWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKOJZGAYTEOBSGE>.
You are receiving this because you authored the thread.
|
Initial commit of Quarto file and images