Interface for RVC objects that support a georeferences paradigm. More...
#include <rvc/geospatl.h>

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 ®ion, OBJECTREGIONFLAGS flags=OBJECTREGION_Default) const |
| ERRVALUE | GetObjectRegion (RVC::GEOREFERENCE &GeorefObj, REGION2D ®ion, 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::GEOSPATIAL * | GetGeospatial (const RVC::OBJITEM &ObjItem) |
| static RVC::GEOSPATIAL * | GetGeospatial (const RVC::OBJECT &obj) |
| static RVC::OBJTYPESET | GetObjTypeSet () |
| static bool | IsGeospatial (RVC::OBJTYPE ObjType) |
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
Reimplemented in RVC::GEOMETRIC, and RVC::IMAGE.
| RVC::GEOSPATIAL::GEOSPATIAL | ( | ) |
Default constructor.
| RVC::GEOSPATIAL::GEOSPATIAL | ( | const RVC::GEOSPATIAL & | rhs | ) |
Copy constructor.
| virtual RVC::GEOSPATIAL::~GEOSPATIAL | ( | ) | [pure virtual] |
Destructor.
| 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.
| 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.
| 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.
| 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.
| GeorefObj | Georeference object to check |
| void RVC::GEOSPATIAL::GetExtents | ( | DRECT3D & | extents | ) | const [inline] |
Obtain extents of derived class in rvc object coordinates.
| 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.
| 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.
| 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.
| 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.
| 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.
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.
| 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.
| double RVC::GEOSPATIAL::GetZScale | ( | ) | const [inline] |
Determine derived rvc class 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.
| 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.
| 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.
1.6.1