v.colors: silently ignores rules given at stdin
|Reported by:||mlennert||Owned by:|
v.colors map=censusblk_swwake use=attr column=MEDIAN_AGE rules=- << EOF 0% white 100% red EOF
No color change in the map. However, if you create a rules file (called 'rules' here) with the same rules:
v.colors map=censusblk_swwake use=attr column=MEDIAN_AGE rules=rules
everything works as expected.
The reason is main.c, lines 282ff where the code handling the stdin case is just commented without informing the user. IIUC, the problem is getting the min and max values of the attribute or cats and of deciding whether the values are floating point or not. For the first, the arraystats library offers the AS_basic_stats function. For the latter, a simple check of the column type should be enough (or = int if cat values are used).
Ideally this should be fixed, but if this is not possible, the option of giving the rules at stdin should not be proposed in the interface description and help page and there should be a message that this function is currently not implemented. Silently ignoring is not a very user friendly approach...