## Understanding SLD Styles

### What is SLD?

SLD (Styled Layer Descriptor) is an XML-based standard for defining map symbology. It describes how geographic features should be rendered on a map, including:

- Colors and fills
- Line styles and widths
- Symbol sizes and rotation
- Text labels and fonts
- Transparency and blending

### QGIS Styles vs SLD

QGIS uses its own style format, but Q2G can convert QGIS styles to SLD for use on GeoServer:

- QGIS Format: Native QGIS styling system (.qml files)
- SLD Format: Standard OGC format for web mapping
- Conversion: Q2G automatically converts QGIS styles to SLD

## Creating Styles in QGIS

### Basic Style Creation

1. Right-click the layer in the Layers panel
2. Select "Properties"
3. Go to the "Symbology" tab
4. Configure the layer's appearance:
   - Choose a renderer (Single Symbol, Categorized, Graduated, etc.)
   - Set colors, line styles, and other properties
   - Add labels if desired
5. Click "Apply" to preview changes
6. Click "OK" to save

### Style Types

Style Type | Use Case | SLD Support
--- | --- | ---
Single Symbol | All features same style | ✅ Full
Categorized | Different colors by category | ✅ Full
Graduated | Color ramp by value ranges | ✅ Full
Rule-based | Complex conditional styling | ✅ Full
Point Cluster | Cluster nearby points | ⚠️ Partial
Heat Map | Density visualization | ❌ Limited

## Uploading Styles

### Automatic Style Upload

Styles are uploaded automatically when you upload a layer with the "Upload SLD" option enabled:

1. Select a layer in QGIS
2. Configure the layer style in QGIS
3. In Q2G, check "Upload SLD"
4. Click "Upload Layers"
5. The style will be exported and uploaded automatically

### Manual Style Upload

Upload a style for an existing layer:

1. In the QGIS Layers panel, find the layer
2. Click the "Upload" button next to the layer
3. The current QGIS style will be exported and uploaded
4. Check the upload log for success message

### Upload Process

When you upload a style, Q2G:

1. Exports the QGIS layer style
2. Converts it to SLD format
3. Uploads the SLD to GeoServer
4. Associates the style with the layer
5. Verifies the association was successful

## Viewing and Managing Styles

### View Layer Style

To view the SLD for a layer:

1. In the QGIS Layers panel, find the layer
2. Click the "..." button next to the layer
3. A window will open showing the SLD code
4. You can copy the SLD or save it to a file

### Style Properties

Each style has properties that can be viewed in GeoServer:

- Style Name: Unique identifier for the style
- Workspace: The workspace where the style is stored
- Format: Always SLD for Q2G styles
- Associated Layers: Layers using this style

## Style Overwrite Options

### Overwrite Existing Styles

When enabled, existing styles on GeoServer will be replaced:

- Enabled: New style replaces old one
- Disabled: Upload fails if style already exists

### When to Overwrite

- Updating a layer's appearance
- Fixing style errors
- Applying new symbology

### When NOT to Overwrite

- Creating a new style with a different name
- Preserving existing styles
- Testing new styles without affecting production

## Style Compatibility

### Supported QGIS Features

These QGIS styling features are fully supported in SLD:

- Fill colors and transparency
- Line colors, widths, and dash patterns
- Point symbols and sizes
- Text labels and fonts
- Categorized and graduated renderers
- Rule-based styling

### Partially Supported Features

These features may not convert perfectly:

- Complex blending modes
- 3D effects
- Some advanced effects

### Unsupported Features

These QGIS features cannot be converted to SLD:

- Data-defined overrides (some types)
- Animated effects
- QGIS-specific plugins

Tip: Test your styles on GeoServer to ensure they render as expected. Some features may look different in a web map.

## Troubleshooting Style Issues

### Style Not Applied

- Check the upload log for errors
- Verify the style was uploaded successfully
- Check if the layer exists on GeoServer
- Try uploading the style again

### Style Looks Different on GeoServer

- Some QGIS features don't convert perfectly to SLD
- Test the style in QGIS first
- Simplify the style if needed
- Manually edit the SLD on GeoServer if necessary

### Upload Fails with Error

- Check the layer exists on GeoServer
- Verify your Q2G connection
- Check if the style name is valid
- Try with a simpler style first

### SLD Export Error

- Ensure the layer has a valid CRS
- Check the layer has valid geometry
- Try simplifying the layer style
- Check QGIS logs for detailed error messages

## Advanced Style Management

### Editing SLD Directly

For advanced users, you can edit SLD directly:

1. View the layer's SLD using the "..." button
2. Copy the SLD code
3. Edit it in a text editor
4. Upload the modified SLD to GeoServer

### Sharing Styles

Styles can be shared between layers:

- Export a style from one layer
- Upload it with a different name
- Associate it with other layers

### Style Versioning

Keep track of style changes:

- Save styles with version numbers (e.g., "roads_v1", "roads_v2")
- Keep backups of important styles
- Document style changes in comments

## Best Practices

- Test First: Always test styles in QGIS before uploading
- Simple Styles: Keep styles simple for better compatibility
- Naming Convention: Use descriptive names for styles
- Documentation: Document what each style is used for
- Backup: Keep backups of important styles
- Performance: Complex styles can slow down rendering

## Next Steps

- Layer Upload - Upload layers with styles
- Preview & Visualization - Preview styled layers
- Advanced Features - Learn advanced techniques

↑