在Mysql中存储经度/纬度的数据类型

Cod*_*alk 9 mysql floating-point geospatial sqldatatypes

'43.005895','-71.013202'
Run Code Online (Sandbox Code Playgroud)

试图使用:

INSERT INTO table(fanDetLocZip, fanDetLocCity, fanDetLocState, fanDetLocLat, fanDetLocLong, fanDetLocTZ, fanDetLocDST)  
VALUES(00210, 'Portsmouth', 'NH', '43.005895', '-71.013202', -5, 1);
Run Code Online (Sandbox Code Playgroud)

我目前使用的数据类型SPATIAL,GEOMETRY.

它给我的错误如下:

无法从发送到GEOMETRY字段的数据中获取几何对象

所有值都有2位数,小数点后6位小数.我如何将其存储在mysql中?

我使用时遇到错误:
INSERT INTO Table(fanDetLocZip, fanDetLocCity, fanDetLocState, fanDetLocLatLong, fanDetLocTZ, fanDetLocDST)
VALUES(00210, 'Portsmouth', 'NH', point(43.005895,-71.013202), -5,1)

错误图片:IMG5

ype*_*eᵀᴹ 18

您可以使用POINT()存储到类型列GEOMETRYPOINT:

POINT(43.005895, -71.013202)
Run Code Online (Sandbox Code Playgroud)

如果命名了几何列,则geom可以使用:

INSERT INTO table
    ( ..., geom, ...) 
  VALUES
    ( ..., POINT(43.005895, -71.013202), ...)
Run Code Online (Sandbox Code Playgroud)

如果要显示存储的数据,可以使用X()Y()功能:

SELECT X(geom) AS x, Y(geom) AS y
FROM table 
Run Code Online (Sandbox Code Playgroud)

  • 不应该像这里描述的要点(43.005895 -71.013202)?http://dev.mysql.com/doc/refman/5.0/en/gis-wkt-format.html (3认同)