Hey,

there is already another issue for polygons, where it seems to me, that we
dont calculate the starting points for polygon calculations correctly. It
is https://github.com/elasticsearch/elasticsearch/issues/5773

any input greatly appreciated, as I am by far not a geo expert.


--Alex


On Tue, Apr 29, 2014 at 7:12 AM, Pablo Castro <[email protected]> wrote:

> Thanks for taking a look. Filed here:
> https://github.com/elasticsearch/elasticsearch/issues/5968
>
> One more thing that doesn't seem to work, but I'm not sure there was an
> expectation that it would: usually the direction (whether points are listed
> clockwise or counter-clockwise) matters, since that's how you can tell what
> part is the inside of the polygon (at least that's how WKT does it).
> Skimming through the code surrounding pointInPolygon() I couldn't see a
> spot where that's factored in.
>
> Let me know if you want a separate issue filed for that as well.
>
>
> On Monday, April 28, 2014 6:40:46 PM UTC-7, Alexander Reelsen wrote:
>
>> Hey there,
>>
>> please file a github issue for this one, to make sure it does not get
>> lost (havent checked the details, but looks like a valid bug from my birds
>> eye view). Thanks a lot!
>>
>>
>> --Alex
>>
>>
>> On Mon, Apr 28, 2014 at 7:41 PM, Pablo Castro <[email protected]> wrote:
>>
>>> Using Elasticsearch 1.1.1. I'm seeing geo_polygon behave oddly when the
>>> input polygon cross the date line. From a quick look at GeoPolygonFilter.
>>> GeoPolygonDocSet.pointInPolygon it doesn't seem that this is explicitly
>>> handled.
>>>
>>> The reproduce this create an index/mapping as:
>>>
>>> POST /geo
>>>
>>> { "mappings": { "docs": { "properties": { "p": { "type": "geo_point" } }
>>> } } }
>>>
>>> Upload a document:
>>>
>>> PUT /geo/docs/1
>>>
>>> { "p": { "lat": 40, "lon": 179 } }
>>>
>>> Search with a polygon that's a box around the uploaded point and that
>>> crosses the date line:
>>>
>>> POST /geo/docs/_search
>>>
>>> {
>>>   "filter": { "geo_polygon": { "p": { "points": [
>>>       { "lat": 42, "lon": 178 },
>>>       { "lat": 39, "lon": 178 },
>>>       { "lat": 39, "lon": -179 },
>>>       { "lat": 42, "lon": -179 },
>>>       { "lat": 42, "lon": 178 }
>>>   ] } } }
>>> }
>>>
>>> ES returns 0 results. If I use a polygon that stays to the west of the
>>> date line I do get results:
>>>
>>> {
>>>   "filter": { "geo_polygon": { "p": { "points": [
>>>       { "lat": 42, "lon": 178 },
>>>       { "lat": 39, "lon": 178 },
>>>       { "lat": 39, "lon": 179.5 },
>>>       { "lat": 42, "lon": 179.5 },
>>>       { "lat": 42, "lon": 178 }
>>>   ] } } }
>>> }
>>>
>>> Also, if I use a bounding box query with the same coordinates as the
>>> initial polygon, it does work:
>>>
>>> {
>>>   "filter": { "geo_bounding_box": { "p":
>>>     { "top_left": { "lat": 42, "lon": 178 },
>>>        "bottom_right": { "lat": 39, "lon": -179 }
>>>      }
>>>   } }
>>> }
>>>
>>> It seems that this code needs to either split the check into east and
>>> west checks or normalize the input values. Am I missing something?
>>>
>>> Thanks
>>> -pablo
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "elasticsearch" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/elasticsearch/598de712-4e0c-405d-9575-52216bbb8692%
>>> 40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/598de712-4e0c-405d-9575-52216bbb8692%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/62a8c832-682d-4d8a-8631-03b539d646df%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/62a8c832-682d-4d8a-8631-03b539d646df%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAGCwEM8byJvkmsm0NsuL18CZYYoppt29JM5nx35KpGrhS-8y4A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to