Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add WellKnownName's to support extra styles from QGIS #828

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

terry-longmacch
Copy link

@terry-longmacch terry-longmacch commented Jan 28, 2025

Description

Support for a large number of WellKnownName's has been added. This is to align with the point markers provided in the styling used with QGIS. Most of the new styles could not be replicated using OpenLayer's RegularShape specification, which is quite limited. As a result styling for points has been changed to use OpenLayer's Icon styles with SVG used for the image source. In most cases the SVG code for shapes was translated directly from the QGIS Python code.

The code has been tested as much as possible, but I have mainly been concentrating on converting SLD (from QGIS Server) to OpenLayers, and this seems to be working pretty well. I've had limited exposure to the other parts of Geostyler, so please let me know if there are other areas that need attention. I completely understand that there may be a lot of work needed, but hopefully it can be incorporated at some point. An attempt was made to use it with Geostyler Demo, but I think there might be other issues with this repository, as I couldn't get my fork working without the code changes.

Good luck!!

Related issues or pull requests

The following pull requests are related due to the new definition of the accepted WellKnownTypes.

Geostyler Style - geostyler/geostyler-style#652
Geostyler SLD Parser - geostyler/geostyler-sld-parser#978

Pull request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Dependency updates
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe)
  • I am unsure (we'll look into it together)

Do you introduce a breaking change?

  • Yes
  • No
  • I am unsure (no worries, we'll find out)

Checklist

  • I understand and agree that the changes in this PR will be licensed under the BSD 2-Clause License
  • I have followed the guidelines for contributing
  • The proposed change fits to the content of the code of conduct
  • I have added or updated tests and documentation, and the test suite passes (run npm test locally)
  • I'm lost; why do I have to check so many boxes? Please help!

@terry-longmacch
Copy link
Author

I think there may still be an issue with zoom styling. It seems to apply the first style, but ignores subsequent ones.

Tried using async to manage SVG loading for pattern fills, but it broke the style functions.  Reverted back to using RegularShapes for pattern fills to avoid timing issues with loading.  Added a number of extra RegularShapes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant