mysql 中的几何和地理数据类型

Geometry and Geography data types in mysql

Sql 服务器具有空间数据类型几何和地理。在 mysql 中有可用的几何类型,但我在 mysql 中没有找到 mysql 地理。

我要检查位置(纬度、经度)与多边形地理围栏的交集。我在 java 中完成了此操作,但该解决方案太慢了。因此,在 sql 服务器数据库中,我使用地理数据类型来存储多边形地理围栏点数据。这给了我更快的结果。

在 mysql 中我找不到地理数据类型。纬度和经度代表角度。

如果我使用几何数据类型来存储多边形地理信息怎么办 mysql?

中的点(纬度、经度)

它会给我与地理相同的结果吗?

是的,它在 MYSQL 中。您可以寻找 11.5.1 Spatial Data Types

MySQL has data types that correspond to OpenGIS classes. Some of these types hold single geometry values:

  • GEOMETRY
  • POINT
  • LINESTRING
  • POLYGON

GEOMETRY can store geometry values of any type. The other single-value types (POINT, LINESTRING, and POLYGON) restrict their values to a particular geometry type.

编辑:

要存储纬度和经度,您可以在 MYSQL 中使用 DECIMAL 数据类型。具体来说,对纬度使用 DECIMAL(10, 8),因为它的范围是 -90 到 +90(度),对于经度,你可以使用 DECIMAL(11, 8),因为它的范围是从 -180 到 +180(度)。

MySQL 具有对应于 OpenGIS 类 的数据类型。其中一些类型包含单个几何值:

GEOMETRY

POINT

LINESTRING

POLYGON

GEOMETRY 可以存储任何类型的几何值。其他 single-value 类型 (POINT, LINESTRING, and POLYGON) 将它们的值限制为特定的几何类型。

其他数据类型包含值的集合:

MULTIPOINT

MULTILINESTRING

MULTIPOLYGON

GEOMETRYCOLLECTION

GEOMETRYCOLLECTION 可以存储任意类型对象的集合。

其他集合类型 (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION) 将集合成员限制为具有特定几何类型的成员。

也可以参考这个:https://dev.mysql.com/doc/refman/5.7/en/spatial-datatypes.html

https://dev.mysql.com/doc/refman/5.7/en/using-spatial-data.html