Northman Mapping & GIS, LLC https://northmanmaps.com/ Inspire exploration and expand the understanding of the world around us. Wed, 15 Jul 2026 23:55:37 +0000 en-US hourly 1 https://wordpress.org/?v=7.0.1 https://i0.wp.com/northmanmaps.com/wp-content/uploads/2025/06/cropped-NorthmanLogo-Compass-Only512x512.png?fit=32%2C32&ssl=1 Northman Mapping & GIS, LLC https://northmanmaps.com/ 32 32 243691137 How to Use Custom SVG Map Symbols in Inkscape and QGIS https://northmanmaps.com/how-to-use-custom-svg-map-symbols-in-inkscape-and-qgis/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-use-custom-svg-map-symbols-in-inkscape-and-qgis https://northmanmaps.com/how-to-use-custom-svg-map-symbols-in-inkscape-and-qgis/#respond Wed, 15 Jul 2026 23:46:06 +0000 https://northmanmaps.com/?p=374 Using Vector Graphic Parameters to Enhance Map Symbols and Improve Workflow Creating custom SVG map symbols requires a quick manual code adjustment after exporting your vector artwork. While Inkscape is excellent for drawing paths, it embeds presentation styles natively. To make a symbol dynamic so QGIS can directly modify things like fill color, outline color, […]

The post How to Use Custom SVG Map Symbols in Inkscape and QGIS appeared first on Northman Mapping & GIS, LLC.

]]>
Using Vector Graphic Parameters to Enhance Map Symbols and Improve Workflow

Creating custom SVG map symbols requires a quick manual code adjustment after exporting your vector artwork. While Inkscape is excellent for drawing paths, it embeds presentation styles natively. To make a symbol dynamic so QGIS can directly modify things like fill color, outline color, and opacity, you must swap these static style tags with dynamic QGIS parameter functions.

Here is a step-by-step guide to building custom, data-definable map markers.


Step 1: Design the Symbol in Inkscape

I won’t go into the details on how to draw or design your SVG vector file in Inkscape. There are plenty of tutorials to be found online for that. Instead, I will offer some useful tips:

  • Keep your vector paths clean and simple to ensure smooth rendering inside QGIS.
  • Set the Document Canvas: Open Inkscape, go to File > Document Properties, and change the display units to pixels (px). Set the canvas width and height. It doesn’t need to be square (e.g., 32x32 px or 64x64 px), but it can make things easier when plotting on the map.
  • Center your drawing: Ensure the object sits directly in the center of the canvas so the anchor point aligns properly on your map.
  • Remove Extra Layers: Grouping objects is fine, but avoid excessive nested layer structures.
  • Name your Vector Objects: Use something unique and identifiable so you can find where to insert parameter code into the SVG file later.
  • Export as Plain SVG: Go to File > Save As…, type your file name, and change the file format dropdown from Inkscape SVG to Plain SVG (*.svg). This is not entirely necessary, but it removes a lot of extra Inkscape-specific metadata.
Here we have a beautiful maple leaf vector image. Note the Object Properties panel is used to provide a name for the vector object.

Step 2: Inject QGIS Parameters into the SVG Code

QGIS parses SVG nodes for specific param() attributes. It cannot read these if they are buried inside a standard style="..." string.

  1. Open your exported Plain SVG file using a plain text code editor like Notepad++, VS Code, or TextEdit.
  2. Locate the vector path element, which typically begins with <path or <polygon. If you named your objects in Inkscape, you can search for the “id= ” tag with the name of your object.
  3. Insert distinct XML attributes using the param() placeholder format. I provide a table of different options below.
  4. It’s important that the param() placeholder is inserted within the <path or <polygon tag (meaning between the < opener and /> closer symbols. See the example photo). Otherwise the the parameters won’t take effect.
  5. Save the changes and close the text editor.
Here is a section of the SVG file opened in a text editor. Green highlights show the < and /> opener and closers for the “path” tag. Yellow highlight shows the “id=” tag for the object named “maple_leaf”. Orange highlight shows the fill parameter code inserted. This will allow updating the fill color parameter in QGIS.
ParameterEffect
fill=”param(fill)”Changes the fill color of the object
stroke=”param(outline)”Changes the outline (stroke) color of the object
opacity=”param(fill-opacity)”Changes the fill opacity of the object
stroke-opacity=”param(outline-opacity)”Changes to outline (stroke) opacity of the object

Step 3: Link Your Custom Folder to QGIS

Before loading the symbol, you should tell QGIS where your custom graphics library lives. I’ve outlined this process in a previous post on how to dynamically place multiple custom symbols on a map using attribute data.

Step 4: Apply and Style Your Symbol

Now you can utilize your custom marker just like any default QGIS asset.

  1. Click the Symbology tab in the layer Properties window, or use the Layer Styling panel.
  2. Highlight the child symbol tier (usually labeled Simple Marker) and change the Symbol layer type drop-down to SVG Marker.
  3. Locate and select your custom symbol.
  4. Adjust the marker properties. Depending on the param placeholders you inserted into the SVG file, you will notice the Fill color, Stroke color, and Stroke parameters are editable.
Here we have the custom SVG marker in place marking a Canadian border crossing. Note the Fill Color drop down can now be used to change the color of the symbol. Inserting additional param placeholders in the SVG file will allow for the stroke color (or outline color) and opacity (utilizing the Stroke width parameter box) to be edited as well.

The fun part is, you can mix and match the param placeholders in the SVG file to allow adjusting the different symbol parameters. Say you want to adjust the colors of two separate objects in your symbol, well all you have to do is set the fill parameters in the SVG file to the two different QGIS color options. Just remember to name each separate object in Inkscape before saving the SVG, and insert param placeholders into the file similar to this:

  • Object #1: fill=”param(fill)”
  • Object #2: fill=”param(outline)”

Now you can change two colors on one symbol using the same process!

QGIS also allows dynamic overide of the colors with a very similar process and only a couple extra steps, but I will save that saga for another post!

Until next time, keep exploring the world around you!

The post How to Use Custom SVG Map Symbols in Inkscape and QGIS appeared first on Northman Mapping & GIS, LLC.

]]>
https://northmanmaps.com/how-to-use-custom-svg-map-symbols-in-inkscape-and-qgis/feed/ 0 374
Free GIS Data Sources – July 2026 https://northmanmaps.com/free-gis-data-sources-july-2026/?utm_source=rss&utm_medium=rss&utm_campaign=free-gis-data-sources-july-2026 https://northmanmaps.com/free-gis-data-sources-july-2026/#respond Thu, 18 Jun 2026 22:50:55 +0000 https://northmanmaps.com/?p=360 Finding High-Quality GIS Data Online Without Spending a Dime For today’s Saga, I’ll be talking about two essential GIS data sources that anyone can access. Access to premium geospatial data used to require hefty budgets or institutional access. Today, some of the most robust, highly accurate datasets are available entirely for free. Whether you are […]

The post Free GIS Data Sources – July 2026 appeared first on Northman Mapping & GIS, LLC.

]]>
Finding High-Quality GIS Data Online Without Spending a Dime

For today’s Saga, I’ll be talking about two essential GIS data sources that anyone can access. Access to premium geospatial data used to require hefty budgets or institutional access. Today, some of the most robust, highly accurate datasets are available entirely for free. Whether you are building terrain models or mapping demographic trends, these two foundational repositories offer invaluable spatial data. And did I mention these are free data sources?!

1. USGS LiDAR Explorer

The United States Geological Survey (USGS) is the gold standard for physical geography and elevation data. Through the LiDAR Explorer Map, you can access an extensive library of free LiDAR point cloud and DEM raster data sets.

  • Available Data: High-resolution LiDAR point clouds and Digital Elevation Models (DEMs) at various resolutions (from 1-meter to 30-meter), and topobathy datasets.
  • Coverage: Most of the continental United States, Hawaii, and limited portions of Alaska for LiDAR and DEMs. Topobathy limited to coastal areas and some major river basins.
  • How to Use It: Navigate to the interactive map interface and zoom into your area of interest. Choose the type of data you need with the menu on the left (LiDAR, DEM or Other). Also using the menu on the left, choose to show the results within your Area of Interest (“AOI”). Draw a bounding box around your AOI by pressing CTRL+drag (Command+drag on Mac) to draw the box. Alternatively you can use the AOI widget found on the map panel. A list of available data will populate in a menu on the right. Find the files you want and download for use.
  • How Easy is it to Use: Navigating the map and defining the area of interest are super easy, and there is no login or fee for downloading the data. The downfall of this data is that it is not always easy to determine which file you are trying to download. File names usually come with a date so you can determine the most recent version, but the rest of the file naming convention is cryptic. If you don’t have a key to understanding the layer of the files, your best bet is to download more than you think you need and eliminate unnecessary files later. Overall this is a great source of data.
  • Access Link: USGS LiDAR Explorer

2. US Census Bureau

For human geography, population statistics, and administrative boundaries, the US Census Bureau is unmatched. It provides the essential socioeconomic frameworks needed to contextualize environmental or commercial GIS projects.

  • Available Data: Statistical data for states, counties, and census tracts. Demographic tables (population, income, housing, business, and education data).
  • Coverage: All of the United States, Puerto Rico and Island Areas.
  • How to Use It: Start by entering a search term, or choosing to find data near a specific address, or dive right into the data filters. US Census bureau data is vast, and has been tabulated in many different ways. Several tabs can show the selected data in tables, charts or maps. There are several tools to manipulate and display data, as well as print and share directly on the site. Once you find the correct data, you can download the table for use in your own map. The site also provides a handy citation tool for giving the proper credit for your data source.
  • How Easy is it to Use: The search feature is great at getting close to what you are looking for, if you know what you are looking for. It’s easy to get lost in all the different filters. As I mentioned before, the US Census data is vast, so sometimes it helps to find something close to what you want, download it, and conduct your own analysis specific to your needs rather than getting lost on this site. This data is invaluable for population and demographic research and analysis, a free for anyone to view and use.
  • Access Link: US Census Bureau

That’s it for today, I hope you found this review of two great free data sources helpful. Please leave a comment, and share your own favorite data sources I might review in a future post.

Until next time, keep exploring the world around you!

The post Free GIS Data Sources – July 2026 appeared first on Northman Mapping & GIS, LLC.

]]>
https://northmanmaps.com/free-gis-data-sources-july-2026/feed/ 0 360
Multiple Dynamic Symbols in QGIS https://northmanmaps.com/multiple-dynamic-symbols-in-qgis/?utm_source=rss&utm_medium=rss&utm_campaign=multiple-dynamic-symbols-in-qgis Sun, 31 May 2026 19:50:05 +0000 https://northmanmaps.com/?p=235 How to add custom dynamic symbols to your map in QGIS, and accelerate your workflows! Your data is in place. Everything shows up where it should. Lines are drawn, the base map renders OK, points are projected correctly. The only problem is… you want to show more information for each point than is possible in […]

The post Multiple Dynamic Symbols in QGIS appeared first on Northman Mapping & GIS, LLC.

]]>
How to add custom dynamic symbols to your map in QGIS, and accelerate your workflows!

Your data is in place. Everything shows up where it should. Lines are drawn, the base map renders OK, points are projected correctly. The only problem is… you want to show more information for each point than is possible in a single layer. What do you do?

When mapping complex data, a single point often represents multiple pieces of information. One solution to show all this information is to stack copies of the same layer, overlapping symbols. For example, you could map different features of city parks this way:

  • Small shape on top, representing an identifying feature (dot for a fountain, triangle for hill, question mark for info booth)
  • A background shape to represent staffing levels (circle for unstaffed, or hexagon for daily employees)
  • An outer ring that scales in size to show the size of the park
  • Color changes to represent maintenance status (green is good, red is bad, black is closed)

This works fine in most cases when arbitrary shapes can be used to represent different classes of data. But what if you need a custom symbol to more accurately represent the function of the location, such as a military base that includes an airfield, barracks and fleet mechanic shop? Stacking symbols of different size, shape and color may confuse the importance and function of each location. It will work, but it won’t be the best representation of the story you are trying to tell with your map.

Sure this symbol might look cool, but what is it really representing? Map readers could easily get confused and frustrated by complicated layers of symbols.

Pictographic symbols like this example are much easier to determine what is happening at that point on the map. These can be displayed dynamically using QGIS.

What’s the Alternative?

GIS software allows custom symbols to be loaded into your map, setting unique symbols for each category of data you specify. This is great! Now each layer copy just needs to be adjusted to show those custom symbols, offset in a such a way they appear next to each other.

But what if you have 20, 50, 100 different custom symbols? Are you going to set each category in each layer copy manually?

NO!

The good news is you can use QGIS to render multiple custom symbols dynamically on the same layer, based on attribute data! With this trick, you can create a multi-symbol visualization of your point data a single location.

Why Use multiple dynamic custom symbols?

It’s simple: this is a game-changing time saver. Using one layer to symbolize everything means you only have one layer to work with for any updates.

  • No more guess work on symbol placement. Are the settings the same between all layers? Why does the offset look different? Is the overlap causing a conflict? Did I pick the same color? None of that matters. When you only have one layer to work with, pick your settings once and let the program do the work. If the settings are changed once, all symbols on the map are updated.
  • Dynamic symbols based on attribute data means when you update the data, your symbols can automatically update with it. No need to manually pick your custom symbol file, simply save it in an accessible location and let the program find it.

What do you need?

For this process, you only need three things. The example I’m using is a map I created based on American military establishments in France during World War I. The information is taken from My Experiences in the World War by General John Pershing (great book by the way). Here is what you will need to plot dynamically symbolized points:

  • QGIS software
  • A map with point data that includes multiple attribute fields you want to symbolize all at once
  • Custom SVG icons for the park type (e.g., a tree or playground). You can download symbols you like online, or make custom SVG icons yourself (I’ll post a blog later on how to do this).

Step 1: Prepare Your Data

In order to render symbols dynamically, the data needs to include enough information for QGIS to know which symbols will be required for each point. To do this, each point needs to include attributes appropriate for the symbols you want to show. By appropriate, I mean it needs to include a data field for each symbol you will need to show (Four symbols = four data fields). The data for these fields is used to locate symbol files later on, so they must include data representing a file name. I used a text field, but theoretically you could use integers or any other format that could also be used as a file name on your computer.

Example attribute data table. Note the columns “icon1”, “icon2” etc. should contain the file name for the SVG files you will use as symbols.

Step 2: Prepare Your Custom Icons

Before starting in QGIS, ensure your custom symbols are ready. Save each symbol as its own separate SVG file in a folder somewhere on your computer. Save it somewhere you will be able to find, and give every file a unique file name. These file names should match whatever the field values were that you entered in step 1.

Example folder with all custom symbols to be used. Note the file names match the attribute table date from step 1 above.

Once your SVG files are organized, open QGIS and link to this folder by going to QGIS Preferences >System and add the folder path under the section for “SVG Paths.” Now, every time you insert an SVG into QGIS (either symbolizing features on a map, or just a map layout decoration) the folder will be listed as an option to choose those SVG files.

Step 3: Adding Multiple Symbol Layers

To represent multiple variables at one point, you will build an array of symbol layers.

  1. Open Symbology: Right-click your layer and select Properties > Symbology. Alternatively you could just use the Layer Styling Panel by right-clicking on any menu and selecting the check box, or going to View > Panels > and select Layer Styling Panel. I prefer the layer styling panel so I can continue working on my map and not need to switch between windows to adjust styles. For me, the Layer Styling Panel creates a quicker, easier work flow.
  2. Add Symbol Layers: This sounds unintuitive, but to use this technique, you will choose to style a Single Symbol rather than Categorized or Rule-Based symbols. We will select the custom symbols dynamically later. For our example we are using SVG Markers, choose that from the Symbol Layer Type menu below the symbol tree. Adjust the position of the first symbol by inputting values into the Offset X and Y fields further down the panel. You may need to adjust these again later to make all symbols fit somewhere appropriately. Arrange them in a long row, column, box etc. for whatever looks good to you.
  3. When your first symbol is where you like it, add a second symbol layer by clicking the green + (Add symbol layer) button, or the Duplicate Symbol Layer button to the right of the symbol tree. Repeat the offset adjustments to place this symbol somewhere appropriate in relation to the first symbol.
  4. Continue to add symbol layers as needed: Repeat the steps above until you have enough SVG Marker symbol layers to represent every data field you need an icon for.

Add several SVG Markers to your symbol layers as needed, and adjust the Size of each symbol.

Adjust the Offset fields for each SVG Marker. Arrange them any way you want them to appear on your map.

Step 4: Driving Symbols with Data

The real power comes from Data Defined Overrides. This allows specific attributes in your data to control the appearance of each symbol layer.

Scroll down near the bottom to the Layer Styling Panel. There should be a field that includes the title of some generic marker shape. Ignore this title. Instead, look to the right of this field to find a button to create a Data Defined Override. We are going to write a series of expressions for QGIS to pick the correct custom symbol for each marker layer. Pick the first marker layer, then click the Data Defined Override button > Edit… This will bring up and Expression Builder window. For each SVG Symbol layer, we will write the expression to check if the matching data field is NULL, and if not, output a file path for the custom SVG file matching the data.

Scroll to the bottom of the symbology settings to find the Data Defined Override buttons (active, highlighted in yellow here).

Add code that tells QGIS to choose a symbol that matches the values in the field. For each SVG Marker, change this code to the corresponding attribute field.

Click to Show Example Code:
CASE
WHEN "icon3" IS NOT NULL THEN  concat( '/filepath/example/icons/', "icon3" ,'.svg')
END

Note: Update the attribute field name (“icon3” in the example) and file path shown here for it to work on your system. Repeat for remaining SVG Markers.

Step 5: Ignore “NULL” symbols

Oh, I forgot to mention, this technique will work even if some of your points only have 1 or 2 icons to show. For these points, just leave the data in the extra attribute fields as NULL values. At the very bottom of the Layer Styling Panel, the checkbox option for “Enable Symbol Layer” has another Data Defined Override that we will use to help. We will write an expression that allows the symbol to be rendered only if the appropriate field has valid data in it.

Click to Show Example Code:
CASE
WHEN "icon3" IS NOT NULL THEN
True
ELSE False
END

Note: Update the attribute field name for your system (“icon3” shown here). Repeat for remaining SVG Markers.

Step 6: Continue to refine symbol adjustments and enjoy your map

That’s pretty much the whole process. If you need to make changes to the position of any icons, you can continue by adjusting the X and Y offset settings for each symbol layer. If one of the icons just isn’t the right choice for your map, you can easily make the change in one place without needing to update anything else. Simply save a new SVG file in the same folder location as your other icons, and change the file name in the corresponding attribute data fields. QGIS will automatically update the icon based on the dynamic overrides and settings you just chose.

Examples of dynamic symbols. NULL values are ignored, showing only symbols for fields that contain data.

There are some other adjustments that can be done with SVG parameters, such as colors and custom text within the icon. I’ve provided some instructions on that process in another saga here: How to Use Custom SVG Map Symbols in Inkscape and QGIS

Until next time, keep exploring the world around you!

The post Multiple Dynamic Symbols in QGIS appeared first on Northman Mapping & GIS, LLC.

]]>
235
Welcome to the Northman Sagas! https://northmanmaps.com/welcome-to-the-northman-sagas/?utm_source=rss&utm_medium=rss&utm_campaign=welcome-to-the-northman-sagas Sun, 31 May 2026 19:47:35 +0000 https://northmanmaps.com/?p=299 The Northman Sagas are a series of blog posts presented to help others improve skills with GIS and mapping. Welcome to the Northman Sagas presented by Northman Mapping & GIS! This space is dedicated to exploring the vast world of geographic data, mapping, and Geographic Information Systems (GIS). Whether you are a seasoned cartographer or […]

The post Welcome to the Northman Sagas! appeared first on Northman Mapping & GIS, LLC.

]]>
The Northman Sagas are a series of blog posts presented to help others improve skills with GIS and mapping.

Welcome to the Northman Sagas presented by Northman Mapping & GIS! This space is dedicated to exploring the vast world of geographic data, mapping, and Geographic Information Systems (GIS). Whether you are a seasoned cartographer or just discovering the power of spatial data, I hope you will find something of value here.

My journey into mapping began with a simple fascination for how spatial data can tell stories, solve complex problems, and visually reveal the hidden patterns of our world. Over the years, that curiosity transformed into a professional passion for GIS software. I created this platform to share that passion with you and to build a resource for others to benefit from.

Moving forward, this blog will serve as a practical, go-to resource for GIS users and map makers of all levels. Here is a look at what you can expect in the coming weeks:

  • Tool Reviews: Honest evaluations of various GIS software, web mapping platforms, and plugins.
  • QGIS Tutorials: Step-by-step guides tailored for both beginners mastering the basics and intermediate users tackling advanced workflows.
  • Data Curation: Curated links and reviews of high-quality, useful public datasets you can use in your own projects.
  • Community Highlights: Showcases of inspiring blogs, innovative portfolios, and essential industry resources.

Mapping and GIS is an ever-evolving field. While the focus of most posts around the internet is geared either toward beginner level instruction or advanced, cloud-based database management, my goal is to break down more intermediate level tasks and tools into clear, actionable instructions for the everyday GIS map maker.

Thank you for stopping by for the launch of the Northman Sagas. I am incredibly excited to embark on this spatial journey with you. I hope you find something useful here, and if you have something you want to discuss please reach out!

The post Welcome to the Northman Sagas! appeared first on Northman Mapping & GIS, LLC.

]]>
299