[postgis-users] Problem with convex hulls that cross the dateline

Sarah Berke skberke at uchicago.edu
Thu Sep 8 12:22:24 PDT 2011


Thanks very much, Regina, Paul, and Ben for the responses. I don't think my
hacking skills are quite up to following Paul's suggestion, but I can try to
find an equal area projection for the Pacific Ocean. It seems like that
would work. I also rather like the idea of translating the points--if I did
that, would it then be easy to just translate the entire hull back into
position?

Thanks,
Sarah
_________________________________
Sarah K Berke
Postdoctoral Scholar
Department of the Geophysical Sciences
University of Chicago
5734 S. Ellis Ave
Chicago, IL 60637




> ------------------------------
>
> Message: 2
> Date: Wed, 7 Sep 2011 01:18:51 -0400
> From: "Paragon Corporation" <lr at pcorp.us>
> Subject: Re: [postgis-users] Problem with convex hulls that cross the
>        dateline
> To: "'PostGIS Users Discussion'"
>        <postgis-users at postgis.refractions.net>
> Message-ID: <F8675FD4BB254CD09D2359CF11685DEA at D>
> Content-Type: text/plain; charset="us-ascii"
>
>  Sarah,
>  >  I'm having trouble making convex hulls that cross the international
> dateline. Imagine 4 points making a square with the international dateline
> running down the middle--I would like the convex hull to be that square,
> but
> instead I get a giant rectangle that goes across the entire planet. I've
> done some reading, and it sounds like GEOS generally has a hard time
> dealing
> with the dateline--is that accurate?
> Yes GEOS  only deals with planar coordinates.  Geography is the only
> geodetic aware type and there is no ConvexHull function for it.
>
>  >  Does anyone know of a way to get around this? I was thinking that it
> might work if I use an SRID that is just like 4326 but with a central
> meridian of 180, does that sound like a good plan?
> No.  You should use a planar projection of some sort.  4326 squashed on a
> map is no good.  Paul Ramsey might have some thoughts on the matter.
>
> >   I'm pretty new to postGIS and I'm not sure how to either find such an
> SRID or how to define it--I've been trying to find an explanation of SRID
> syntax and so far coming up empty. If anyone has advice for solving this
> problem, or for places where I can learn more about defining custom SRIDs,
> I'd be really grateful!
>
> You might want to check out http://spatialreference.org
>
>  >  Here's an example--if you make this table and then look at it in QGIS
> (or whatever) along with a world map, you'll see a big rectangle spanning
> the entire map. On a map with
> >  central meridian of zero, I'd want to see half the polygon on the left
> side of the map and the other half on the right side.
>
>  >  CREATE TABLE example AS
>  >  SELECT ST_ConvexHull(
>   >   ST_Collect(ST_GeomFromText('MULTIPOINT(175 5, 175 30, -175 5, -175
> 30)') ))::geography(Polygon, 4326) ;
>
> My guess is you'll have to cut your area into pieces.  Still then its not
> that pretty when you try to rejoin.
>
> Sorry couldn't be more help,
> Regina
> http://www.postgis.us
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://postgis.refractions.net/pipermail/postgis-users/attachments/20110907/dca69b0a/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Tue, 6 Sep 2011 22:21:48 -0700
> From: Paul Ramsey <pramsey at opengeo.org>
> Subject: Re: [postgis-users] Problem with convex hulls that cross the
>        dateline
> To: PostGIS Users Discussion <postgis-users at postgis.refractions.net>
> Message-ID:
>        <CACowWR0YVqT5_wasbLoscmCnqNFAqVT2ioA=yJQ6Uv_yX9Cv0A at mail.gmail.com
> >
> Content-Type: text/plain; charset=ISO-8859-1
>
> On Tue, Sep 6, 2011 at 10:18 PM, Paragon Corporation <lr at pcorp.us> wrote:
> > ?Sarah,
> > ?> ?I'm having trouble making convex hulls that cross the international
> > dateline. Imagine 4 points making a square with the international
> dateline
> > running down the middle--I would like the convex hull to be that square,
> but
> > instead I get a giant rectangle that goes across the entire planet. I've
> > done some reading, and it sounds like GEOS generally has a hard time
> dealing
> > with the dateline--is that accurate?
> > Yes GEOS? only deals with planar coordinates.? Geography is the only
> > geodetic aware type and there is no ConvexHull function for it.
>
> Although you could hack one up easily enough by copying the ideas in
> ST_Buffer(geography)
>
> P
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 7 Sep 2011 13:43:52 +0800
> From: Ben Madin <lists at remoteinformation.com.au>
> Subject: Re: [postgis-users] Problem with convex hulls that cross the
>        dateline
> To: PostGIS Users Discussion <postgis-users at postgis.refractions.net>
> Message-ID:
>        <6AFE8509-2218-4CB2-956A-1269AB5CDB4B at remoteinformation.com.au>
> Content-Type: text/plain; charset=us-ascii
>
> Sarah,
>
> I'm sure that there are good reasons not to do this, but could you
> translate your points left or right, create your convex hull then translate
> the polygon back...?
>
> Otherwise you could project it onto a custom projection that covers your
> area of interest? As an example look for an equal area proj string (I know
> there is one for Australia GDA94 Albers -
> http://www.spatialreference.org/ref/epsg/3577) and shift the lat and lon
> parameters...
>
> cheers
>
> Ben
>
>
> On 07/09/2011, at 1:13 AM, Sarah Berke wrote:
>
> > Hello,
> >
> > I'm having trouble making convex hulls that cross the international
> dateline. Imagine 4 points making a square with the international dateline
> running down the middle--I would like the convex hull to be that square, but
> instead I get a giant rectangle that goes across the entire planet. I've
> done some reading, and it sounds like GEOS generally has a hard time dealing
> with the dateline--is that accurate? Does anyone know of a way to get around
> this? I was thinking that it might work if I use an SRID that is just like
> 4326 but with a central meridian of 180, does that sound like a good plan?
>  I'm pretty new to postGIS and I'm not sure how to either find such an SRID
> or how to define it--I've been trying to find an explanation of SRID syntax
> and so far coming up empty. If anyone has advice for solving this problem,
> or for places where I can learn more about defining custom SRIDs, I'd be
> really grateful!
> >
> > Here's an example--if you make this table and then look at it in QGIS (or
> whatever) along with a world map, you'll see a big rectangle spanning the
> entire map. On a map with central meridian of zero, I'd want to see half the
> polygon on the left side of the map and the other half on the right side.
> >
> > CREATE TABLE example AS
> > SELECT ST_ConvexHull(
> >     ST_Collect(ST_GeomFromText('MULTIPOINT(175 5, 175 30, -175 5, -175
> 30)') ))::geography(Polygon, 4326) ;
> >
> >
> > Thanks very much,
> > Sarah
> >
> > _________________________________
> > Sarah K Berke
> > Postdoctoral Scholar
> > Department of the Geophysical Sciences
> > University of Chicago
> > 5734 S. Ellis Ave
> > Chicago, IL 60637
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>
>
> ------------------------------
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20110908/ced591ec/attachment.html>


More information about the postgis-users mailing list