Symbolizing stream flow with width and temperature with color
November 21 2008 |
11 comments
Recently I was asked if I could depict stream flow with the width of the stream line and stream temperature with a color ramp. I corrected the stream course on Washington DFW fish hydro layer and created the routes again. I stuck in some test data in an event table to create interpolated data between two sample points with the interpolated reaches at 10000 ft. apart. Then I tried multiple attributes symbology, but seem to be able to get either color or line width but not both. I haven't tried multiple attributes before so this might be my only remaining obstacle.
Mapping Center Answer:
The software currently does not support automatically symbolizing two quantitative variables, which is what you have (stream flow and stream temperature). We've got a number of ArcObjects examples (this one works for point symbols so I think it will also work for lines):
It should do what you're asking for, but you'll need to install the .dll file (use the link at the bottom of the web page).
You can, of course, work with the legend as a graphic by right clicking and converting it to graphics, then ungrouping it a few times to get to each individual element.
P.S. You might want to reduce the number of decimal points in your legend - my guess is that this ESRI default is too precise for your data -- it usually is!
Regarding the symbology tab - I do not think that Multiple Attributes will do it for you -- that will only work if you have one qualitative variable and one quantitative variable.
One thing you could try is to create a new layer for each of the stream width categories, and within that you can classify the stream by temperature. Then set the colors so that the symbol for each stream temperature class is the same for each layer. Then for each layer, change the width of all the symbols so that they are all the same.
Answer: Yes – this is what you would expect since the proportional symbols calculation would only take into account the data within the layer. However, you could get around this by using all features in each of the layers and using a Definition Query to set the visibility of the features. You could add, in your case, an attribute for Temp_Class, and each stream would contain a number from 1-7. Each layer would have a Definition Query that displays only one of the temperature range classes. That way the whole data set would be used in the proportional symbol size calculation but only the one temperature range class would be shown in the display.
So where does that leave you – you have 7 layers for the temperature ranges. Each of these are symbolized with a different color, say for example, ROYGBIV (red, orange, yellow, green, blue, indigo, violet). Within each of these layers, you can use proportional symbols to show stream flow. Because you are using the full data set in the calculation of the proportional symbol size, and a definition query to show only those features in that temperature range class, your symbols should have the right colors and the right widths.
You wrote: It's too bad that now the temperature colors abruptly change when I set up the event table to model changing temperature and flow every 1000 ft.
Answer: I guess I don’t understand this – the colors come from color you assign to each of your 7 temperature range classes. Since you only have 7 classes, the colors are probably going to be abrupt, especially if you use something like ROYGBIV. But the good thing is that your map readers will be able to see the distinct classes.
You wrote: I also need to figure out how to simplify the legend. Maybe I'll have to create a dummy layer of just temperature and one of just flow as the only items in the legend.
Answer: You will not be able to automate the whole legend – you can right click the legend in your data frame and convert it to graphics and then customize that.
I rebooted the XP and brought the map back up and the TOC was filled with red marks indicating data source missing. I investigated an found the DBF table had disappeared! Believe me or not.
I started over. I retrieved the DBF table from my email inbox. I started a new map and added in just the stream route layer and the table as route events with line widths proportional to flow. Then I made six copies of the proportional flow layer. Then I added a query in each proportional flow layer to select one temperature zone. Was able to create a map with the line width proportional to sqrt flow, 6/23, and temperatures are in colors for temperature intervals. But still if I go back into the layer properties to check the values in a query, sometimes the line width will revert to narrow. I can fix this only by blanking out the query and retyping the query.
I just received and installed 9.3. Maybe my problems will be fixed. Maybe I'll just get a new set of problems.
I still need to figure out how to represent the temperature range colors in the legend.
Either way, I don't think I can get the legend to automate. I may have to use a graphic or have the legend to display dummy data outside the map frame or entirely covered by the real feature.
If you would like to post a comment, please login.