Autopsy  4.19.2
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary Class Reference

Classes

class  CityCountsList
 
class  CityData
 
class  CityRecordCount
 
class  GeoResult
 
class  PointFetcher
 
interface  SupplierWithException
 

Public Member Functions

 GeolocationSummary ()
 
 GeolocationSummary (SupplierWithException< ClosestCityMapper, IOException > cityMapper, SleuthkitCaseProvider provider)
 
CityData getCityCounts (DataSource dataSource, int daysCount, int maxCount) throws SleuthkitCaseProviderException, GeoLocationDataException, InterruptedException, IOException
 

Static Public Member Functions

static Set< Integer > getArtifactTypeIdsForRefresh ()
 
static List< ARTIFACT_TYPE > getGeoTypes ()
 

Private Member Functions

Pair< CityRecord, Long > getClosestWithTime (ClosestCityMapper cityMapper, MapWaypoint pt)
 
GeoResult getGeoResult (DataSource dataSource) throws SleuthkitCaseProviderException, GeoLocationDataException, InterruptedException
 
Stream< Pair< CityRecord, Long > > processGeoResult (GeoResult geoResult, ClosestCityMapper cityMapper)
 
Stream< Pair< CityRecord, Long > > reduceGrouping (Set< MapWaypoint > points, ClosestCityMapper cityMapper)
 

Static Private Member Functions

static Pair< Integer, Integer > getCounts (List< Long > points, Long minTime)
 
static boolean greaterThanOrEqual (Long minTime, Long time)
 

Private Attributes

final SupplierWithException< ClosestCityMapper, IOException > cityMapper
 
final SleuthkitCaseProvider provider
 

Static Private Attributes

static final long DAY_SECS = 24 * 60 * 60
 
static final Pair< Integer, Integer > EMPTY_COUNT = Pair.of(0, 0)
 
static final Set< Integer > GPS_ARTIFACT_TYPE_IDS
 
static final List< ARTIFACT_TYPE > GPS_ARTIFACT_TYPES
 

Detailed Description

Gathers summary data about Geolocation information for a data source.

Definition at line 47 of file GeolocationSummary.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GeolocationSummary ( )
org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GeolocationSummary ( SupplierWithException< ClosestCityMapper, IOException >  cityMapper,
SleuthkitCaseProvider  provider 
)

Main constructor.

Parameters
cityMapperA means of acquiring a ClosestCityMapper that can throw an IOException.
providerA means of acquiring a SleuthkitCaseProvider.

Definition at line 272 of file GeolocationSummary.java.

References org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.cityMapper, and org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.provider.

Member Function Documentation

static Set<Integer> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getArtifactTypeIdsForRefresh ( )
static
CityData org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getCityCounts ( DataSource  dataSource,
int  daysCount,
int  maxCount 
) throws SleuthkitCaseProviderException, GeoLocationDataException, InterruptedException, IOException
Pair<CityRecord, Long> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getClosestWithTime ( ClosestCityMapper  cityMapper,
MapWaypoint  pt 
)
private

Retrieves a tuple of the closest city (or null if a closest city cannot be determined) and the time stamp of the point in seconds from epoch. If the point is null, null is returned.

Parameters
cityMapperThe means of mapping a point to the closest city.
ptThe geolocation point.
Returns
A tuple of the closest city and timestamp in seconds from epoch.

Definition at line 340 of file GeolocationSummary.java.

References org.sleuthkit.autopsy.geolocation.MapWaypoint.getTimestamp(), org.sleuthkit.autopsy.geolocation.KdTree< T extends KdTree.XYZPoint >.XYZPoint.getX(), and org.sleuthkit.autopsy.geolocation.KdTree< T extends KdTree.XYZPoint >.XYZPoint.getY().

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.processGeoResult(), and org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.reduceGrouping().

static Pair<Integer, Integer> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getCounts ( List< Long >  points,
Long  minTime 
)
staticprivate

Based on a set of waypoints, determines the count of total waypoints and a total of waypoints whose time stamp is greater than or equal to minTime.

Parameters
pointsThe list of way points.
minTimeThe minimum time for most recent points count.
Returns
A pair where the left value is the total count of way points and the right is the total list of way points that are >= minTime.

Definition at line 319 of file GeolocationSummary.java.

References org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.EMPTY_COUNT, and org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.greaterThanOrEqual().

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getCityCounts().

GeoResult org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getGeoResult ( DataSource  dataSource) throws SleuthkitCaseProviderException, GeoLocationDataException, InterruptedException
private

Fetches all GPS data for the data source from the current case.

Parameters
dataSourceThe data source.
Returns
The GPS data pertaining to the data source.
Exceptions
SleuthkitCaseProviderException
GeoLocationDataException
InterruptedException

Definition at line 547 of file GeolocationSummary.java.

References org.sleuthkit.autopsy.datasourcesummary.datamodel.SleuthkitCaseProvider.get(), org.sleuthkit.autopsy.geolocation.datamodel.WaypointBuilder.getAllWaypoints(), org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GPS_ARTIFACT_TYPES, and org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.provider.

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getCityCounts().

static List<ARTIFACT_TYPE> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getGeoTypes ( )
static
static boolean org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.greaterThanOrEqual ( Long  minTime,
Long  time 
)
staticprivate

Returns whether or not the time is >= the provided minimum time handling the event where either time is null.

Parameters
minTimeThe minimum time. If null is provided, this function will return false.
timeThe time to check. If null is provided and the min time is non-null, then this function will return false.
Returns
If minTime == null then false. If minTime != null && time == null then false. Otherwise time >= minTime.

Definition at line 300 of file GeolocationSummary.java.

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getCounts().

Stream<Pair<CityRecord, Long> > org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.processGeoResult ( GeoResult  geoResult,
ClosestCityMapper  cityMapper 
)
private

Convert a geo result taken from the Geolocation and convert to a stream of tuples where each tuple represents a point with the closest city and the time stamp in seconds from epoch.

Parameters
geoResultThe result from the Geolocation API.
cityMapperThe means of mapping a point to the closest city.
Returns
A list of tuples where each tuple represents a point to be counted with a combination of the closest city and the timestamp.
Exceptions
IOException

Definition at line 400 of file GeolocationSummary.java.

References org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GeoResult.getAreas(), org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getClosestWithTime(), org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GeoResult.getMapWaypoints(), org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GeoResult.getTracks(), and org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.reduceGrouping().

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getCityCounts().

Stream<Pair<CityRecord, Long> > org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.reduceGrouping ( Set< MapWaypoint points,
ClosestCityMapper  cityMapper 
)
private

Converts a set of waypoints representing a grouping (i.e. track, area) into a stream of the unique cities identified in this grouping and the latest time stamp for each grouping.

Parameters
pointsThe points in the grouping.
cityMapperThe means of mapping a point to the closest city.
Returns
A stream of tuples where each tuple will be a unique city (or null if a closest is not determined) and the latest timestamp for each.

Definition at line 363 of file GeolocationSummary.java.

References org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getClosestWithTime().

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.processGeoResult().

Member Data Documentation

final SupplierWithException<ClosestCityMapper, IOException> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.cityMapper
private
final long org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.DAY_SECS = 24 * 60 * 60
staticprivate
final Pair<Integer, Integer> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.EMPTY_COUNT = Pair.of(0, 0)
staticprivate
final Set<Integer> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GPS_ARTIFACT_TYPE_IDS
staticprivate
Initial value:
.map(artifactType -> artifactType.getTypeID())
.collect(Collectors.toSet())

Definition at line 232 of file GeolocationSummary.java.

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getArtifactTypeIdsForRefresh().

final List<ARTIFACT_TYPE> org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.GPS_ARTIFACT_TYPES
staticprivate
Initial value:
= Arrays.asList(
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_BOOKMARK,
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_LAST_KNOWN_LOCATION,
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_ROUTE,
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_SEARCH,
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_TRACK,
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_TRACKPOINT,
BlackboardArtifact.ARTIFACT_TYPE.TSK_METADATA_EXIF,
BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_AREA
)

Definition at line 220 of file GeolocationSummary.java.

Referenced by org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getGeoResult(), and org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.getGeoTypes().

final SleuthkitCaseProvider org.sleuthkit.autopsy.datasourcesummary.datamodel.GeolocationSummary.provider
private

The documentation for this class was generated from the following file:

Copyright © 2012-2021 Basis Technology. Generated on: Tue Feb 22 2022
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.