使用linestring中的lat long列的mysql
我在mysql表中以浮点形式存储了纬度和纬度。 我正在尝试使用选择。。。WHERE命令仅获取每行中两组坐标之间的直线位于边界内的行,即 …其中包含(GeomFromText((50.619 0.479,53.153 0.019,54.089-3.495,51.504-2.941,50.619 0.479))),GeomFromText((LINESTRING(52.57846832-2.12799001,51.50733566-0.1276831)) 但是,当我将LINESTRING更改为 。。。其中MBR包含(GeomFromText(“多边形”((50.619 0.479,53.153 0.019,54.089-3.495,51.504-2.941,50.619 0.479))”),GeomFromText(“线字符串”)(使用linestring中的lat long列的mysql,mysql,geospatial,Mysql,Geospatial,我在mysql表中以浮点形式存储了纬度和纬度。 我正在尝试使用选择。。。WHERE命令仅获取每行中两组坐标之间的直线位于边界内的行,即 …其中包含(GeomFromText((50.619 0.479,53.153 0.019,54.089-3.495,51.504-2.941,50.619 0.479))),GeomFromText((LINESTRING(52.57846832-2.12799001,51.50733566-0.1276831)) 但是,当我将LINESTRING更改为 。。
地址
纬度地址经度,地址1
纬度
地址1经度))
它失败了。很明显,select之前已加入到address表以创建address和address1表,这是正确的
有什么想法吗?谢谢你引用了行字符串引号内的列,所以MySQL将其视为WKT定义的一部分:
'LINESTRING(地址.纬度地址.经度,地址1.纬度地址1.经度)
由于未取消对列值的引用,因此此WKT无效,当无效WKT传递给GeomFromText时,MySQL会悄悄返回NULL,导致MBRContains失败。使用CONCAT为GeomFromText构建正确的LINESTRING:
CONCAT('LINESTRING(',addresses.latitude','',addresses.longitude',',,addresses1.latitude…
有人…?请。。。?