QgsCoordinateFormatter class

Contains methods for converting coordinates for display in various formats.

QgsCoordinateFormatter contains static methods for converting numeric coordinates into different formats, for instance as degrees, minutes, seconds values. Note that QgsCoordinateFormatter has no consideration for the validity of converting coordinates to the various display formats, and it is up to the caller to ensure that sensible formats are used for particular coordinates. For instance, ensuring that only geographic coordinates and not projected coordinates are formatted to degree based formats.

Public types

enum Format { FormatPair, FormatDegreesMinutesSeconds, FormatDegreesMinutes, FormatDecimalDegrees }
Available formats for displaying coordinates.
enum FormatFlag { FlagDegreesUseStringSuffix = 1 << 1, FlagDegreesPadMinutesSeconds = 1 << 2 }
Flags for controlling formatting of coordinates.

Public static functions

static auto asPair(double x, double y, int precision = 12) -> QString
Formats coordinates as an "\a x,\a y" pair, with optional decimal precision (number of decimal places to include).
static auto format(const QgsPointXY& point, Format format, int precision = 12, FormatFlags flags = FlagDegreesUseStringSuffix) -> QString
Formats a point according to the specified parameters.
static auto formatX(double x, Format format, int precision = 12, FormatFlags flags = FlagDegreesUseStringSuffix) -> QString
Formats an x coordinate value according to the specified parameters.
static auto formatY(double y, Format format, int precision = 12, FormatFlags flags = FlagDegreesUseStringSuffix) -> QString
Formats a y coordinate value according to the specified parameters.

Enum documentation

enum QgsCoordinateFormatter::Format

Available formats for displaying coordinates.

Enumerators
FormatPair

Formats coordinates as an "x,y" pair.

FormatDegreesMinutesSeconds

Degrees, minutes and seconds, eg 30 degrees 45'30".

FormatDegreesMinutes

Degrees and decimal minutes, eg 30degrees 45.55'.

FormatDecimalDegrees

Decimal degrees, eg 30.7555 degrees.

enum QgsCoordinateFormatter::FormatFlag

Flags for controlling formatting of coordinates.

Enumerators
FlagDegreesUseStringSuffix

Include a direction suffix (eg 'N', 'E', 'S' or 'W'), otherwise a "-" prefix is used for west and south coordinates.

FlagDegreesPadMinutesSeconds

Pad minute and second values with leading zeros, eg '05' instead of '5'.

Function documentation

static QString QgsCoordinateFormatter::format(const QgsPointXY& point, Format format, int precision = 12, FormatFlags flags = FlagDegreesUseStringSuffix)

Formats a point according to the specified parameters.

The format argument indicates the desired display format for the coordinate.

The precision argument gives the number of decimal places to include for coordinates.

Optional flags can be specified to control the output format.

static QString QgsCoordinateFormatter::formatX(double x, Format format, int precision = 12, FormatFlags flags = FlagDegreesUseStringSuffix)

Formats an x coordinate value according to the specified parameters.

The format argument indicates the desired display format for the coordinate.

The precision argument gives the number of decimal places to include for coordinates.

Optional flags can be specified to control the output format.

static QString QgsCoordinateFormatter::formatY(double y, Format format, int precision = 12, FormatFlags flags = FlagDegreesUseStringSuffix)

Formats a y coordinate value according to the specified parameters.

The format argument indicates the desired display format for the coordinate.

The precision argument gives the number of decimal places to include for coordinates.

Optional flags can be specified to control the output format.