Version 35 (modified by rpenate, 5 years ago)

--

Styler Demos

Current

Old

Design Proposals

Below is a design proposal for Styler informed by OpenGeo's draft  GeoExt Interaction Guidelines.

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-ecwsa5gehh7ffwns8n3pxks8hk.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:

Style features

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

Proportional symbols (See:  MapFish GeoStat demo)

Symbolizers

Basic symbolizer

Stroke symbolizer: Should eventually support advanced parameters like stroke-linejoin, stroke-linecap, stroke-dasharray.

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

Editing symbolizers for multiple style rules simultaneously

Limit by scale

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

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

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

Roadmap (Tentative)

  • Live Preview - should be able to switch to 'live' mode when you're zoomed in enough (like some feature limit), and get the features and adjust the styling with OL with instant feedback. Then be able to have GS render it, to make sure everything worked right.
  • Display multiple layers at once - if you're making a base layer you'll want to see how your road style fits in with your parks, water, pois, etc. Ideally you could select them all for editing, but a half way could be to just select which you want to edit. One possibility is to use the Photoshop/Flash model of viewing multiple layers but only  editing the selected layer, another option is explicitly setting the active/editable layer as with  Alachua.
  • Image manager - should have a box showing all the images already available. These ideally should be all the images you have on your geoserver (and you can upload more if you have admin rights), plus remote images that you have referred to in the past. Should be able to add images and remove them. This obviously depends on some rest stuff in geoserver. One step further would be to let a user point at another 'image set', on another geoserver, or a web directory formatted right. We could provide a few default image sets, and figure out how to point to Google's image sets.
  • Create rule from value - We talked about this some before work started, to be able to create a rule from the values of the currently selected feature. We now have a nice 'rules used to render this feature' dialog. Would be great to have something in there that can [ create a new rule from a value, like with streams a 'create rule for all streams with cat = 1'. That then takes you to the advanced filter dialog, and can change it to be less than 1 and whatnot, and pick your color, etc
  • Zoom levels - this is a bit less thought out, but there's a logical coherence between displaying like roads at different zoom levels. And it could be nice to auto generate a number of zoom levels, make it easy for people to customize them.

Precedents

 GeoCommons Maker!

 uDig

 ArcGIS

Older wireframes

Oldest wireframes

Attachments