Outdated Version

You are viewing an older version of this section. View current production version.

GEOGRAPHY_POINT

Constructor function. This function takes two floats or doubles and returns a GeographyPoint type. Since all of MemSQL’s topological and measurement functions can equally understand :ref:WKT strings <geospatial_wkt_syntax> and geospatial objects, this constructor is mainly for convenience.

GEOGRAPHY_POINT ( longitude, latitude )

Arguments

  • longitude: float or double describing the longitude in degrees. Values outside of the range [-180, 180] will be wrapped around.
  • latitude: float or double describing the latitude in degrees. Values outside of the range [-90, 90] will trigger an error.

Return Type

A GeographyPoint object.

Examples

In this example, we use a “persisted” computed column to create an indexed GeographyPoint from a pair of floats. This technique is useful for bulk-loading geospatial data.

memsql> create table foo (
    ->    id int unsigned primary key,
    ->    lon float,
    ->    lat float,
    ->    location as geography_point(lon, lat) persisted geographypoint,
    ->    index(location)
    -> );
memsql> insert into foo values (1, 50.01, 40.01);
memsql> select * from foo;
+----+-------+-------+--------------------------------+
| id | lon   | lat   | location                       |
+----+-------+-------+--------------------------------+
|  1 | 50.01 | 40.01 | POINT(50.00999831 40.00999832) |
+----+-------+-------+--------------------------------+
1 row in set (0.00 sec)