logo separator

[mkgmap-dev] More method options for is_in function

From Gerd Petermann gpetermann_muenchen at hotmail.com on Thu Feb 13 10:25:34 GMT 2020

Hi Ticker,

ah, yes, did not see the override. There is another caching mechanism in
RuleSet.resolveType(int cacheId, Element el, TypeResult result)
which might kick in. Not sure if this is relevant but you should be aware of it.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Donnerstag, 13. Februar 2020 11:16
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] More method options for is_in function

Hi Gerd

I overrode getCacheTag() to fix this aspect, and you overrode
toString() for something relating to the common sub-expressions; in
both cases including the 'kind' and all the parameters.

Yesterday, experimenting, I found it was consistent about create 2
instances, augmenting the same one twice and then using just that one
for the actual work, but this was when the calls were in the same
section. So, sometime I should investigate what happen when there valid
identical calls in 2 sections.

Ticker

On Thu, 2020-02-13 at 09:53 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> I think CachedFunction can't be used without changes. It uses
> getName() which just returns "is_in" (no parameters).
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> Gesendet: Donnerstag, 13. Februar 2020 10:26
> An: Development list for mkgmap
> Betreff: Re: [mkgmap-dev] More method options for is_in function
>
> Hi Arndt
>
> you have an include 'inc/access' in styles_base/points and
> styles_gravel/points
>
> which gives the error about unsupported options.
>
> The crash is related: because the calls are textually identical, the
> optimiser semi-tries to share them between points and lines
> processing,
> it initializes one instance only, but later the correct ones are
> called
> for the 2 contexts. I introduced this assertion error in the last
> update to catch strange things like this happening. Before it would
> have quietly returned "false"
>
> Ticker
>
>
> On Thu, 2020-02-13 at 06:37 +0100, Arndt Röhrig wrote:
> > Hi Ticker,
> >
> > mkgmap tell me:
> >
> > 6:33:39,37 - mkgmap .\tools\mkgmap-is-in-r4446 Speiche_Fabrik
> > Error in style: Error: (inc/access:73): Error: Third parameter
> > 'all'
> > of function is_in is not supported for this style section, valid
> > are:
> > [in, in_or_on, on]
> > Error in style: Error: (inc/access:73): Error: Third parameter
> > 'all'
> > of function is_in is not supported for this style section, valid
> > are:
> > [in, in_or_on, on]
> > Error in style: Error: (inc/access:73): Error: Third parameter
> > 'all'
> > of function is_in is not supported for this style section, valid
> > are:
> > [in, in_or_on, on]
> > Error in style: Error: (inc/access:73): Error: Third parameter
> > 'all'
> > of function is_in is not supported for this style section, valid
> > are:
> > [in, in_or_on, on]
> > Could not open style
> >
> >
> > If i move the "is_in" command to the line file, mkgmap say:
> >
> > 6:30:43,78 - mkgmap .\tools\mkgmap-is-in-r4446 Speiche_Fabrik
> > java.lang.AssertionError: invoked the non-augmented instance
> > at
> > uk.me.parabola.mkgmap.osmstyle.function.IsInFunction.calcImpl(IsInF
> > un
> > ction.java:119)
> > at
> > uk.me.parabola.mkgmap.osmstyle.function.CachedFunction.value(Cached
> > Fu
> > nction.java:61)
> > at
> > uk.me.parabola.mkgmap.osmstyle.eval.EqualsOp.eval(EqualsOp.java:33)
> ...
>
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


More information about the mkgmap-dev mailing list