From the screenshot, it's clear that this is a projection issue. The layers all have sufficient detail, that their misalignment cannot be due to low resolution. Also, they are offset by varying amounts in different places. So, to fix this issue we have to figure out the cause of the projection issue. Here are the various things to check:
If using a version of QGIS older than 3.0, make sure on-the-fly reprojection is turned on. This feature allows you to have layers in different CRS's displayed on the same map. QGIS displays them projected into the same CRS, without any need to change the source data. In QGIS 3.0 and later, on-the-fly reprojection is always on.
Once we know that you have OTF reprojection turned on (or are using QGIS 3.0 or later), the most likely cause is that one or more layers has an incorrect CRS.
The most common cause of an incorrect CRS would be if you (incorrectly) changed one of the layer's CRS through the layer properties. If you did change the CRS (in the layer property) of any of these layers, remove that layer from your map and add it back in. This will hopefully reset the layer back to its intended CRS.
Another possible cause is that the layer did not automatically load with the correct CRS. To fix this, look up the metadata / layer description of the relief map and see what CRS it's supposed to be in. Then try to find a pre-loaded CRS to use for that layer. Change the CRS of the layer in the layer properties to the correct CRS. You may need to make a few guesses, and try a few different CRS's until you find the right one.
In this case, the most likely culprit is the Relief map layer (full name: Shaded Relief Land - Gray - Conterminous United States 200 Meter Resolution), because it's in a "generated CRS." Always be suspicious of a layer that automatically loads in a "generated CRS."
The Relief layer doesn't have any helpful information in the metadata or layer properties. However, if we go to the source website, at the very bottom of the page is the information we need:
The Grayscale United States Shaded Relief – 200 Meter Resolution map layer is available in both a Lambert Azimuthal Equal-Area projection and an Albers Conical Equal-Area projection.
Now we know this layer is either in a Lambert Azimuthal Equal-Area projection or an Albers Conical Equal-Area projection.
On this page, we can see a list of all the related layers. There are layers called
- "Shaded Relief Land - Gray - Conterminous United States 200 Meter Resolution" and
- "Shaded Relief Land - Gray - Conterminous United States 200 Meter Resolution Albers Projection"
Obviously the one with "Albers Projection" in the name is in an Albers projection, so by process of elimination we can assume that our layer is in Lambert Azimuthal Equal-Area projection.
So now we go into the layer properties and change the CRS to a Lambert Azimuthal Equal-Area projection. In the CRS selector window, in the section called "Coordinate Reference Systems of the World, scroll down until you find the section called "Lambert Azimuthal Equal-Area." (Don't be enticed by "Lambert Conformal Conic.")
QGIS has 21 options for Lambert Azimuthal Equal-Area projections, but fortunately only one of them sounds remotely reasonable for this area of interest:
US National Atlas Equal Area EPSG:2163
- If there's more than one reasonable-sounding CRS, try them all, and use the one that makes the layer correctly align with the other layers.
- This method depends on having at least one layer that you know is correctly aligned. If you're not sure that any of your layers is in the correct CRS, then you can't use them for comparison. Instead, use the QuickMapServices plugin to obtain a basemap such as Open Street Map.