Orientdb 使用distance()函数的扩展示例

Orientdb 使用distance()函数的扩展示例,orientdb,Orientdb,注意,我知道(尽管我对已接受答案的格式设置有一些问题,因为它做出了大量假设,事实上可能在语法上不正确,但还不能提交编辑) 我有一个Bank的顶点,其属性为latLong,作为逗号分隔的字符串。我在使用OrientDB提供的distance()函数时遇到一些问题。由于距离(x,y,lat,long)需要离散值,因此我们编写了一个拆分函数,将latLong作为数组返回: { ..., values: [xx.xxx,yy.yyy], ... } 然而,我(我们)似乎无法使提供的答案或文档示例起作用

注意,我知道(尽管我对已接受答案的格式设置有一些问题,因为它做出了大量假设,事实上可能在语法上不正确,但还不能提交编辑)

我有一个
Bank
的顶点,其属性为
latLong
,作为逗号分隔的字符串。我在使用OrientDB提供的
distance()
函数时遇到一些问题。由于距离(x,y,lat,long)需要离散值,因此我们编写了一个拆分函数,将latLong作为数组返回:

{ ..., values: [xx.xxx,yy.yyy], ... }
然而,我(我们)似乎无法使提供的答案或文档示例起作用。我怀疑答案很简单,我们想得太多了,但我们被卡住了

split(输入,分隔符)
真的很简单

原来的问题出了什么问题? 在上面引用的问题中,查询

select distance(x,y,originx,originy) <= 30 as distance from Bank order by distance
选择距离(x,y,originx,originy)

您必须在银行中插入lat和long属性,如double

select distance(x,y,originx,originy) <= 30 as distance from Bank order by distance
com.orientechnologies.orient.core.sql.OCommandSQLParsingException: Error on parsing command at position #0: Error parsing query: select distance(x,y,originx,originy) <= 30 as distance from Bank Encountered " "<=" "<= "" 
select distance(x,y,lat,long) as distance from Bank where distance <= 30 order by distance;