Main Page | Modules | Data Structures | Directories | File List | Data Fields | Examples

Dataset


Detailed Description

A dataset is a container of astro objects organised in either a 3,2 or 1 dimensional tile array. Each tile in the array contains a singly linked list of objects and status information about the tile.

The dataset tiles can be organised as follows:-

A dataset is generally equivalent to a table within a traditional database with additional data ordering.

Datasets have a 1:1 mapping with with catalog data files and a catalog can have more than 1 dataset.


Data Structures

struct  lnc_object_class

Typedefs

typedef lnc_dataset lnc_dataset
 Catalog Dataset.

Enumerations

enum  lnc_ctype {
  CT_INT, CT_DOUBLE, CT_FLOAT, CT_STRING,
  CT_SIGN, CT_DOUBLE_HMS_HRS, CT_DOUBLE_HMS_MINS, CT_DOUBLE_HMS_SECS,
  CT_DOUBLE_DMS_DEGS, CT_DOUBLE_DMS_MINS, CT_DOUBLE_DMS_SECS, CT_DOUBLE_MPC,
  CT_NULL
}

Functions

lnc_datasetlnc_dset_create (lnc_catalog *cat, char *dset_name)
 Create a new dataset.
int lnc_dset_init (lnc_dataset *dset, lnc_progress progress, int ra, int dec, int mag, unsigned int flags)
 Initialise new dataset.
void lnc_dset_free (lnc_dataset *dset)
 Free's dataset and it's resources.
int lnc_dset_add_custom_field (lnc_dataset *dset, char *field)
 Add a custom field to the dataset for importing.
int lnc_dset_set_alt_index (lnc_dataset *dset, char *field, char *alt, int flags)
 Set an alternative field if another field is blank.
void lnc_dset_clip_posn (lnc_dataset *dset, double min_ra, double min_dec, double max_ra, double max_dec, double faint_mag, double bright_mag)
 Set dataset clipping area based on position.
void lnc_dset_clip_dist (lnc_dataset *dset, double min_AU, double max_AU)
 Set dataset clipping area based on distance.
void lnc_dset_unclip (lnc_dataset *dset)
 Unclip dataset clipping area to full boundaries.
int lnc_dset_get_objects (lnc_dataset *dset, lnc_progress progress, lnc_slist **result, unsigned int flags)
 Get objects from catalog based on clipping area.
void lnc_dset_put_objects (lnc_slist *results)
 Release slist memory from lnc_dset_get_objects().
int lnc_dset_prune (lnc_dataset *dset)
 free all old sectors.
int lnc_dset_get_size (lnc_dataset *dset)
 Get dataset cache size.
int lnc_dset_get_object_size (lnc_dataset *dset)
 Get dataset object size.
void lnc_dset_set_status_posn (lnc_dataset *dset, double min_ra, double min_dec, double max_ra, double max_dec, double faint_mag, double bright_mag, unsigned int status)
 set sector status based upon area
void lnc_dset_set_status_dist (lnc_dataset *dset, double min_AU, double max_AU, unsigned int status)
 set sector status based upon area
lnc_tile_status lnc_dset_get_status_posn (lnc_dataset *dset, double ra, double dec, double mag)
 get sector status
lnc_tile_status lnc_dset_get_status_dist (lnc_dataset *dset, double AU)
 get sector status
lnc_ctype lnc_dset_get_field_type (lnc_dataset *dset, char *field)
 Get field type in struct.
int lnc_dset_get_field_offset (lnc_dataset *dset, char *field)
 Get field offset in struct.
int lnc_dset_for_results_do (lnc_slist *res, void(*func)(void *object, void *data), void *data)
 Do func for every object in result.


Typedef Documentation

struct lnc_dataset
 

Catalog Dataset.

The dataset container holds the tile array and it's dimensions.

Examples:
client.c, and sky2k.c.


Enumeration Type Documentation

enum enum lnc_ctype
 

C type of ASCII dataset field


Function Documentation

int lnc_dset_add_custom_field lnc_dataset dset,
char *  field
 

Add a custom field to the dataset for importing.

Parameters:
dset dataset
field Field name to add
Returns:
0 on success
Add a custom field to a dataset for import.
Examples:
client.c, and sky2k.c.

void lnc_dset_clip_dist lnc_dataset dset,
double  min_AU,
double  max_AU
 

Set dataset clipping area based on distance.

Parameters:
dset dataset
min_AU Min AU
max_AU Max AU
Clips the dataset to the within the given distance range. Note: Clipping boundaries are not exact and depend on the granularity of the dataset distance stride.

void lnc_dset_clip_posn lnc_dataset dset,
double  min_ra,
double  min_dec,
double  max_ra,
double  max_dec,
double  faint_mag,
double  bright_mag
 

Set dataset clipping area based on position.

Parameters:
dset dataset
min_ra Min RA
min_dec Min Dec
max_ra Max RA
max_dec Max Dec
faint_mag Faint Magnitude
bright_mag Bright Magnitude
Clips the dataset to the within the given position range. Note: Clipping boundaries are not exact and depend on the granularity of the dataset position strides.
Examples:
sky2k.c.

lnc_dataset * lnc_dset_create lnc_catalog *  cat,
char *  dset_name
 

Create a new dataset.

Parameters:
cat Catalog
dset_name Dataset name (dataset file name in ReadMe)
Returns:
A lnc_dataset* for success or NULL on error
Creates a dataset object.
Examples:
client.c, and sky2k.c.

int lnc_dset_for_results_do lnc_slist *  res,
void(*)(void *object, void *data)  func,
void *  data
 

Do func for every object in result.

Parameters:
res Results from get_objects
func Function to call per object in res
data Pointer to pass to func
Returns:
0 for success, negative for error
Calls func for every object in res.
Examples:
sky2k.c.

void lnc_dset_free lnc_dataset dset  ) 
 

Free's dataset and it's resources.

Parameters:
dset dataset
Free dataset resources
Examples:
client.c, and sky2k.c.

int lnc_dset_get_field_offset lnc_dataset dset,
char *  field
 

Get field offset in struct.

Parameters:
dset Dataset
field Dataset field name
Returns:
Field offset in bytes
Gets the offset in bytes for a field within a dataset.
Examples:
sky2k.c.

lnc_ctype lnc_dset_get_field_type lnc_dataset dset,
char *  field
 

Get field type in struct.

Parameters:
dset Dataset
field Dataset field name
Returns:
C type
Get the C type for a field within a dataset.

int lnc_dset_get_object_size lnc_dataset dset  ) 
 

Get dataset object size.

Returns:
size in bytes
Examples:
client.c, and sky2k.c.

int lnc_dset_get_objects lnc_dataset dset,
lnc_progress  progress,
lnc_slist **  results,
unsigned int  flags
 

Get objects from catalog based on clipping area.

int lnc_dset_get_objects (lnc_dataset* dset, lnc_progress progress, lnc_slist **result, unsigned int flags)

Parameters:
dset dataset
progress Progress callback
results dataset objects
flags Get objects flags
Returns:
number of objects, or negative for failed
Get objects from dataset based on clipping area. Results must be released with lnc_dset_put_objects() after use.
Examples:
client.c, and sky2k.c.

int lnc_dset_get_size lnc_dataset dset  ) 
 

Get dataset cache size.

Parameters:
dset dataset
Returns:
size in bytes
Get dataset memory usage.
Examples:
client.c, and sky2k.c.

lnc_tile_status lnc_dset_get_status_dist lnc_dataset dset,
double  AU
 

get sector status

Parameters:
dset Dataset
AU Distance in AU
Returns:
Status
Get the status of objects within a tile at a give distance offset.

lnc_tile_status lnc_dset_get_status_posn lnc_dataset dset,
double  ra,
double  dec,
double  mag
 

get sector status

Parameters:
dset Dataset
ra RA in degrees
dec DEC in dergrees
mag Magnitude
Get the status of objects within a tile at a give (ra,dec,mag) offset.

lnc_dset_init lnc_dataset dset,
lnc_progress  progress,
int  ra,
int  dec,
int  mag,
unsigned int  flags
 

Initialise new dataset.

Parameters:
dset dataset
progress Progress callback
ra RA stride
dec Dec stride
mag Magnitude stride
flags Init flags
Initialise a dataset. This will download and import the raw data if necessary.
Examples:
client.c, and sky2k.c.

int lnc_dset_prune lnc_dataset dset  ) 
 

free all old sectors.

Parameters:
dset dataset
Returns:
bytes free'd
Free's oldest unused object tiles.

void lnc_dset_put_objects lnc_slist *  results  ) 
 

Release slist memory from lnc_dset_get_objects().

Parameters:
results Results from lnc_dset_get_objects()
Releases resources held by the results from lnc_dset_get_objects().
Examples:
client.c, and sky2k.c.

int lnc_dset_set_alt_index lnc_dataset dset,
char *  field,
char *  alt,
int  flags
 

Set an alternative field if another field is blank.

Parameters:
dset dataset
field Primary field
alt Alternative field
flags flags
Set an alternative import field if the primary field is blank.
Examples:
sky2k.c.

void lnc_dset_set_status_dist lnc_dataset dset,
double  min_AU,
double  max_AU,
unsigned int  status
 

set sector status based upon area

Parameters:
dset Dataset
min_AU Minimum distance in AU
max_AU Maximum distance in AU
status Status flags to set
Set the status of objects within a given distance range.

void lnc_dset_set_status_posn lnc_dataset dset,
double  min_ra,
double  min_dec,
double  max_ra,
double  max_dec,
double  faint_mag,
double  bright_mag,
unsigned int  status
 

set sector status based upon area

Parameters:
dset dataset
min_ra Min RA
min_dec Min Dec
max_ra Max RA
max_dec Max Dec
faint_mag Faint Magnitude
bright_mag Bright Magnitude
status Object status
Set the status of objects within a given position range.

void lnc_dset_unclip lnc_dataset dset  ) 
 

Unclip dataset clipping area to full boundaries.

Parameters:
dset dataset
Unclip the dataset to it's full boundaries
Examples:
client.c, and sky2k.c.


Generated on Tue Jul 5 14:34:14 2005 for libncat by  doxygen 1.4.2