[postgis-users] polygons crossing 0/360 longitude

Carlos Ferrão cferrao at gmail.com
Tue Jun 20 16:44:03 PDT 2006


Hi,
I recently had a similar problem with products crossing the -180/180
longitude. The problem is that postgis doesn't connect the -180 to the
180 as, for instance, Oracle Spatial Module.
The way I found to solve it was to do an algorithm to find the
polygons that cross the date line. For each one, I calculate 2
polygons, one in the negative coordinates and another in the positive
coordinates (you need to add/subtract 360). I add a multipolygon with
the information of the two polygons in a single row in the database
and it works perfectly.

Hope it helps,
Carlos Ferrao
EOP - ESRIN - European Space Agency
Critical Software - www.criticalsoftware.com

On 6/21/06, Shane Byrne <shane at quake.mit.edu> wrote:
> Hi,
> I have a postgres/postgis database with many (~80k) polygons, the
> vertices of which are stored in longitude (0-360) and latitude space.
> These polygons are typically small, but a few hundred of them span the
> prime meridian. This creates a problem for me when I search for polygon
> intersections. i.e. a polygon with a longitude range -5 to +5 is
> actually stored as +355 to +5 and so postgis thinks it intersects a
> whole bunch of polygons that it really doesn't.  I could change to the
> -180 to 180 longitude system but that only moves the problem to a
> different longitude.
>
> Is there a graceful way around this?
> I'm thinking of just making two tables, the other table would have
> longitudes ranging from -180 to +180 and doing two searches with
> longitude ranges chosen to avoid the problem area on each table. Does
> postgis have a way to handle cyclical coordinates?
>
> Thanks for any help,
> Shane
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list