public abstract class ALfnAssetMetadata extends ALfnResourceMetadata implements ILcdBounded
A representation of an asset. It contains the following parameters in addition to those defined in the superclass:
ELfnDataType
(required, must not be null
)null
).
The clipping shape's coordinates are always in the asset's geographic reference.
The clipping shape is typically more complex than the bounding box, it defines the area of the asset.
The whole clipping shape must lie within the bounding box. null
)null
)null
.
This location is distinct from the locations of the asset parts in that it does not necessarily point to a model itself, but rather to a common catalog file which also needs to be copied when putting asset sources in Tile Store.
The typical example is a CATALOG.031
file for S-57 catalogue models.
The location must include the root, if present.null
.
They will be preserved when putting asset sources in Tile Store, but they cannot be decoded as model nor metadata themselves.
The support locations must include the root, if present.
When you want to fuse data, you do not need to create instances of this class yourself.
You can delegate the creation to the available ALfnFormat
instances.
ALfnEngineEnvironment engineEnvironment = ...;
ALfnFormat format = engineEnvironment.getCompositeFormat();
String path = ...;
if ( format.canCreateAsset( path, null ) ){
ALfnAssetMetadata metadata = format.createAsset( path, null );
}
Instances of this class are immutable, thus thread-safe.
ALfnResourceMetadata
Modifier and Type | Class and Description |
---|---|
static class |
ALfnAssetMetadata.AssetPart
A part of an asset, requiring a location and a bounding box.
|
static class |
ALfnAssetMetadata.Builder<B extends ALfnAssetMetadata.Builder<B,P>,P extends ALfnAssetMetadata.AssetPart>
Abstract builder for asset metadata.
|
ISO19115_GCO_XML_NAMESPACE, ISO19115_GMD_XML_NAMESPACE, LTS_XML_NAMESPACE, NEW_UPDATE_SEQUENCE, XLINK_XML_NAMESPACE
Modifier and Type | Method and Description |
---|---|
abstract ALfnAssetMetadata.Builder<?,?> |
asBuilder()
Creates a new builder from this resource metadata.
|
boolean |
equals(Object aObject) |
List<? extends ALfnAssetMetadata.AssetPart> |
getAssetParts()
Gets the parts of this asset as a
Collection . |
ILcdBounds |
getBoundingBox()
Gets the bounding box of this asset.
|
ILcdShape |
getBoundingShape()
Deprecated.
use
getClippingShape() instead |
ILcdBounds |
getBounds()
Gets the bounding box of this asset.
|
ILcdShape |
getClippingShape()
Gets the 2D clipping shape of this asset.
|
List<TLcdSLDFeatureTypeStyle> |
getFeatureTypeStyles()
Gets the feature type styles of this asset.
|
String |
getFormat()
Returns the name (see
ALfnFormat#getName() ) of the ALfnFormat which
created this asset (for example, 'SHP'). |
ILcdGeoReference |
getGeoReference()
Gets the geographic reference of the bounding box of this asset.
|
URI |
getLocation()
Gets the catalog location, possibly
null . |
int |
getMaxScaleDenominator()
Returns the denominator of the maximum scale at which this asset should be used.
|
int |
getMinScaleDenominator()
Returns the denominator of the minimum scale at which this asset should be used.
|
URI |
getRoot()
Gets the root of the locations common to all asset parts, possibly
null . |
List<ELfnDataType> |
getSupportedCoverageTypes()
Gets the supported coverage types of this asset.
|
ELfnDataType |
getType()
Gets the type of this asset.
|
int |
hashCode() |
accept, getAbstract, getGlobalUpdateSequence, getId, getISO19115Metadata, getName, getUpdateSequence, toString
public List<? extends ALfnAssetMetadata.AssetPart> getAssetParts()
Collection
.
OGC filter property XPath: lts:AssetPart
Collection
of the parts of this asset, never
null
or emptypublic ELfnDataType getType()
getSupportedCoverageTypes()
, which represents the type(s) of the coverages this asset can be fused
in.
The supported coverage types are optional and may be empty, in which case the type is assumed to be the only
supported coverage type.
Often, the supported coverage types contain the type, but this is not necessarily so.
The most notable exception is vector data that can only be fused as image.
Some examples:
TLfnRasterAssetMetadata
with type IMAGE
.
Supported coverage types may be empty or may contain IMAGE
.TLfnRasterAssetMetadata
with type ELEVATION
.
Supported coverage types may contain both ELEVATION
and IMAGE
.TLfnVectorAssetMetadata
with type VECTOR
.
Supported coverage types may be empty or may contain VECTOR
.TLfnRasterAssetMetadata
with type VECTOR
.
Supported coverage types contains IMAGE
.ALcdImage
and which is image or elevation.
The concrete metadata instance is TLfnRasterAssetMetadata
with type IMAGE
or ELEVATION
.
Supported coverage types contains RASTER
, in addition to IMAGE
and/or ELEVATION
.ALcdImage
and which is not image nor elevation, for example multispecral
data.
The concrete metadata instance is TLfnRasterAssetMetadata
with type RASTER
.
Supported coverage types may be empty or may contain RASTER
.
OGC filter property XPath: lts:Type
null
getSupportedCoverageTypes()
public String getFormat()
Returns the name (see ALfnFormat#getName()
) of the ALfnFormat
which
created this asset (for example, 'SHP').
ALfnFormat
which created this asset, possibly null
public List<ELfnDataType> getSupportedCoverageTypes()
TLfnRasterAssetMetadata
with type IMAGE
.
Supported coverage types may be empty or may contain IMAGE
.TLfnRasterAssetMetadata
with type ELEVATION
.
Supported coverage types may contain both ELEVATION
and IMAGE
.TLfnVectorAssetMetadata
with type VECTOR
.
Supported coverage types may be empty or may contain VECTOR
.TLfnRasterAssetMetadata
with type VECTOR
.
Supported coverage types contains IMAGE
.ALcdImage
and which is image or elevation.
The concrete metadata instance is TLfnRasterAssetMetadata
with type IMAGE
or ELEVATION
.
Supported coverage types contains RASTER
, in addition to IMAGE
and/or ELEVATION
.ALcdImage
and which is not image nor elevation, for example multispecral
data.
The concrete metadata instance is TLfnRasterAssetMetadata
with type RASTER
.
Supported coverage types may be empty or may contain RASTER
.
The list returned by this method will be immutable.
The instance returned by this method will be a different one than the one passed as parameter to
ALfnAssetMetadata.Builder.supportedCoverageTypes(java.util.Collection)
.
OGC filter property XPath: lts:SupportedCoverageType
null
getType()
public ILcdGeoReference getGeoReference()
OGC filter property XPath: lts:GeoReference
null
public ILcdShape getClippingShape()
OGC filter is not supported for this property, use bounding box instead.
null
public ILcdShape getBoundingShape()
getClippingShape()
insteadpublic ILcdBounds getBoundingBox()
null
public ILcdBounds getBounds()
getBoundingBox()
, it exists solely to implement the ILcdBounded
interface.getBounds
in interface ILcdBounded
null
getBoundingBox()
public int getMinScaleDenominator()
1:denominator
.
The scale is expressed as the ratio between a distance on the displayed map and the
corresponding distance in the real geographic environment.
For instance, a scale of 1:1000
means that 1 centimeter on the map corresponds
to 1000 centimeters in the real geographic context represented by the map.
By default, the minimum scale denominator is -1
, meaning "unlimited" (corresponds to a scale of 0).
Use minimum scale denominators on assets to limit their visible range in the fused coverage. When applied correctly, this effectively limits the number of high-detailed assets that need to be loaded in order to fuse low-detailed tiles, thus avoiding memory problems.
-1
if undefined (unlimited)public int getMaxScaleDenominator()
1:denominator
.
The scale is expressed as the ratio between a distance on the displayed map and the
corresponding distance in the real geographic environment.
For instance, a scale of 1:1000
means that 1 centimeter on the map corresponds
to 1000 centimeters in the real geographic context represented by the map.
By default, the maximum scale denominator is -1
, meaning "unlimited" (corresponds to an infinite scale).
-1
if undefined (unlimited)public URI getRoot()
null
.
This root is used to relativize the locations.null
ALfnAssetMetadata.AssetPart.getRoot()
public URI getLocation()
null
. There can be at most a single such location.
The catalog location is the equivalent of a catalog source name that can be given to a model decoder to decode a (catalog) model.
This is different from the locations of the individual asset parts.
This is different from the support locations, because the latter can never be decoded into a model.
The S-57 structure for example fits into this metadata model like so:
CATALOG.031:
the asset metadata's locationABCXCDV.000:
the cell files, each of which is the location of an asset partpublic List<TLcdSLDFeatureTypeStyle> getFeatureTypeStyles()
OGC filter property XPath: lts:FeatureTypeStyle
This property can be used with the OGC filter
bounding box operator.
null
public abstract ALfnAssetMetadata.Builder<?,?> asBuilder()
ALfnResourceMetadata
asBuilder
in class ALfnResourceMetadata
public boolean equals(Object aObject)
equals
in class ALfnResourceMetadata
public int hashCode()
hashCode
in class ALfnResourceMetadata