Topic: New Taxon Group Filter?


I am the default County recorder for Hampshire for species not covered by others in the county.
I would like to make it easier for recorders to send me the 'other' records. I was thinking one way to do this would be by running a new taxa filter when replicating to me.

Is it possible to set up a new taxon filter of a combination of species groups (Orthoptera, crustacea and fish among others) for use in the replicator?

If not, has anyone any other suggestions as to how this could be made easier, how do others do it?

Lizzy Peat

Re: New Taxon Group Filter?

Hi Lizzy,

It is possible to set up new filters for multiple taxon groups, by copying the SQL for the existing filters and combining them into one new filter. However, to catch the whole range of things that aren't covered by the main local recording schemes would need a fairly lengthy bit of SQL, and you'd also have to ensure that all your contributing recorders had the custom filter (and if it ever needed to be edited you'd have to farm it out to everyone again).

When I've been faced with a similar situation I've asked people to send sync files for ALL taxa. You can then delete (or ignore) the records for taxa that are already being covered by the other recorders. That would be the simplest way to ensure that nothing gets missed out, and if new taxon groups are added to MapMate, or if existing taxon filters get changed, then you wouldn't have to keep editing your custom filter. Downside is that things get more complicated if you're using the same copy of MapMate to sync to or from the main recorders as well, so may be worth setting up a separate copy of MapMate to deal with the 'other' taxa.

Pasted below is some guidance that MapMate issued a while back about creating new filters.


MapMate - creating new filters:

Open Data Entry in MapMate
Choose Records > Add New > Filters

Key Points:
The filter Class MUST be either Sites or Taxa or Records

Enter a suitable name (keep ALL names unique)

Enter the SQL definition:

For 'Taxa' this should be in the form:
SELECT Taxa.* FROM Taxa WHERE <your taxa definition>

For 'Sites' this should be in the form:
SELECT Sites.* FROM Sites WHERE <your sites definition>

For 'Records' this should be in the form:
SELECT Records.* FROM (Records INNER JOIN [Taxa\Filter] ON Records.[*Taxon] = [Taxa\Filter].[_guk]) INNER JOIN [Sites\Filter] ON Records.[*Site] = [Sites\Filter].[_guk] WHERE <your records definition>

When you select a Sites or Taxa filter, the SQL above is loaded into the [Sites\Default] or [Taxa\Default] queries and this is then available for use by the program.

You will need to tick your new Taxa or Sites filter off after creation in your 'My Configuration' list. This doesn't apply to Records filters, which are not selectable in 'My Configuration'.

Use this capability with care - and only if you understand what's going on here!
F1 context sensitive help will not work (yet) with this entry form template.  Any definitions you create will be replicated to other users - so a single group user could create a special definition and sync this out to all others [MH comment: as far as I can tell the custom filters don't in fact get synced out].  Have a look at the Data Model document (available for the MM downloads page) for more on the Filters table and how it is used with [Sites\Default] and [Taxa\Default].  See existing filters for examples - press Ctrl+B to browse the filter table from this Entry template.

Big Tip:
There is no way of checking the Filter SQL as a Filter is created from Data Entry, so it is a good idea to create this in a <new user query> first. This will allow you to test the SQL and make sure it returns what you think it should first!

Real Example 1:
To create a recording Taxa default for a single species - the honey bee:
First you need to know the key (guk) for this taxon:
Make a dummy <new user query> as follows:
SELECT [_guk] AS GUK, Taxon
FROM TaxaLib
WHERE [_guk]=[#TaxaLib]

Run this and search for apis
This should find a single taxon apis melifera
Make a note of this GUK (here 'uofmo1z1')

Now Create a new filter as follows:
Open Data Entry
Choose Records > Add New > Filters
For the Class Enter:

For the Name Enter:
Honey Bee

For the SQL Enter:
SELECT Taxa.* FROM Taxa WHERE [_guk]='uofmo1z1'

[Note that the 'Enter' key will not work in the SQL box - you need to just keep typing - but you can copy and paste text with line feeds into this box]

Click on the Save Button
Close this Data Entry form.

Now go to your View > 'My Configuration'. You should find 'Honey Bee' listed. You can now use this to record, analyse or even create an Atlas of

Martin Harvey

Re: New Taxon Group Filter?

Thank you very much Martin, sorry for the delay in replying!
Best wishes,

Lizzy Peat