MySQL 8.3.0
Source Code Documentation
gis::Coordinate_range_visitor Class Reference

A visitor that checks if coordinates are within range for a spatial reference system. More...

#include <coordinate_range_visitor.h>

Inheritance diagram for gis::Coordinate_range_visitor:
[legend]

Public Member Functions

 Coordinate_range_visitor (const dd::Spatial_reference_system *srs)
 Construct a new coordinate range visitor. More...
 
bool longitude_out_of_range () const
 Check if the visitor has detected any out of range longitude values. More...
 
bool latitude_out_of_range () const
 Check if the visitor has detected any out of range latitude values. More...
 
double coordinate_value () const
 Get the coordinate value that is out of range. More...
 
bool visit_enter (Geometry *) override
 Enters a compound geometry. More...
 
bool visit (Point *pt) override
 
bool visit_enter (Geometry *) override
 Enters a compound geometry. More...
 
bool visit_enter (Curve *c) override
 
bool visit_enter (Linestring *ls) override
 
bool visit_enter (Linearring *lr) override
 
bool visit_enter (Surface *s) override
 
bool visit_enter (Polygon *py) override
 
bool visit_enter (Geometrycollection *gc) override
 
bool visit_enter (Multipoint *mpt) override
 
bool visit_enter (Multicurve *mc) override
 
bool visit_enter (Multilinestring *mls) override
 
bool visit_enter (Multisurface *ms) override
 
bool visit_enter (Multipolygon *mpy) override
 
bool visit (Geometry *) override
 Visits a geometry. More...
 
bool visit (Point *pt) override
 
bool visit (Curve *c) override
 
bool visit (Linestring *ls) override
 
bool visit (Linearring *lr) override
 
bool visit (Surface *s) override
 
bool visit (Polygon *py) override
 
bool visit (Geometrycollection *gc) override
 
bool visit (Multipoint *mpt) override
 
bool visit (Multicurve *mc) override
 
bool visit (Multilinestring *mls) override
 
bool visit (Multisurface *ms) override
 
bool visit (Multipolygon *mpy) override
 
- Public Member Functions inherited from gis::Nop_visitor
bool visit_leave (Geometry *) override
 Leaves a compound geometry. More...
 
bool visit_leave (Curve *c) override
 
bool visit_leave (Linestring *ls) override
 
bool visit_leave (Linearring *lr) override
 
bool visit_leave (Surface *s) override
 
bool visit_leave (Polygon *py) override
 
bool visit_leave (Geometrycollection *gc) override
 
bool visit_leave (Multipoint *mpt) override
 
bool visit_leave (Multicurve *mc) override
 
bool visit_leave (Multilinestring *mls) override
 
bool visit_leave (Multisurface *ms) override
 
bool visit_leave (Multipolygon *mpy) override
 
- Public Member Functions inherited from gis::Geometry_visitor
 Geometry_visitor ()=default
 
virtual ~Geometry_visitor ()=default
 

Private Attributes

const dd::Spatial_reference_systemm_srs
 Spatial reference system of the geometry. More...
 
bool m_detected_longitude
 Whether an out of range longitude value has been encountered. More...
 
bool m_detected_latitude
 Whether an out of range latitude value has been encountered. More...
 
double m_coordinate
 The coordinate value that is out of range, in SRS unit. More...
 

Detailed Description

A visitor that checks if coordinates are within range for a spatial reference system.

If a coordinate value is found to be out of range, the visitor returns true. Otherwise, it returns false.

Checking stops on the first value found to be out of range. Cartesian coordinates are always within range.

Constructor & Destructor Documentation

◆ Coordinate_range_visitor()

gis::Coordinate_range_visitor::Coordinate_range_visitor ( const dd::Spatial_reference_system srs)
inline

Construct a new coordinate range visitor.

Parameters
srsThe spatial reference system of the geometry.

Member Function Documentation

◆ coordinate_value()

double gis::Coordinate_range_visitor::coordinate_value ( ) const
inline

Get the coordinate value that is out of range.

Returns
The coordinate value in the SRS unit.

◆ latitude_out_of_range()

bool gis::Coordinate_range_visitor::latitude_out_of_range ( ) const
inline

Check if the visitor has detected any out of range latitude values.

Return values
trueAt least one out of range latitude value.
falseAll latitude values are within range.

◆ longitude_out_of_range()

bool gis::Coordinate_range_visitor::longitude_out_of_range ( ) const
inline

Check if the visitor has detected any out of range longitude values.

Return values
trueAt least one out of range longitude value.
falseAll longitude values are within range.

◆ visit() [1/14]

bool gis::Nop_visitor::visit ( Curve c)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [2/14]

bool gis::Nop_visitor::visit ( Geometry g)
inlineoverridevirtual

Visits a geometry.

This is called on each non-compound geometry and between visiting descendants. E.g., visit(Linestring *) will be called after visiting the first point in the linestring, then after visiting the second, etc., but not after visiting the last point.

Parameters
gThe geometry to visit.
Return values
trueAbort visitor execution.
falseContinue visitor execution.

Reimplemented from gis::Nop_visitor.

◆ visit() [3/14]

bool gis::Nop_visitor::visit ( Geometrycollection gc)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [4/14]

bool gis::Nop_visitor::visit ( Linearring lr)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [5/14]

bool gis::Nop_visitor::visit ( Linestring ls)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [6/14]

bool gis::Nop_visitor::visit ( Multicurve mc)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [7/14]

bool gis::Nop_visitor::visit ( Multilinestring mls)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [8/14]

bool gis::Nop_visitor::visit ( Multipoint mpt)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [9/14]

bool gis::Nop_visitor::visit ( Multipolygon mpy)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [10/14]

bool gis::Nop_visitor::visit ( Multisurface ms)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [11/14]

bool gis::Nop_visitor::visit ( Point pt)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [12/14]

bool gis::Coordinate_range_visitor::visit ( Point pt)
inlineoverridevirtual

Implements gis::Geometry_visitor.

◆ visit() [13/14]

bool gis::Nop_visitor::visit ( Polygon py)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit() [14/14]

bool gis::Nop_visitor::visit ( Surface s)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [1/13]

bool gis::Nop_visitor::visit_enter ( Curve c)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [2/13]

bool gis::Nop_visitor::visit_enter ( Geometry g)
inlineoverridevirtual

Enters a compound geometry.

This is called on entry to a compound geometry, i.e., all geometries except points.

Parameters
gThe geometry to visit.
Return values
trueDon't descend into children.
falseDescend into children.

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [3/13]

bool gis::Coordinate_range_visitor::visit_enter ( Geometry g)
inlineoverridevirtual

Enters a compound geometry.

This is called on entry to a compound geometry, i.e., all geometries except points.

Parameters
gThe geometry to visit.
Return values
trueDon't descend into children.
falseDescend into children.

Implements gis::Geometry_visitor.

◆ visit_enter() [4/13]

bool gis::Nop_visitor::visit_enter ( Geometrycollection gc)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [5/13]

bool gis::Nop_visitor::visit_enter ( Linearring lr)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [6/13]

bool gis::Nop_visitor::visit_enter ( Linestring ls)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [7/13]

bool gis::Nop_visitor::visit_enter ( Multicurve mc)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [8/13]

bool gis::Nop_visitor::visit_enter ( Multilinestring mls)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [9/13]

bool gis::Nop_visitor::visit_enter ( Multipoint mpt)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [10/13]

bool gis::Nop_visitor::visit_enter ( Multipolygon mpy)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [11/13]

bool gis::Nop_visitor::visit_enter ( Multisurface ms)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [12/13]

bool gis::Nop_visitor::visit_enter ( Polygon py)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [13/13]

bool gis::Nop_visitor::visit_enter ( Surface s)
inlineoverridevirtual

Reimplemented from gis::Nop_visitor.

Member Data Documentation

◆ m_coordinate

double gis::Coordinate_range_visitor::m_coordinate
private

The coordinate value that is out of range, in SRS unit.

◆ m_detected_latitude

bool gis::Coordinate_range_visitor::m_detected_latitude
private

Whether an out of range latitude value has been encountered.

◆ m_detected_longitude

bool gis::Coordinate_range_visitor::m_detected_longitude
private

Whether an out of range longitude value has been encountered.

◆ m_srs

const dd::Spatial_reference_system* gis::Coordinate_range_visitor::m_srs
private

Spatial reference system of the geometry.


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