8

Is there a way to tie line width to map scale in QGIS? All I found was an outside limit for display as the scale decreases. I'm using an outline line style for roads, and the roads are too big when I zoom out. What about converting them to a raster layer?

2 Answers 2

8

The quick way of tying line width to scale would be to use map units for the lines. You get this option when picking a style for the lines, set 'Unit' to 'Map unit' rather than the default 'Millimeter'.

I've had to add this to the answer because it's too long for a comment! The mechanics of transforming a shapefile in one CRS and exporting it to a new shapefile having a different CRS are fairly simple. Load the shapefile into QGIS, right-click on it in the layers panel and select 'Properties', then click the 'General' tab and make sure that QGIS has correctly recognised its CRS. If it hasn't, then set the CRS yourself (the 'Specify CRS' button). Next, right-click on the layer in the layers panel and select 'Save as..'. In the dialog box that pops-up set 'Format' as 'ESRI Shapefile' and give the new file a name. Set 'CRS' to 'Selected CRS' then press the 'Browse' button and pick a suitable CRS. This is fine if you know which CRS to choose. If you don't, come back with some details of the geographical area that your map will cover and someone will suggest a couple of possibilities. Nick.

6
  • Thanks nhopton, but changing my line to 'map units' results in a huge circle, even after reducing width to 0.01 and changing to a simple line style. What am I not understanding?
    – Gray Shaw
    Apr 11, 2012 at 13:00
  • 1
    Hum, yes. It sounds as if you might be using a geographic (lat/lon) CRS where the 'map units' are degrees. I think you'll need to project your data to a CRS that uses metres. Do you know how to do this?
    – nhopton
    Apr 11, 2012 at 15:16
  • I am still a 'white belt' at this, and I would appreciate direction. My project CRS is +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0
    – Gray Shaw
    Apr 11, 2012 at 22:15
  • This opens up a host of questions in my novice mind. All my layers are EPSG:4326/WGS 84. One is about 50x20 miles (Humboldt County, CA, roads). I created a line style of 2.26 mm, which displays well at 1:1000 but not at 1:7500; these are the two scales I would use most. I'm only mapping about 1000 acres, but sometimes it would be nice to show the context. Which CRS would tie the line width of roads to the scale in my map window? Do I need to use the same CRS throughout the project? Do map units pertain to a project or individual layers? Of course I could crop the roads layer. Thanks!
    – Gray Shaw
    Apr 18, 2012 at 4:53
  • EPSG:4326 is the gold standard for the exchange of GIS data but for most QGIS mapping purposes it isn't of much use. California has several state plane CRSs and I would project all of the layers in the project to one of these. For Homboldt County, CA, you could use EPSG:2766 if you want to work in metres or EPSG:2870 if you prefer the map units to be feet. Yes, use the same CRS for all of the layers in the project. Nick.
    – nhopton
    Apr 18, 2012 at 9:03
1

I think your data is fine, the problem is you added it into a project that uses degrees as map unit (as nhopton said and your string showed that it is EPSG:4326). You can fix this by starting a new project with CRS that use meter as map unit and add your data into this project, all your line width number will now be understood by QGIS as in meter unit.

You can start a new project with CRS that use meter as map unit by going to menu File -> New Project, then Settings -> Project Properties, go to CRS tab and select the suitable CRS. I usually use Google Mercator - EPSG:900913 or EPSG:3857 - your need may vary.

enter image description here

6
  • How do I set my project CRS to CA State Plane Zone 1, UTM Zone 10, or Albers Equal Area projection coordinates, NAD27 Units Feet? These are the specs for the data I've downloaded from the Humboldt County GIS portal. There are several "California Albers" choices in the QGIS Project Properties dialog box, but they're all in meters.
    – Gray Shaw
    Nov 13, 2012 at 1:10
  • @Gray Shaw: I am a new user in GIS with an electric background, so I cannot answer all of your questions. My advice for you: if you can find EPSG code for your projection, enter the number in the "filter" box and Qgis will find it for you, if you don't know the EPSG code, you can start a new question here in Gis.StackExchange and other people may help you. Best regards. Nov 14, 2012 at 4:00
  • thanks, but where is the "filter" box? I'm looking in the Project Properties dialog and I don't see it.
    – Gray Shaw
    Nov 19, 2012 at 6:27
  • @Gray Shaw: added a screen shot in the above answer. You can enter EPSG code (Eg. 3857) or some words and qgis will filter results for you. For California Albers with feet as unit, I think you can look for a ready-made EPSG projection or create your own - this is out of my knowledge, you'll have to start a new question to ask for this. Nov 19, 2012 at 9:42
  • My version of QGIS (1.7.4) has no Filter box, but it does have a Find box, which does the same thing, as I just discovered. No trouble finding EPSG:2870, and I'm on my way! Thanks!
    – Gray Shaw
    Nov 19, 2012 at 14:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.