[postgis-users] Geography point to polygon st_distance for a polygon crossing the equator

Paul Ramsey pramsey at cleverelephant.ca
Mon Feb 20 09:03:25 PST 2017


:) :) :)

Your second polygon has the same problem as the first, except in reverse...
Your second polygon basically covers no area at all, since it consists of
two arcs that both do a direct southerly run to the south pole.

P.


On Sun, Feb 19, 2017 at 8:09 PM, Sebastien Delaux <s.delaux at metocean.co.nz>
wrote:

> Thanks for your reply Paul.
> Yes, that's what I thought. That would explain why (0,-82) is inside the
> polygon.
> Nevertheless, if my first segment runs through the south pole, then I
> would expect both of the queries mentioned in my initial post to return 0
> which is not the case.
>
> Sebastien
>
> On Mon, Feb 20, 2017 at 4:56 PM, Paul Ramsey <pramsey at cleverelephant.ca>
> wrote:
>
>> I don't the polygon you've draw means what you think it does.
>>
>> POLYGON((-90 -80, 90 -80, 90 10, -90 10, -90 -80))
>>
>> For example, you probably figure the first segment, -90 -80, 90 -80 runs
>> east-west between two points close to the south pole. In fact, it runs
>> directly over the south pole, so actually to the south of your point of
>> interest.
>>
>> P
>>
>>
>> On Sun, Feb 19, 2017 at 7:36 PM, Sebastien Delaux <
>> s.delaux at metocean.co.nz> wrote:
>>
>>> Hi all,
>>>
>>> I am new to postgis and I am interested in finding all the points that
>>> are located at x metres or less of a polygon that are stored in my postgres
>>> database.
>>> As I am working with data located all over the world and want to work
>>> with distances in metres I decided to use the geography type.
>>>
>>> I am trying to understand why the following query returns 0 when the
>>> point is clearly not included in the polygon:
>>> SELECT ST_Distance(ST_GeographyFromText('SRID=4326;POINT(0.
>>> -82.)'),ST_GeographyFromText('SRID=4326;POLYGON((-90 -80, 90 -80, 90
>>> 10, -90 10, -90 -80))'));
>>>
>>> I suspect this has something to do with the polygon crossing the equator
>>> as
>>> SELECT ST_Distance(ST_GeographyFromText('SRID=4326;POINT(0.
>>> -82.)'),ST_GeographyFromText('SRID=4326;POLYGON((-90 -80, 90 -80, 90
>>> -10, -90 -10, -90 -80))'));
>>> returns a plausible distance.
>>>
>>> Would anybody know whether my polygon is violating some assumption or
>>> whether there is any other reason that I am getting those results?
>>>
>>> Thanks
>>>
>>> Sebastien
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/postgis-users
>>>
>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/postgis-users
>>
>
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20170220/132a380d/attachment.html>


More information about the postgis-users mailing list