Re-thinking RFC 6

Steve Lime Steve.Lime at DNR.STATE.MN.US
Thu Jun 14 22:59:52 EDT 2007


Hi guys: As the deadline for RFC's approaches I wanted to float a change to RFC 6 that might be doable by 5.0. I've not spent time updating the RFC yet. The idea would be to bind properties to ranges much like RFC 19. We'd extend the range concept to  colors, sizes and angles. So COLORRANGE would become RANGE. RANGEs would live at the layer level and would be referenced by name so you could have several.

A range would be defined as:

typedef struct {
  char *name;
  attributeBindingObj item; /* holds name and index */
  colorObj mincolor, maxcolor; /* only colorObj's and numbers make sense */
  double minnumber, maxnumber;
  double minvalue, maxvalue;
  int intervals;
  int method; /* should be enum - MS_RANGE_METHOD */
} rangeObj;

and a layer would have an array (fixed size, might be ok, should need more than a couple, or dynamic) of these.

Styles properties (color, outlinecolor, size, angle) could then reference these by name.

e.g.

LAYER
  NAME 'myLayer'
  ...
  RANGE
    NAME 'sizeRange'
    ITEM 'sizeitem'
    MINNUMBER 1
    MAXNUMBER 10
    MINVALUE 1000.0
    MAXVALUE 500000.0
  END
  CLASS
    STYLE
      SYMBOL 'square'
      COLOR 50 255 50
      SIZE {sizeRange}
    END
  END
END

{}'s (or some other delimiter) define a range binding. Could even support a range function longer term. I just like the idea of a more general range solution. Thoughts?

Steve



More information about the mapserver-dev mailing list