17#include <geos/export.h>
19#include <geos/geom/CoordinateFilter.h>
20#include <geos/geom/Coordinate.h>
55 static double robustScale(
double inherentScale,
double safeScale);
64 static double maxBoundMagnitude(
const Envelope* env);
80 static double precisionScale(
double value,
int precisionDigits);
86 static constexpr int MAX_ROBUST_DP_DIGITS = 14;
216 void updateScaleMax(
double value) {
217 double scaleVal = PrecisionUtil::inherentScale(value);
218 if (scaleVal > scale) {
231 updateScaleMax(coord->x);
232 updateScaleMax(coord->y);
235 double getScale()
const {
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition CoordinateFilter.h:43
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:88
Definition PrecisionUtil.h:210
Definition PrecisionUtil.h:47
static double inherentScale(const Geometry *geom)
static double robustScale(const Geometry *a, const Geometry *b)
static PrecisionModel robustPM(const Geometry *a, const Geometry *b)
static double safeScale(const Geometry *a, const Geometry *b)
static double inherentScale(double value)
static double robustScale(const Geometry *a)
static int numberOfDecimals(double value)
static PrecisionModel robustPM(const Geometry *a)
static double safeScale(double value)
static double inherentScale(const Geometry *a, const Geometry *b)
static double safeScale(const Geometry *geom)
Basic namespace for all GEOS functionalities.
Definition geos.h:39