RVC::GEOSPATIAL Class Reference

Interface for RVC objects that support a georeferences paradigm. More...

#include <rvc/geospatl.h>

Inheritance diagram for RVC::GEOSPATIAL:
Inheritance graph
[legend]

List of all members.

Classes

class  GETOBJFILTER_HASGEOREFERENCE
 Geospatial object selection filter to disallow selection of non-georeferenced geospatial objects. More...
class  GETOBJFILTER_HASNOGEOREFERENCE
 Geospatial object selection filter to disallow selection of already georeferenced geospatial objects. More...
class  GETOBJFILTER_HASNONLOCALGEOREFERENCE
 Geospatial object selection filter to disallow selection of non-georeferenced or local / engineering georeferenced geospatial objects. More...
class  GETOBJFILTER_ISOVERLAPPING
 Geospatial object selection filter to allow selection of objects that overlap extents of specified reference object. More...
class  GETOBJFILTER_ISSELECTABLE
 Geospatial object selection filter to disallow selection of non geospatial objects. More...

Public Types

enum  CAPABILITY {
  CAPABILITY_None = 0, CAPABILITY_RandomAccess = 256, CAPABILITY_CanBeModified, CAPABILITY_LoginRequired,
  CAPABILITY_PreferKeepOpen, CAPABILITY_CanGenerateRegion, CAPABILITY_NeedScanAutoLink, CAPABILITY_ScanDoesGenerateRegion,
  CAPABILITY_ScanDoesBuildIndex
}
enum  MAKELINKFLAGS {
  MAKELINKFLAG_None = 0x0000, MAKELINKFLAG_NoGeoreference = 0x0001, MAKELINKFLAG_NoPyramidLinks = 0x0002, MAKELINKFLAG_BuildHistograms = 0x0004,
  MAKELINKFLAG_BuildPyramids = 0x0008, MAKELINKFLAG_NoContrastTables = 0x0010, MAKELINKFLAG_ColorComposite = 0x0020, MAKELINKFLAG_ColorSeparate = 0x0040
}
enum  OBJECTREGIONFLAGS { OBJECTREGION_Default = 0x0000, OBJECTREGION_UseGeorefModel = 0x0001, OBJECTREGION_ForceArbitrary = 0x0002 }

Public Member Functions

 GEOSPATIAL (const RVC::GEOSPATIAL &rhs)
 GEOSPATIAL ()
virtual ~GEOSPATIAL ()=0
ERRVALUE CheckGeorefName (RVC::OBJECTNAME &GeorefName)
INT32 ComputeObjectScale (RVC::GEOREFERENCE &ObjGeoref, double &xscale, double &yscale, bool ConvertToMeters) const
ERRVALUE ComputeObjectTranslation (const RVC::GEOSPATIAL &ObjTarget, TRANS2D_MAPGEN &SrcToDest)
ERRVALUE ComputeScaleFromGeoref (const RVC::GEOREFERENCE &DftGeoref, double &xscale, double &yscale, bool ConvertToMeters) const
ERRVALUE CopyGeorefTo (const RVC::GEOSPATIAL &DestObj, const TRANS2D_MAPGEN &SrcToDest)
ERRVALUE CopyGeorefTo (const RVC::GEOSPATIAL &DestObj, const TRANS2D_AFFINE &SrcToDest)
ERRVALUE CopyGeorefTo (const RVC::GEOSPATIAL &DestObj)
int GetDefaultGeoref (RVC::GEOREFERENCE &GeorefObj) const
void GetExtents (DRECT3D &extents) const
ERRVALUE GetObjectMapRegion (RVC::GEOREFERENCE &GeorefObj, REGION2D &region, OBJECTREGIONFLAGS flags=OBJECTREGION_Default) const
ERRVALUE GetObjectRegion (RVC::GEOREFERENCE &GeorefObj, REGION2D &region, TRANS2D_MAPGEN &ObjectToMap, OBJECTREGIONFLAGS flags=OBJECTREGION_Default) const
void GetScale (double &xscale, double &yscale) const
double GetZOffset () const
double GetZScale () const
bool HasCapability (int Capability) const
ERRVALUE ScanAutoLink ()
ERRVALUE SetObjectScale (double xscale, double yscale, bool onlyifzero)
ERRVALUE SetScaleFromGeoref (RVC::GEOREFERENCE &GeorefObj, bool onlyifzero)
void SetZOffset (double zoffset)
void SetZScale (double zscale)

Static Public Member Functions

static RVC::GEOSPATIALGetGeospatial (const RVC::OBJITEM &ObjItem)
static RVC::GEOSPATIALGetGeospatial (const RVC::OBJECT &obj)
static RVC::OBJTYPESET GetObjTypeSet ()
static bool IsGeospatial (RVC::OBJTYPE ObjType)

Detailed Description

Interface for RVC objects that support a georeferences paradigm.

This includes methods to get the scale, offset, and retrieving the correct georeference.

RVC Object Types that this class supports: Derived class

Default RVC Object Type for this class: Derived class

Valid parents for this class: Derived class


Member Enumeration Documentation

Enumerator:
CAPABILITY_None 
CAPABILITY_RandomAccess 

Object is capable of random access to elements.

CAPABILITY_CanBeModified 

Object can be modified.

CAPABILITY_LoginRequired 

A login ( username and password ) is required to access this object.

CAPABILITY_PreferKeepOpen 

It is more optimal to keep this object open if possible.

CAPABILITY_CanGenerateRegion 

The geospatial object can generate a exterior region of itself in O(n) time.

CAPABILITY_NeedScanAutoLink 

Must scan autolinked object when first linked.

CAPABILITY_ScanDoesGenerateRegion 

Scan does generate region.

CAPABILITY_ScanDoesBuildIndex 

Scan does build spatial index.

Reimplemented in RVC::GEOMETRIC, and RVC::IMAGE.

Enumerator:
MAKELINKFLAG_None 
MAKELINKFLAG_NoGeoreference 

Don't create georeference subobjects.

MAKELINKFLAG_NoPyramidLinks 

Don't create raster pyramid tier links.

MAKELINKFLAG_BuildHistograms 

Build raster histogram subobjects when make link.

MAKELINKFLAG_BuildPyramids 

Build raster pyramid tiers when make link.

MAKELINKFLAG_NoContrastTables 

Don't create raster contrast tables.

MAKELINKFLAG_ColorComposite 

Create raster links as color-composite (RGB) where appropriate.

MAKELINKFLAG_ColorSeparate 

Create raster links as color separates where appropriate.

Enumerator:
OBJECTREGION_Default 
OBJECTREGION_UseGeorefModel 

Use warping model specified by georeference.

OBJECTREGION_ForceArbitrary 

Force region to use arbitrary.


Constructor & Destructor Documentation

RVC::GEOSPATIAL::GEOSPATIAL (  ) 

Default constructor.

RVC::GEOSPATIAL::GEOSPATIAL ( const RVC::GEOSPATIAL rhs  ) 

Copy constructor.

virtual RVC::GEOSPATIAL::~GEOSPATIAL (  )  [pure virtual]

Destructor.


Member Function Documentation

ERRVALUE RVC::GEOSPATIAL::CheckGeorefName ( RVC::OBJECTNAME GeorefName  ) 

Check if the georeference object name exists under this object Will get the default georeference if the named object does not exist.

Parameters:
GeorefName Changed if default georef is searched for
INT32 RVC::GEOSPATIAL::ComputeObjectScale ( RVC::GEOREFERENCE ObjGeoref,
double &  xscale,
double &  yscale,
bool  ConvertToMeters 
) const

Compute object scale from specified or default georeference.

If ObjGeoref is not attached the default georeference will be used and returned.

Returns:
-1 if no scale available, 0 if no georeference, 1 if georeference, < -1 if error
Parameters:
ObjGeoref Georeference object used passed/returned
xscale X scale or cellsize returned
yscale Y scale or cellsize returned
ConvertToMeters Return scale in meters per object unit
ERRVALUE RVC::GEOSPATIAL::ComputeObjectTranslation ( const RVC::GEOSPATIAL ObjTarget,
TRANS2D_MAPGEN SrcToDest 
)

Compute a translation between the source (this) and the target (ObjTarget) This function will return an EBadFuncParm error if either object has an arbitrary georeference and the other does not.

ERRVALUE RVC::GEOSPATIAL::ComputeScaleFromGeoref ( const RVC::GEOREFERENCE DftGeoref,
double &  xscale,
double &  yscale,
bool  ConvertToMeters 
) const

Compute object scale from georeference Specified georeference object must be attached or an error will be returned.

Parameters:
DftGeoref Attached georeference object to use
xscale X scale or cellsize returned
yscale Y scale or cellsize returned
ConvertToMeters Return scale in meters per object unit
ERRVALUE RVC::GEOSPATIAL::CopyGeorefTo ( const RVC::GEOSPATIAL DestObj,
const TRANS2D_MAPGEN SrcToDest 
)

Copy the "default" georeference from the source to the destination using the supplied translation for the georeference.

If no georeference exists under the Source object, an arbitrary georeference will be created under both the Source and Dest so that they match.

ERRVALUE RVC::GEOSPATIAL::CopyGeorefTo ( const RVC::GEOSPATIAL DestObj,
const TRANS2D_AFFINE SrcToDest 
)

Copy the "default" georeference from the source to the destination using the supplied translation for the georeference.

If no georeference exists under the Source object, an arbitrary georeference will be created under both the Source and Dest so that they match.

ERRVALUE RVC::GEOSPATIAL::CopyGeorefTo ( const RVC::GEOSPATIAL DestObj  ) 

Copy the "default" georeference from the source to the destination using the extents of the two objects to compute a translation for the georeference.

If the Source or Dest is an RVC::IMAGE instance, the center of the cells will be used. This method assumes that the Source and Dest objects extents are valid. If no georeference exists under the Source object, an arbitrary georeference will be created under both the Source and Dest so that they match.

int RVC::GEOSPATIAL::GetDefaultGeoref ( RVC::GEOREFERENCE GeorefObj  )  const

Determine if georeference is valid, if not, get default georeference.

If a georeference is found, it will be read into 'GeorefObj' and method will return TRUE. If not found, 'GeorefObj' will be set up with an arbitrary georeference and will return FALSE.

Returns:
TRUE if found existing object, FALSE if not, < 0 if error.
Parameters:
GeorefObj Georeference object to check
void RVC::GEOSPATIAL::GetExtents ( DRECT3D extents  )  const [inline]

Obtain extents of derived class in rvc object coordinates.

Parameters:
extents Extents of rvc object RETURNED
static RVC::GEOSPATIAL* RVC::GEOSPATIAL::GetGeospatial ( const RVC::OBJITEM ObjItem  )  [static]

Obtain a geospatial type beased on the rvc object type.

Returns:
Pointer to created RVCGEOSPATIAL type (Vector, CAD, Raster, ...) that "obj" refers to, 0 if invalid rvc object
Parameters:
ObjItem Base RVC::OBJITEM instance to create derived rvc class object from
static RVC::GEOSPATIAL* RVC::GEOSPATIAL::GetGeospatial ( const RVC::OBJECT obj  )  [static]

Obtain a geospatial type beased on the rvc object type.

Returns:
Pointer to created RVCGEOSPATIAL type (Vector, CAD, Raster, ...) that "obj" refers to, 0 if invalid rvc object
Parameters:
obj Base rvc object instance to create derived rvc class object from
ERRVALUE RVC::GEOSPATIAL::GetObjectMapRegion ( RVC::GEOREFERENCE GeorefObj,
REGION2D region,
OBJECTREGIONFLAGS  flags = OBJECTREGION_Default 
) const

Get the region defined by the georeference parameter.

Parameters:
GeorefObj If not attached, it will look for the default georeference
region The region to fill in, its Coordinate Reference System will be set
ERRVALUE RVC::GEOSPATIAL::GetObjectRegion ( RVC::GEOREFERENCE GeorefObj,
REGION2D region,
TRANS2D_MAPGEN ObjectToMap,
OBJECTREGIONFLAGS  flags = OBJECTREGION_Default 
) const

Get the region defined by this object.

Parameters:
GeorefObj If not attached, it will look for the default georeference
region The region to fill in, its Coordinate Reference System will be set if the georeference is IMPLIED
ObjectToMap Setup input side as object to map transformation
static RVC::OBJTYPESET RVC::GEOSPATIAL::GetObjTypeSet (  )  [static]

Get correct OBJTYPESET for all geospatial OBJTYPE's.

Returns:
OBJTYPESET for all geospatial OBJTYPE's

Reimplemented in RVC::GEOMETRIC, and RVC::IMAGE.

void RVC::GEOSPATIAL::GetScale ( double &  xscale,
double &  yscale 
) const [inline]

Determine derived rvc class object x and y scale values.

Parameters:
xscale X scale of object RETURNED
yscale Y scale of object RETURNED
double RVC::GEOSPATIAL::GetZOffset (  )  const [inline]

Determine derived rvc class object z offset value.

Returns:
Object Z offset value
double RVC::GEOSPATIAL::GetZScale (  )  const [inline]

Determine derived rvc class object z scale value.

Returns:
Object Z scale value
bool RVC::GEOSPATIAL::HasCapability ( int  Capability  )  const

Determine if the capability requested is supported by the object.

The object could be a RVC object or a link to another file Only one capability at a time can be queried using the method.

Returns:
'True' if the object supports the capability, 'false' if not
Parameters:
Capability CAPABILITY enums from this and derived classes
static bool RVC::GEOSPATIAL::IsGeospatial ( RVC::OBJTYPE  ObjType  )  [static]

Determine if the object type is a geospatial object.

ERRVALUE RVC::GEOSPATIAL::ScanAutoLink (  )  [inline]

Perform autolink optimization.

ERRVALUE RVC::GEOSPATIAL::SetObjectScale ( double  xscale,
double  yscale,
bool  onlyifzero 
)

Set object scale.

Parameters:
xscale X scale to set in object
yscale Y scale to set in object
onlyifzero Set if only zero?
ERRVALUE RVC::GEOSPATIAL::SetScaleFromGeoref ( RVC::GEOREFERENCE GeorefObj,
bool  onlyifzero 
)

Set object scale from georeference.

void RVC::GEOSPATIAL::SetZOffset ( double  zoffset  )  [inline]

Set object Z offset.

void RVC::GEOSPATIAL::SetZScale ( double  zscale  )  [inline]

Set object Z value.


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

Generated on Sun Oct 7 21:37:27 2012 for TNTsdk 2012 by  doxygen 1.6.1