I have data of sightings of a particular animal that has been mapped as points. Some of these may be repeated sightings. I've classed the sightings according to 'SightCode' which represents the number of adults and juveniles in the sighting. I also have the Date of the sighting by YYMM.
For example, here I show the symbols as older (start of the year) to newest (recent month), and labels for SightCode.
How can I cluster the points so that they are grouped by proximity and attributes?
Ie. Show only recent sightings after January 2019 ~ 1901, then group those by SightCode and proximity so that sightings within say 1km of each other that are 1 Adult 3 Juveniles ~ 1A3J are only shown as 1 point and not x# of points.
The cluster point cluster symbology allows the symbols to show without the recent timing set when zoomed in, but when zooming out it also clusters all points without classifying those according to SightCode (it just lumps them all as a number). Attribute based clustering doesn't seem to take distance into account. I can't seem to get concave hull to work, I just get errors so not sure if that is the right tool anyway.
Any other ideas?
Edit 1 8/4/20: I tried DBSCAN as the first step but it's grouping a large number of points together that I would like to have seen separation with. See below. Where individual points are far apart, they were still clustered as one, because individual points were close... (green points). How to separate these out based on distance before progressing to the next steps?