in_query_polygon
功能函数项
插件功能函数可以用在filter子句作为过滤和筛选条件,而返回值为数值型的功能函数在sort子句中,用来做排序。
其中功能函数参数出现的文档字段需根据对应函数文档提示,创建为索引或属性.
in_query_polygon : 判断文档中指定的点是否在用户指定的多边形范围内
1.详细用法:
in_query_polygon(polygon_key, doc_point)
2.参数:
polygon_key:kvpairs子句中定义的用户参数key,多边形顶点存储在对应的value中。类型必须为DOUBLE_ARRAY,字段值依次为配送多边形有序定点的x,y坐标(先x后y),顶点务必保证有序(顺时针、逆时针均可)!!坐标之间用逗号分隔,格式为:xA,yA,xB,Yb。支持多个多边形,多边形与多边形之间通过分号(;)分隔。
doc_point:类型必须为DOUBLE_ARRAY,表示需要判断的点。只包含两个值,依次为点的x,y坐标
3.返回值:
int,返回匹配到的第一个多边形的下标(例:匹配到第一个多边形就返回1,匹配到第二个多边形就返回2,以此类推),没有匹配则返回0
4.适用场景:
场景1:
搜索银泰商圈(xA,yA,xB,Yb,xC,Yc;xD,yD,xE,yE,xF,yF,xG,yG)的外婆家,商家位置存放在point字段中
query=default:’外婆家’&&filter=in_query_polygon(“polygons”, point)>0&&kvpairs=polygons:xA\,yA\,xB\,Yb\,xC\,Yc;xD\,yD\,xE\,yE\,xF\,yF\,xG\,yG
5.注意事项:
函数参数依赖字段需创建为属性