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
RVC::GEOMETRICRVC::IMAGERVC::OBJECTSUBJECT\< OBJECTOBSERVER \>SUBJECTBASESUBJECT\< _CT \>RVC::CADRVC::GEOMREGIONRVC::GEOTABLERVC::SHAPERVC::TINRVC::VECTORRVC::HYPERSPECTRALRVC::NULLMASKRVC::OPACITYMASKRVC::RASTERRVC::MULTIRASTER
[legend]
List of all members.

Public Types

enum  CAPABILITY {
  CAPABILITY_None = 0, CAPABILITY_RandomAccess = 256, CAPABILITY_CanBeModified, CAPABILITY_LoginRequired,
  CAPABILITY_PreferKeepOpen
}
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

ERRVALUE CheckGeorefName (RVC::OBJECTNAME &GeorefName)
DEPRECATED INT32 ComputeObjectScale (double &xscale, double &yscale) const
INT32 ComputeObjectScale (RVC::GEOREFERENCE &ObjGeoref, double &xscale, double &yscale, bool ConvertToMeters) const
ERRVALUE ComputeObjectTranslation (const RVC::GEOSPATIAL &ObjTarget, TRANS2D_MAPGEN &SrcToDest)
DEPRECATED ERRVALUE ComputeScaleFromGeoref (const RVC::GEOREFERENCE &DftGeoref, double &xscale, double &yscale) const
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)
 GEOSPATIAL (const RVC::GEOSPATIAL &rhs)
 GEOSPATIAL ()
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 SetObjectScale (double xscale, double yscale, bool onlyifzero)
ERRVALUE SetScaleFromGeoref (RVC::GEOREFERENCE &GeorefObj, bool onlyifzero)
void SetZOffset (double zoffset)
void SetZScale (double zscale)
virtual ~GEOSPATIAL ()=0

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)

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 by extents the initial object. More...
class  GETOBJFILTER_ISSELECTABLE
 Geospatial object selection filter to disallow selection of non geospatial objects. More...

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

Definition at line 156 of file geospatl.h.


Member Enumeration Documentation

enum RVC::GEOSPATIAL::CAPABILITY

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.

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

Definition at line 167 of file geospatl.h.

enum RVC::GEOSPATIAL::MAKELINKFLAGS

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.

Definition at line 175 of file geospatl.h.

enum RVC::GEOSPATIAL::OBJECTREGIONFLAGS

Enumerator:
OBJECTREGION_Default 
OBJECTREGION_UseGeorefModel  Use warping model specified by georeference.
OBJECTREGION_ForceArbitrary  Force region to use arbitrary.

Definition at line 186 of file geospatl.h.


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

DEPRECATED INT32 RVC::GEOSPATIAL::ComputeObjectScale ( double &  xscale,
double &  yscale 
) const

Compute object scale from default georeference in meters per object unit.

Deprecated:
Use variant specifying GEOREFERENCE and whether to convert to meters or not
Returns:
0 if used value in obj hdr, 1 if used georef, -1 if no scale, < -1 if error
Parameters:
xscale  X scale or cellsize returned in meters per object unit
yscale  Y scale or cellsize returned in meters per object unit

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.

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

Compute object scale from georeference.

Deprecated:
Use variant specifying whether to convert to meters or not 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 in meters per object unit
yscale  Y scale or cellsize returned in meters per object unit

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

Definition at line 303 of file geospatl.h.

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

Definition at line 340 of file geospatl.h.

double RVC::GEOSPATIAL::GetZOffset (  )  const [inline]

Determine derived rvc class object z offset value.

Returns:
Object Z offset value

Definition at line 347 of file geospatl.h.

double RVC::GEOSPATIAL::GetZScale (  )  const [inline]

Determine derived rvc class object z scale value.

Returns:
Object Z scale value

Definition at line 352 of file geospatl.h.

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::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.

Definition at line 374 of file geospatl.h.

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

Set object Z value.

Definition at line 379 of file geospatl.h.


The documentation for this class was generated from the following file:
Generated on Thu Apr 26 04:49:00 2007 for TNTsdk by  doxygen 1.5.2