|Version 35 (modified by rpenate, 4 years ago)|
- http://publicus.opengeo.org/styler2/debug.html - Styling for a local vector layer
- http://publicus.opengeo.org/styler2/gs-integration-debug.html - GeoServer integration, using the RESTConfig API
Below is a design proposal for Styler informed by OpenGeo's draft GeoExt Interaction Guidelines.
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.
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.
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.
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.
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.
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)
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.
Proportional symbols (See: MapFish GeoStat demo)
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.
Editing symbolizers for multiple style rules simultaneously
Limit by scale
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
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
Pros: all symbolizers can be summarized in one style rule
Cons: violates expectations set forth in the SLD specification
- 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.
- Polygon Symbolizer - demonstrating inheritance
- Label Symbolizer
- Feature Inspector - a draft of minor improvements to the current (beta) feature inspector
- Layer Pane - displaying multiple layers
- Layer Pane - same as above, with context menu
- Layer Pane - with selectable base map
- Rule Group Inspector - a sketch of how rule groups could be created and managed
- Popup Draft - first stab
- Fill panel Draft - different direction, first stab didn't pan out
- Early Workflow Drafts: 1, 2, 3, 4
- Workflow Draft 5 - expanded on layer details
- Workflow Draft 6 - improved symbology palette
- Wokflow Draft 7 - improved load/save; added 'else' filter; clarified all features / else style editing
- SLD Load & Save - Added to the Styles tab of the Layer detail dialog