[postgis-users] Intersection() throws error?

Hubert Fröhlich hubert.froehlich at bvv.bayern.de
Fri Mar 11 04:10:22 PST 2005


Hi list,

I am currently using PostgreSQL 8.0.0 final, GEOS 2.1.1 and Postgis 
1.0.0 RC 1

I want to check the correct neighborhood of land use parcels.

I tried

SELECT intersects ( 'MULTIPOLYGON(((4424942.57 5359069.45,4424953.01 
5359069.19,4424969 5359068.79,4424984.98 5359068.39,4425000.97 
5359067.99,4425016.95 5359067.58,4425032.94 5359067.18,4425048.92 
5359066.78,4425058.49 5359066.54,4425078.28 5359067.74,4425086.75 
5359067.58,4425097.49 5359067.38,4425099.91 5359067.68,4425101.89 
5359068.48,4425103.54 5359069.77,4425104.7 5359071.42,4425104.9 
5359073.06,4425106.4 5359072.35,4425106.69 5359051.7,4425104.75 
5359051.62,4425104.66 5359054.77,4425104.1 5359056.28,4425101.86 
5359057.96,4425099.19 5359058.5,4425086.71 5359058.82,4425068.4 
5359059.29,4425050.09 5359059.75,4425031.78 5359060.22,4425013.46 
5359060.68,4424995.15 5359061.15,4424976.84 5359061.61,4424953.66 
5359062.2,4424942.04 5359062.49,4424942.03692 
5359062.49009,4424941.70709 5359062.49184,4424941.37754 
5359062.47806,4424941.04901 5359062.44877,4424940.72222 
5359062.40403,4424940.3979 5359062.34395,4424940.07677 
5359062.26866,4424939.75955 5359062.17832,4424939.44693 
5359062.07315,4424939.13961 5359061.95336,4424938.83828 
5359061.81923,4424938.5436 5359061.67105,4424938.25623 
5359061.50916,4424937.9768 5359061.33391,4424937.70594 
5359061.14569,4424937.44425 5359060.94492,4424937.1923 
5359060.73204,4424937.19 5359060.73,4424937.18532 
5359060.72574,4424936.94678 5359060.49794,4424936.71924 
5359060.25916,4424936.5032 5359060.00992,4424936.29914 
5359059.75078,4424936.10752 5359059.48232,4424935.92875 
5359059.20513,4424935.76324 5359058.91983,4424935.61135 
5359058.62704,4424935.47342 5359058.32743,4424935.34976 
5359058.02165,4424935.24064 5359057.71039,4424935.14631 
5359057.39433,4424935.06697 5359057.07418,4424935.00279 
5359056.75064,4424934.95393 5359056.42445,4424934.92049 
5359056.09631,4424934.92 5359056.09,4424936.52 5359076.19,4424937.15 
5359072.9,4424939.37 5359070.43,4424942.57 5359069.45)))',
'MULTIPOLYGON(((4424933.2 5359035.11,4424934.92 5359056.09,4424934.92049 
5359056.09631,4424934.95393 5359056.42445,4424935.00279 
5359056.75064,4424935.06697 5359057.07418,4424935.14631 
5359057.39433,4424935.24064 5359057.71039,4424935.34976 
5359058.02165,4424935.47342 5359058.32743,4424935.61135 
5359058.62704,4424935.76324 5359058.91983,4424935.92875 
5359059.20513,4424936.10752 5359059.48232,4424936.29914 
5359059.75078,4424936.5032 5359060.00992,4424936.71924 
5359060.25916,4424936.94678 5359060.49794,4424937.18532 
5359060.72574,4424937.19 5359060.73,4424937.1923 
5359060.73204,4424937.44425 5359060.94492,4424937.70594 
5359061.14569,4424937.9768 5359061.33391,4424938.25623 
5359061.50916,4424938.5436 5359061.67105,4424938.83828 
5359061.81923,4424939.13961 5359061.95336,4424939.44693 
5359062.07315,4424939.75955 5359062.17832,4424940.07677 
5359062.26866,4424940.3979 5359062.34395,4424940.72222 
5359062.40403,4424941.04901 5359062.44877,4424941.37754 
5359062.47806,4424941.70709 5359062.49184,4424942.03692 
5359062.49009,4424942.04 5359062.49,4424953.66 5359062.2,4424952.87 
5359031.74,4424948.16 5359031.86,4424948.26 5359034.7,4424933.2 
5359035.11)))' );
  intersects
------------
  t
(1 row)

so far ok but when using the same polygons to get the true intersection

SELECT astext(intersection( 'MULTIPOLYGON(((4424942.57 
5359069.45,4424953.01 5359069.19,4424969 5359068.79,4424984.98 
5359068.39,4425000.97 5359067.99,4425016.95 5359067.58,4425032.94 
5359067.18,4425048.92 5359066.78,4425058.49 5359066.54,4425078.28 
5359067.74,4425086.75 5359067.58,4425097.49 5359067.38,4425099.91 
5359067.68,4425101.89 5359068.48,4425103.54 5359069.77,4425104.7 
5359071.42,4425104.9 5359073.06,4425106.4 5359072.35,4425106.69 
5359051.7,4425104.75 5359051.62,4425104.66 5359054.77,4425104.1 
5359056.28,4425101.86 5359057.96,4425099.19 5359058.5,4425086.71 
5359058.82,4425068.4 5359059.29,4425050.09 5359059.75,4425031.78 
5359060.22,4425013.46 5359060.68,4424995.15 5359061.15,4424976.84 
5359061.61,4424953.66 5359062.2,4424942.04 5359062.49,4424942.03692 
5359062.49009,4424941.70709 5359062.49184,4424941.37754 
5359062.47806,4424941.04901 5359062.44877,4424940.72222 
5359062.40403,4424940.3979 5359062.34395,4424940.07677 
5359062.26866,4424939.75955 5359062.17832,4424939.44693 
5359062.07315,4424939.13961 5359061.95336,4424938.83828 
5359061.81923,4424938.5436 5359061.67105,4424938.25623 
5359061.50916,4424937.9768 5359061.33391,4424937.70594 
5359061.14569,4424937.44425 5359060.94492,4424937.1923 
5359060.73204,4424937.19 5359060.73,4424937.18532 
5359060.72574,4424936.94678 5359060.49794,4424936.71924 
5359060.25916,4424936.5032 5359060.00992,4424936.29914 
5359059.75078,4424936.10752 5359059.48232,4424935.92875 
5359059.20513,4424935.76324 5359058.91983,4424935.61135 
5359058.62704,4424935.47342 5359058.32743,4424935.34976 
5359058.02165,4424935.24064 5359057.71039,4424935.14631 
5359057.39433,4424935.06697 5359057.07418,4424935.00279 
5359056.75064,4424934.95393 5359056.42445,4424934.92049 
5359056.09631,4424934.92 5359056.09,4424936.52 5359076.19,4424937.15 
5359072.9,4424939.37 5359070.43,4424942.57 5359069.45)))',
'MULTIPOLYGON(((4424933.2 5359035.11,4424934.92 5359056.09,4424934.92049 
5359056.09631,4424934.95393 5359056.42445,4424935.00279 
5359056.75064,4424935.06697 5359057.07418,4424935.14631 
5359057.39433,4424935.24064 5359057.71039,4424935.34976 
5359058.02165,4424935.47342 5359058.32743,4424935.61135 
5359058.62704,4424935.76324 5359058.91983,4424935.92875 
5359059.20513,4424936.10752 5359059.48232,4424936.29914 
5359059.75078,4424936.5032 5359060.00992,4424936.71924 
5359060.25916,4424936.94678 5359060.49794,4424937.18532 
5359060.72574,4424937.19 5359060.73,4424937.1923 
5359060.73204,4424937.44425 5359060.94492,4424937.70594 
5359061.14569,4424937.9768 5359061.33391,4424938.25623 
5359061.50916,4424938.5436 5359061.67105,4424938.83828 
5359061.81923,4424939.13961 5359061.95336,4424939.44693 
5359062.07315,4424939.75955 5359062.17832,4424940.07677 
5359062.26866,4424940.3979 5359062.34395,4424940.72222 
5359062.40403,4424941.04901 5359062.44877,4424941.37754 
5359062.47806,4424941.70709 5359062.49184,4424942.03692 
5359062.49009,4424942.04 5359062.49,4424953.66 5359062.2,4424952.87 
5359031.74,4424948.16 5359031.86,4424948.26 5359034.7,4424933.2 
5359035.11)))' ) );
NOTICE:  AssertionFailedException: EdgeRing::computePoints: found null 
Directed Edge
ERROR:  GEOS Intersection() threw an error!


What has gone wrong?

Sorry for the long and complicated polygons; they have been converted 
from multi-"polygons" containing not only straight lines but also 
circular arcs (This holds especially for the parts with four or five 
decimal digits.)


Greetings,

Hubert
-- 
-------------------------------------------------------------------------------
Dr.-Ing. Hubert Fröhlich			
Bezirksfinanzdirektion München 			
Alexandrastr. 3, D-80538 München, GERMANY
Tel. :+49 (0)89 / 2190 - 2980
Fax  :+49 (0)89 / 2190 - 2997
hubert dot froehlich at bvv dot bayern dot de



More information about the postgis-users mailing list