Hi, On this 1.5 version, query is raising an error but does not crash the server: PostgreSQL 9.1.5 on x86_64-apple-darwin11.4.0, compiled by i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00), 64-bit POSTGIS="1.5.3" GEOS="3.3.5-CAPI-1.7.5" PROJ="Rel. 4.8.0, 6 March 2012" LIBXML="2.7.3" USE_STATS
Using the geography data type, which I think is preferred in your case, the query works: SELECT ST_intersects( st_geogfromtext('POLYGON((31.904296875 67.32421875,14.58984375 67.32421875,12.744140625 65.830078125,33.75 66.09375,31.904296875 67.236328125,31.81640625 67.32421875,31.904296875 67.32421875))'), st_geogfromtext('POLYGON((31.904296875 67.32421875,14.58984375 67.32421875,12.744140625 65.830078125,33.75 66.09375,31.904296875 67.236328125,31.81640625 67.32421875,31.904296875 67.32421875))') ); Nicolas On 20 September 2012 18:29, Adam <work....@gmail.com> wrote: > Thx I was wondering how we could "fix" existing geometries. > ST_SimplifyPreserveTopology did a nice job on the one I mentioned in the > email. > Still would like Postgis1.5 not to core dump on this condition though... > > > On Thu, Sep 20, 2012 at 11:04 AM, Dave Potts <dave.po...@pinan.co.uk> wrote: >> >> I have used the jts library and have the same type of issue >> >> In jts you would >> >> 1. Try to use a buffer of 0. >> 2. Try calling one of the simplify geom operations. >> >> Dave. >> Adam wrote: >> > Running this query against Postgis 1.5 causes a core dump: >> > SELECT ST_intersects( >> > geomfromtext('POLYGON((31.904296875 67.32421875,14.58984375 >> > 67.32421875,12.744140625 65.830078125,33.75 66.09375,31.904296875 >> > 67.236328125,31.81640625 67.32421875,31.904296875 67.32421875))', 4326), >> > geomfromtext('POLYGON((31.904296875 67.32421875,14.58984375 >> > 67.32421875,12.744140625 65.830078125,33.75 66.09375,31.904296875 >> > 67.236328125,31.81640625 67.32421875,31.904296875 67.32421875))', 4326) >> > ); >> > >> > Running against Postgis 2.0 gives the following error (much preferred to >> > get an error than a core dump!): >> > ERROR: GEOSIntersects: TopologyException: side location conflict at >> > 31.81640625 67.32421875 >> > CONTEXT: SQL function "st_intersects" statement 1 >> > >> > Both are using geos version: '3.3.5-CAPI-1.7.5'. >> > >> > Unfortunately upgrading to Postgis 2 is not an option for us. >> > Our platform is Solaris 10 x86 using 64 bit builds. >> > >> >>From dbx the core file shows: >> > [1] 0x1b408d(0x1, 0x1, 0x474e5543432b2b00, 0xbe0170, >> > 0xfffffd7fffdf8880, >> > 0x1b408d), at 0x1b408d >> > [2] _Unwind_RaiseException_Body(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at >> > 0xfffffd7ffec416bc >> > [3] _SUNW_Unwind_RaiseException(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at >> > 0xfffffd7ffec418a9 >> > [4] __cxa_throw(obj = (nil), tinfo = (nil), dest = (nil)), line 75 in >> > "eh_throw.cc" >> > [5] geos::geomgraph::EdgeEndStar::propagateSideLabels(this = >> > 0xfffffd7ffe6e2a00, geomIndex = 0), line 69 in "new_allocator.h" >> > [6] >> > >> > _ZN4geos9geomgraph11EdgeEndStar16computeLabellingEPSt6vectorIPNS0_13GeometryGraphESaIS4_EE(this >> > = 0x91bc10, geomGraph = 0xfffffd7fffdf8e18), line 88 in >> > "EdgeEndStar.cpp" >> > [7] geos::operation::relate::RelateComputer::labelNodeEdges(this = >> > 0xfffffd7fffdf8e30), line 327 in "RelateComputer.cpp" >> > [8] geos::operation::relate::RelateComputer::computeIM(this = >> > 0xfffffd7fffdf8e30), line 131 in "RelateComputer.cpp" >> > [9] geos::operation::relate::RelateOp::relate(a = (nil), b = (nil)), >> > line >> > 43 in "RelateOp.cpp" >> > [10] geos::geom::Geometry::intersects(this = 0x91b598, g = 0x91b638), >> > line 191 in "memory" >> > [11] GEOSIntersects_r(extHandle = 0x91d100, g1 = (nil), g2 = (nil)), >> > line >> > 351 in "geos_ts_c.cpp" >> > [12] GEOSIntersects(g1 = (nil), g2 = (nil)), line 139 in "geos_c.cpp" >> > [13] intersects(fcinfo = 0xfffffd7fffdf9110), line 2322 in >> > "lwgeom_geos.c" >> > [14] ExecMakeFunctionResult(fcache = 0xfffffd7fffdf90d0, econtext = >> > 0xbd5740, isNull = 0xbd6c28 "", isDone = (nil)), at 0x5a9d88 >> > [15] ExecEvalAnd(andExpr = (nil), econtext = 0xbd5740, isNull = >> > 0xbd6c28 >> > "", isDone = (nil)), at 0x5aaf23 >> > [16] ExecProject(projInfo = 0xbd6c40, isDone = 0xfffffd7fffdf95bc), at >> > 0x5ae659 >> > [17] ExecResult(node = 0xbd5630), at 0x5ba7d0 >> > [18] ExecProcNode(node = 0xbd5630), at 0x5a77ec >> > [19] standard_ExecutorRun(queryDesc = 0xbcd2e8, direction = >> > ForwardScanDirection, count = 1), at 0x5a550c >> > [20] fmgr_sql(fcinfo = 0xfffffd7fffdf9880), at 0x5b1529 >> > _______________________________________________ >> > postgis-users mailing list >> > postgis-users@postgis.refractions.net >> > http://postgis.refractions.net/mailman/listinfo/postgis-users >> > >> >> >> -- >> >> >> _______________________________________________ >> postgis-users mailing list >> postgis-users@postgis.refractions.net >> http://postgis.refractions.net/mailman/listinfo/postgis-users > > > > _______________________________________________ > postgis-users mailing list > postgis-users@postgis.refractions.net > http://postgis.refractions.net/mailman/listinfo/postgis-users > _______________________________________________ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users