#### Description:

This function creates a new StcObsDataLocation and optionally initialises its attributes.

The StcObsDataLocation class is a sub-class of Stc used to describe the coverage of the datasets contained in some VO resource.

See http://hea-www.harvard.edu/ ∼arots/nvometa/STC.html

#### Synopsis

AstStcObsDataLocation ∗astStcObsDataLocation( AstRegion ∗region, int ncoords, AstKeyMap ∗coords[], const char ∗options, ... )

#### Parameters:

##### region

Pointer to the encapsulated Region.

##### ncoords

The length of the `"` coords`"` array. Supply zero if `"` coords`"` is NULL.

##### coords

Pointer to an array holding `"` ncoords`"` AstKeyMap pointers (if `"` ncoords`"` is zero, the supplied value is ignored). Each supplied KeyMap describes the contents of a single STC <AstroCoords > element, and should have elements with keys given by constants AST__STCNAME, AST__STCVALUE, AST__STCERROR, AST__STCRES, AST__STCSIZE, AST__STCPIXSZ. Any of these elements may be omitted, but no other elements should be included. If supplied, the AST__STCNAME element should be a vector of character string pointers holding the `"` Name`"` item for each axis in the coordinate system represented by `"` region`"` . Any other supplied elements should be scalar elements, each holding a pointer to a Region describing the associated item of ancillary information (error, resolution, size, pixel size or value). These Regions should describe a volume within the coordinate system represented by `"` region`"` .

##### options

Pointer to a null-terminated string containing an optional comma-separated list of attribute assignments to be used for initialising the new StcObsDataLocation. The syntax used is identical to that for the astSet function and may include `"` printf`"` format specifiers identified by `"` %`"` symbols in the normal way.

##### ...

If the `"` options`"` string contains `"` %`"` format specifiers, then an optional list of additional arguments may follow it in order to supply values to be substituted for these specifiers. The rules for supplying these are identical to those for the astSet function (and for the C `"` printf`"` function).

#### Returned Value

##### astStcObsDataLocation()

A pointer to the new StcObsDataLocation.

#### Notes:

- A deep copy is taken of the supplied Region. This means that any subsequent changes made to the encapsulated Region using the supplied pointer will have no effect on the Stc.

- A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.

Copyright (C) 2021 East Asian Observatory