機能関数
フィルター句で機能関数を使用して、フィルター条件を定義できます。数値を返す機能関数は、ソート句でソートに使用できます。
機能関数のパラメーターで参照するフィールドは、各関数の説明に基づいてインデックスフィールドまたは属性フィールドとして構成する必要があります。
in_query_polygon: 特定の地理的位置が特定のポリゴン形状の領域内にあるかどうかを判断します
1. 構文
in_query_polygon(polygon_key, doc_point)
2. パラメーター
polygon_key: kvpairs 句で定義されたキー。ポリゴン頂点の座標は、キーの値に格納されます。フィールドは DOUBLE_ARRAY 型である必要があります。フィールド値は、ポリゴンを形成するx座標とy座標の順序です。座標のペアは[x,y]形式です。頂点の座標は、時計回りまたは反時計回りの頂点の順序に従う必要があります。複数の座標はカンマ (,) で区切ります。例: xA,yA,xB,Yb。複数のポリゴンはセミコロン (;) で区切ります。
doc_point: 判断対象の地理的位置。このフィールドは DOUBLE_ARRAY 型である必要があります。このフィールドには、x 座標と y 座標の 2 つの値のみを含めることができます。
3. 戻り値
戻り値は INT 型で、最初に一致したポリゴンの添字を示します。一致するポリゴンがない場合は、0 が返されます。たとえば、最初のポリゴンが一致した場合は 1 が返され、2 番目のポリゴンが一致した場合は 2 が返されます。
4. シナリオ
シナリオ 1:
特定のショッピングエリア (xA,yA,xB,Yb,xC,Yc;xD,yD,xE,yE,xF,yF,xG,yG) 内の KFC を検索します。point フィールドは、KFC の地理的位置を格納するために使用されます。
query=default: 'KFC'&&filter=in_query_polygon ("polygons", point)>0&&kvpairs=polygons:xA\,yA\,xB\,Yb\,xC\,Yc;xD\,yD\,xE\,yE\,xF\,yF\,xG\,yG
5. 使用上の注意
関数のパラメーターで参照するフィールドは、属性フィールドとして構成する必要があります。