Version 8 (modified by rpenate, 6 years ago)

--

Design Proposals

Styling maps is important because, through color and spatial relationships, we can effectively communicate patterns in complex geographic information. How we group and symbolize features allows us to draw out themes and better express our ideas. While Styler has often been conceived of as its own application, a more accurate way of thinking about it is as a set of components and design patterns used throughout  OpenGeo's GeoExt viewers—most notably GeoMixer and the GeoServer Configuration tool. What Styler aims to do is make it easier for anyone to build and edit maps through the web using the SLD specification. Below is a design proposal for Styler informed by OpenGeo's draft  GeoExt Interaction Guidelines as well as precedents from ESRI, GeoCommons, and MapFish.

For a quick overview, check out this walk-through animation or view this PDF with notes

Limit by scale

First, an aside. If we accept that web maps—with their multiple zoom levels—are not the same as print maps then it follows that an app built for styling web maps should not blindly follow conventions set forth in apps designed for styling print maps. ESRI, for example, expects that scale constraints should be set at on a layer-by-layer basis, with some displayed at certain zoom levels and others not. The SLD specification, on the other hand, expects scale constraints to be set on a per style basis—that is, that each layer has various styles corresponding to various zoom levels. In working with Ivan on the new OpenGeo basemap, I found myself often wanting to be able to set scale constraints on particular symbolizers (usually labels) within the same style. What are the implications of this?

per layer
Pros: hews to conventions in ArcMap (with their assumptions for print maps)
Cons: results in multiple layers per data set, multiple layers for a single legend; gets especially confusing when dealing with classifications by category or quantity Precedents: ArcGIS

per style
Pros: hews to expectations set forth by SLD specification (with their assumptions for web maps)
Cons: results in multiple style rules per layer, multiple legends for a single layer; gets especially confusing when dealing with classifications by category or quantity Precedents:  CloudMade

per symbolizer
Pros: all symbolizers can be summarized in one style rule
Cons: violates expectations set forth in the SLD specification

One possible direction would be to allow scale constraints to be set on all of the above, with layer constraints limiting the possible range of style constraints, and style constraints in turn limiting the possible range of symbolizer constraints.

Add data

Attempting to add a new layer opens the "Add data" dialog, which shows the name, title, and namespace for a given data set but can be expanded (like in this  Ext Grid plugin) to include an abstract, previews, and links to output formats (see precedent:  GeoCommons Finder!). Clicking the "Add server" buttons just opens a dialog—or, better yet, swaps out that row—with a field for a server name and a field for the getcapabilities URL and then an "Add" or "Save" button. It then swaps back to the dropdown view with the new server selected and its available data sets displayed below. If adding only one data set the "Layer properties" dialog could be opened when the "Add data" dialog is closed.
http://img.skitch.com/20090127-t35cn22bwqf5kcqi9sq8absgf5.png

Layer properties

Once a data set has been added to a map as a layer its properties can be changed and styles applied from the layer's properties dialog. The General tab contains the layer's metadata and (optionally) scale constraints (see precedent:  ArcGIS Layer Properties 0). The Source tab exposes the location of the GetCapabilities document, the SRS information, the extent of the data set, etc (see precedent:  ArcGIS Layer Properties 1). The "SLD" fieldset in the Styles tab switches between multiple SLDs, exposes the SLD source for editing, and sets the active/default SLD. Although not shown in the wireframe below, the SLD grid could also include a column for the date on which each SLD was most recently modified.
http://img.skitch.com/20090127-jeur4xkmbwy4b7hbyt8dxhhide.png

Alternate proposals:

Named Styles

http://img.skitch.com/20090212-rht3afne3fb7dccegqpw8syyge.png

Symbolizers

Basic symbolizer
TBD

Old proposals:

Stroke symbolizer: Should eventually support advanced parameters like stroke-linejoin, stroke-linecap, stroke-dasharray. See precedents: ArcGIS Style Symbolizers  2,  4,  5,  6.

Marker symbolizer: TBD, but should incorporate the Image Manager for choosing marker graphics.

Label symbolizer: The first step is to be able to choose font, font size, font weight, and font color. And then past that to do the standard placement stuff (Anchor Point, Displacement, Rotation) (see:  label symbolizer wireframe), and our vendor specific parameters (grouping, follow line, max angle delta, space around, prioritization, etc). See precedents: ArcGIS Layer Properties  7 &  8.

Multiple symbolizers
http://img.skitch.com/20090211-k8n3dp2dd45r2iqjeg5t82192i.png

Alternate proposals:
 Multiple symbolizers w/ pancaked tabs
 Multiple symbolizers w/ accordions & scale constraints

Editing symbolizers for multiple style rules simultaneously
TBD

Style features

TBD

Style features as categories

Styling features by unique values of an attribute is a common use case when creating maps that include roads, streams, and parks. There are many  precedents in ArcGIS with parameters defined by their  UniqueValueRenderer. Displaying values and labels together in a grid of categories as ArcGIS does is preferable to the plain list shown in the wireframes below.

Categories by unique values
This wireframe shows how categories could be styled based on unique values of a single attribute. The "General" fieldset defines the label that appears in the legend, the color ramp to be used by default (see precedent:  ArcGIS Categories 3), and the attribute from which to select categories.
http://img.skitch.com/20090124-d883pnyi6knm58tie1pre79hiu.png

Merged categories
Multiple unique values of an attribute can be merged together by selecting them and merging them with a context menu option (see precedent: ArcGIS Categories  4,  5, and  6) or by specifying multiple values as a comma separated list in the restricted filter builder. Note that the attribute cannot be changed from the style's filter builder and the "Limit by conditions" toggle should be disabled since it is part of a larger conditional rule group.
http://img.skitch.com/20090124-fxankp8dax9ti34h61xudfnwmr.png

Categories by unique values of many fields
Categories can be pulled from multiple attributes by defining additional attributes in the "General" fieldset of the category rule group (see precedent:  ArcGIS Categories 2). As above, each category's parameters can be adjusted in the style's restricted filter builder.
http://img.skitch.com/20090124-ndh275yc7j41eqbn7q4p39yxa1.png

Style features as quantities

Styling features into intervals of an attribute is a common use case when creating maps designed to show thematic elements like population, access to health care, or pollution levels. There are many  precedents in ArcGIS with parameters defined by their  ClassBreaksRenderer. Displaying values and labels together in a grid of categories as ArcGIS does is preferable to the plain list shown in the wireframes below. (See also:  MapFish GeoStat demo)

Graduated colors
This wireframe shows how quantities could be styled into intervals of a single attribute. The "General" fieldset defines the label that appears in the legend, the color ramp to be used by default (see precedent:  ArcGIS Quantities 1), the attribute from which to select categories (see precedents:  GeoCommons Maker! Layers Palette &  ArcGIS Quantities 0), and methods for classifying the data (see precedent:  ArcGIS Quantities 2). The style dialog on the right allows the intervals to be adjusted. Note that, as with categories, the attribute cannot be changed from the style's filter builder and the "Limit by conditions" toggle is disabled since the rule is part of a larger rule group.
http://img.skitch.com/20090124-qsrm8d79tuhyw2i5j913i58rhq.png

Alternate proposals:

Graduated symbols TBD

Proportional symbols TBD (See:  MapFish GeoStat demo)

Image Manager

Used primarily for picking graphics on marker symbolizers, the image manager allows the user to choose an image set from a server and then select or preview potential graphics. (See precedents:  Ext Advanced DataView &  Google My Maps)
http://img.skitch.com/20090213-1i7jx3s6d251m5y9w392xuhbq.png

Precedents

 GeoCommons Maker!

 uDig

 ArcGIS

 CloudMade StyleEditor

Older wireframes

Oldest wireframes