dedup

package
v0.0.0-...-68b92b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SpatioTemporalKey byte = 0x01
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	Time time.Time `json:"time"`
	Lat  float64   `json:"lat"`
	Lng  float64   `json:"lng"`
}

Event is a demo event type.

type Filter

type Filter interface {
	// Filter processes event and returns true, if it is unique.
	Filter(Event) (isUnique bool, err error)
}

Filter interface is implemented by event deduplication filters.

func NewSpatioTemporalFilter

func NewSpatioTemporalFilter(db *badger.DB, distance float64, interval time.Duration) (Filter, error)

NewSpatioTemporalFilter creates and returns an instance of the deduplication Filter.

type SpatioTemporalFilter

type SpatioTemporalFilter struct {
	// contains filtered or unexported fields
}

SpatioTemporalFilter implements spatio-temporal deduplication filter.

func (*SpatioTemporalFilter) Cells

func (f *SpatioTemporalFilter) Cells(ll s2.LatLng) s2.CellUnion

Cells returns s2.CellUnion of cells to search for earlier indexed locations.

func (*SpatioTemporalFilter) Distance

func (f *SpatioTemporalFilter) Distance() float64

Distance returns distance tolerance in meters.

func (*SpatioTemporalFilter) Filter

func (f *SpatioTemporalFilter) Filter(ev Event) (isUnique bool, err error)

func (*SpatioTemporalFilter) IndexedLocations

func (f *SpatioTemporalFilter) IndexedLocations(fn func(lat, lng float64) error) error

IndexedLocations iterates over indexed locations and calls fn with latitude and longitude.

func (*SpatioTemporalFilter) Interval

func (f *SpatioTemporalFilter) Interval() time.Duration

Interval returns time tolerance.

func (*SpatioTemporalFilter) Level

func (f *SpatioTemporalFilter) Level() int

Level returns filter cell level.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL