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

GeoCSS parser implementation #2

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

allyoucanmap
Copy link

This PR introduces base write and read functionality for the parser.

It is still incomplete and limited in some parts that could be improved later. I'll try to summarize what's missing or needed below:

  • missing tests to cover all functions and cases
  • test and compare the results of the geostyler parser with the GeoSever translation GeoCSS to SLD to ensure correctness of rules
  • nested filters are supported only with 3 levels with this structure [ '||', ... 0 [ '&&', ... 1 [ '||' or '&&' ... 2 ] ] ]. This is because I'm trying to follow the selector structure (see: GeoCSS filter doc). I'm aware it's possible to use nested parentheses like this [ type = 'e' and class = 'd' or ( position = 'a' or id = 'd') ] inside the selector but currently it's not supported (see flat-geo-css)
  • missing not operator. It seems it's possible to use it only in come cases such attribute not in ( 'value' ) or attribute not like 'value' or attribute is not null (this part needs some investigation).
  • missing StrMatchesFunctionFilter implementation

connected to issue geostyler/geostyler#1285

@chrismayer
Copy link

Thanks for providing your work and for your summary, what is missing @allyoucanmap. This helps a lot and makes it easier for others to continue on this. Very much appreciated 👍

@marcjansen
Copy link
Contributor

marcjansen commented Jun 24, 2021

Will someone continue to work on this? That'd be much appreciated

@allyoucanmap
Copy link
Author

@marcjansen I'm sorry to come back so late to this PR. After the implementation of this branch we tried the parser by installing it as a github repository in our application and the functionality developed was fullfilling our requirements. Unfortunately I could not spend additional time to complete all the other features listed in the description and this seems a blocker for the merge of the PR in this repo. We currently need to create an npm package for this parser and for this reason we published it starting from our fork under a different scope to avoid conflicts with names (@geosolutions/geostyler-geocss-parser). We will update the testing part based on use cases that we will face while developing but we have not an estimates about this right now.

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.

3 participants