8000 GEO_INTERSECTS doesn't support a GEO_Polygon or GEO_MultiPolygon with holes. · Issue #10770 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content
GEO_INTERSECTS doesn't support a GEO_Polygon or GEO_MultiPolygon with holes. #10770
Closed
@tom919hsu

Description

@tom919hsu

My Environment

  • ArangoDB Version: 3.5.3
  • Storage Engine: MMFiles
  • Deployment Mode: Single Server >
  • Deployment Strategy: Manual Start
  • Configuration: standard
  • Infrastructure: Own
  • Operating System: Redhat 7.6
  • Total RAM in your machine: 256G
  • Disks in use: 900G
  • Used Package: ArangoDB repository

Component, Query & Data

Affected feature: arango engine

AQL query (if applicable):

LET Area = {
      "type": "Feature",
      "properties": {
        "ID" :"Polygon1"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [-122.89521,48.07939],
            [-122.88500,48.07939],
            [-122.88500,48.07738],
            [-122.89521,48.07738],
            [-122.89521,48.07939]
          ],
          [
            [-122.88901,48.07939],
            [-122.88701,48.07939],
            [-122.88701,48.07738],
            [-122.88901,48.07738],
            [-122.88901,48.07939]
          ]
        ]
      }
    }
LET polygon = GEO_POLYGON([[-122.89021,48.07839],[-122.89000,48.07839],[-122.89000,48.07738],[-122.89021,48.07738],[-122.89021,48.07839]])
RETURN GEO_INTERSECTS(Area.geometry, polygon)

AQL explain (if applicable):

 LET Area = {
       "type": "Feature",
       "properties": {
         "ID" :"Polygon1"
       },
       "geometry": {
         "type": "Polygon",
         "coordinates": [
           [
             [-122.89521,48.07939],
             [-122.88500,48.07939],
             [-122.88500,48.07738],
             [-122.89521,48.07738],
             [-122.89521,48.07939]
           ],
           [
             [-122.88901,48.07939],
             [-122.88701,48.07939],
             [-122.88701,48.07738],
             [-122.88901,48.07738],
             [-122.88901,48.07939]
           ]
         ]
       }
     }
 LET polygon = 
 GEO_POLYGON([[-122.89021,48.07839],[-122.89000,48.07839],[-122.89000,48.07738],[-122.89021,48.07738],[-122.89021,48.07839]])
 RETURN GEO_INTERSECTS(Area.geometry, polygon)

Execution plan:
 Id   NodeType          Est.   Comment
  1   SingletonNode        1   * ROOT
  4   CalculationNode      1     - LET #2 = null   /* json expression */   /* const assignment */
  5   ReturnNode           1     - RETURN #2

Indexes used:
 none

Optimization rules applied:
 Id   RuleName
  1   move-calculations-up
  2   remove-unnecessary-calculations

Warnings:
 Code   Message
   10   in function 'GEO_INTERSECTS()': Subsequent loop not a hole in polygon

Dataset:

Size of your Dataset on disk:

Replication Factor & Number of Shards (Cluster only):

Steps to reproduce

  1. Execute the query manually and it won't return "true"

Problem:
unable to get "true" result with GEO_INTERSECTS function

Expected result:
expect to get "True" boolean.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0