Good Day
I'm running into an issue of setting a definition express when the query is massive, like 100kb in size. I have a map with ~74k line segments on it, all rendered client side, and when I try to find a large subset of that group ~7k lines, the query ends up being massive, because I can only query the data using a single key.
This is how I'm applying the query, but is there a better method? Here is a sample query: query: "a >= 1610 AND a <= 1610 OR a >= 1640 AND a <= 164" ... Show Moe (120 kB)
this._view?.map?.layers?.forEach((layer) => {
if (layer?.type === 'feature') {
queryBlock.blockQuery.forEach((query) => {
if (layer?.id.includes(`-${query.x}`)) {
layer.definitionExpression = query.query;
}
});
}
})
Thanks
Switching to using
a in (1,2,3,4.....)
Doesn't seem to work but does bypass the previous restriction. The problem with using “in” is that the output doesn't seem to be SQL like. Assuming “a in (1... 45 000)” returns 45 000 features, applying more filters and queries on top, makes it seem each of those 45 000 features has to apply the filter again, which cause performance to drop through the floor.
Cheers