Nice work, should appear in the docs shortly: https://docs.geoserver.org/latest/en/user/styling/ysld/reference/featurestyles.html#first-match -- Jody Garnett
On Thu, 25 Jul 2019 at 08:35, Artem Groznykh <[email protected]> wrote: > I made changes and created a pull request > <https://github.com/geoserver/geoserver/pull/3683> > > Thanks for help! > > > <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> > Без > вирусов. www.avast.ru > <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> > <#m_7506717798134146064_m_5251430355403938469_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > чт, 25 июл. 2019 г. в 03:34, Jody Garnett <[email protected]>: > >> Perfect, and yes reporting to the issue tracker would be great (in this >> case you have both confirmed a problem and a fix). >> >> For very small documentation fixes like this you may just be able to fix >> it yourself direct, following the instructions here: >> https://docs.geoserver.org/latest/en/docguide/quickfix.html >> >> The page in question is here: >> https://github.com/geoserver/geoserver/blob/master/doc/en/user/source/styling/ysld/reference/featurestyles.rst >> >> -- >> Jody Garnett >> >> >> On Tue, 23 Jul 2019 at 12:38, Artem Groznykh <[email protected]> >> wrote: >> >>> Hi. Yes. >>> >>> "x-ruleEvaluation: first" works. >>> >>> >>> >>> first feature is red. Only first rule applied. >>> >>> So the documentation is really incorrectly. Should I report it to the >>> issue tracker as you offered? >>> >>> >>> вт, 23 июл. 2019 г. в 16:35, Jody Garnett <[email protected]>: >>> >>>> Were you able to try the above? >>>> -- >>>> Jody Garnett >>>> >>>> >>>> On Fri, 19 Jul 2019 at 21:56, Jody Garnett <[email protected]> >>>> wrote: >>>> >>>>> The "x-" is used to indicate that this is a extension to the base SLD >>>>> spec. YSLD does not do anything special here it just generates the >>>>> equivalent data structure as SLD would.... >>>>> >>>>> Searching through the code: >>>>> https://github.com/geotools/geotools/search?q=firstMatch&unscoped_q=firstMatch >>>>> only shows "firstMatch" in documentation - so something is odd here. >>>>> >>>>> Reading the docs >>>>> https://docs.geotools.org/latest/userguide/library/render/style.html#featuretypestyle >>>>> >>>>> firstMatch: stops rule evaluation after the first match (making it >>>>> easier to work with datasets where content is classified by distinct >>>>> attribute values) >>>>> >>>>> // exit rules on first match, like a switch statement >>>>> fts.getOptions().put("ruleEvaluation", "first"); >>>>> >>>>> >>>>> So try experimenting with x-ruleEvaulation: "first" >>>>> >>>>> >>>>> -- >>>>> Jody Garnett >>>>> >>>>> >>>>> On Fri, 19 Jul 2019 at 06:42, groznykh <[email protected]> wrote: >>>>> >>>>>> Hello. >>>>>> >>>>>> According to documentation >>>>>> < >>>>>> https://docs.geoserver.org/stable/en/user/styling/ysld/reference/featurestyles.html#syntax> >>>>>> >>>>>> x-firstMatch property of featureType in YSLD style "Stops rule >>>>>> evaluation >>>>>> after the first match". But somehow it does not. >>>>>> >>>>>> I use: >>>>>> >>>>>> - window 7 >>>>>> - GeoServer 2.15.2 >>>>>> - mongoDB plugin (for GeoServer 2.15.2) >>>>>> - YSLD plugin (for GeoServer 2.15.2) >>>>>> >>>>>> I populated mongoDB collection with two records: >>>>>> >>>>>> - { >>>>>> "name" : "name 1", >>>>>> "geom" : { >>>>>> "type" : "Polygon", >>>>>> "coordinates" : [ >>>>>> [ >>>>>> [ >>>>>> 101.200407, >>>>>> 58.922034 >>>>>> ], >>>>>> [ >>>>>> 102.200221, >>>>>> 58.918487 >>>>>> ], >>>>>> [ >>>>>> 102.200161, >>>>>> 59.917305 >>>>>> ], >>>>>> [ >>>>>> 101.200228, >>>>>> 59.916561 >>>>>> ], >>>>>> [ >>>>>> 101.200407, >>>>>> 58.922034 >>>>>> ] >>>>>> ] >>>>>> ] >>>>>> } >>>>>> } >>>>>> >>>>>> - { >>>>>> "name" : "name 2", >>>>>> "geom" : { >>>>>> "type" : "Polygon", >>>>>> "coordinates" : [ >>>>>> [ >>>>>> [ >>>>>> 103.200407, >>>>>> 58.922034 >>>>>> ], >>>>>> [ >>>>>> 104.200221, >>>>>> 58.918487 >>>>>> ], >>>>>> [ >>>>>> 104.200161, >>>>>> 59.917305 >>>>>> ], >>>>>> [ >>>>>> 103.200228, >>>>>> 59.916561 >>>>>> ], >>>>>> [ >>>>>> 103.200407, >>>>>> 58.922034 >>>>>> ] >>>>>> ] >>>>>> ] >>>>>> } >>>>>> } >>>>>> >>>>>> >>>>>> Then I create a layer and an YSLD style for that layer: >>>>>> >>>>>> feature-styles: >>>>>> - name: some_name >>>>>> *x-firstMatch: true* >>>>>> rules: >>>>>> - filter: ${name = 'name 1'} >>>>>> symbolizers: >>>>>> - polygon: >>>>>> fill-color: 'red' >>>>>> fill-opacity: 0.5 >>>>>> stroke-color: 'red' >>>>>> stroke-opacity: 0.5 >>>>>> - symbolizers: >>>>>> - polygon: >>>>>> fill-color: 'yellow' >>>>>> fill-opacity: 0.5 >>>>>> stroke-color: 'yellow' >>>>>> stroke-opacity: 0.5 >>>>>> >>>>>> In preview the feature with name = 'name 1' is orange (both rules are >>>>>> applied) and the feature with name = 'name 2' is yellow. But first >>>>>> feature >>>>>> should be red (not orange) - only first rule should be applied. >>>>>> >>>>>> </file/t385081/KAgqWDPuEYyeym.jpg> >>>>>> >>>>>> Why so? >>>>>> >>>>>> Thanks in advance for any help >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sent from: >>>>>> http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Geoserver-users mailing list >>>>>> >>>>>> Please make sure you read the following two resources before posting >>>>>> to this list: >>>>>> - Earning your support instead of buying it, but Ian Turton: >>>>>> http://www.ianturton.com/talks/foss4g.html#/ >>>>>> - The GeoServer user list posting guidelines: >>>>>> http://geoserver.org/comm/userlist-guidelines.html >>>>>> >>>>>> If you want to request a feature or an improvement, also see this: >>>>>> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer >>>>>> >>>>>> >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users >>>>>> >>>>> >>> >>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>> Без >>> вирусов. www.avast.ru >>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> >>> <#m_7506717798134146064_m_5251430355403938469_m_-3229462652672612686_m_-4151793457583640300_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>> >>
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
