[postgis-users] Intersection errors out with null directed edge

Andreas Laggner andreas.laggner at fal.de
Thu Sep 20 01:53:33 PDT 2007


Hi Chris,

if you want to repair this geometries use buffer(0.0) in most cases this 
solves all problems with invalid geometries.


Chris Hermansen schrieb:
> I used Paul's command and here's an excerpt of what I found:
>
> clh=# select gid from v2007 where not st_isvalid(the_geom);
> NOTICE:  Self-intersection at or near point 1.01727e+06 886743
> NOTICE:  Self-intersection at or near point 1.06218e+06 960196
> NOTICE:  Self-intersection at or near point 1.07742e+06 956155
> NOTICE:  Self-intersection at or near point 1.08071e+06 960386
> NOTICE:  Ring Self-intersection at or near point 1.08938e+06 959268
> ...
>   gid   
> --------
>     190
>   75287
>   77089
> ...
> (27 rows)
>
> This is great, super-useful in fact!  Thanks a lot!!!
>
> On Fri, 2007-14-09 at 10:26 -0700, Chris Hermansen wrote:
>   
>> Thanks, Martin, I will give those a try and report back on what I find
>> out.
>>
>> On Fri, 2007-14-09 at 10:01 -0700, Martin Davis wrote:
>>     
>>> Currently your only option is to run isValid on your geometry table.  It 
>>> will identify any geometries which are not valid. 
>>>
>>> To see the actual nature and location of the errors you will have to 
>>> export them to another tool (such as JUMP or JTS TestBuilder) to see the 
>>> actual nature & location of the errors (Providing similar functionality 
>>> is on the ToDo list for PostGIS)
>>>
>>> Martin
>>>
>>>
>>> Chris Hermansen wrote:
>>>       
>>>> Hello again;
>>>>
>>>> So with GEOS 3.0.0RC4 the problem now becomes:
>>>>
>>>> TopologyException: EdgeRing::computePoints: found null Directed Edge
>>>>
>>>> I believe there is in fact something wrong with the data.  However the
>>>> TopologyException does not identify the source of the problem.
>>>>
>>>> In looking through the mailing list archives, I see questions around
>>>> this issue have come up in the past (eg September 2006).  I don't see
>>>> anyone suggesting ideas on how to find the offending data elements.
>>>>
>>>> Also, trolling through google doesn't seem to turn up anything.
>>>>
>>>> Does anyone have any ideas on how to explore the data to look for
>>>> problems such as this.
>>>>
>>>> Thanks in advance!
>>>>
>>>> On Thu, 2007-13-09 at 11:31 +0200, Andreas Laggner wrote:
>>>>   
>>>>         
>>>>> Hi Chris,
>>>>>
>>>>> as i had this errors i installed postgis with GEOS 3.0, and such an 
>>>>> errors never occurs again! I am not sure, but postgis 1.3.1 can be built 
>>>>> with GEOS 2.2 too......just run the query select postgis_full_version(); 
>>>>> and check your version of GEOS.
>>>>>
>>>>> cheers      Andreas
>>>>>
>>>>>
>>>>> Chris Hermansen schrieb:
>>>>>     
>>>>>           
>>>>>> Hi folks;
>>>>>>
>>>>>> I had this problem today:
>>>>>>
>>>>>> AssertionFailedException: EdgeRing::computePoints: found null Directed
>>>>>> Edge
>>>>>>
>>>>>> I see in the archives that there are others who have suffered this, back
>>>>>> in 2006 and then in 2005, but there don't seem to be any offerings of
>>>>>> techniques to either repair the code or the data - and based on the
>>>>>> error above, I'm not sure which is ultimately at fault.
>>>>>>
>>>>>> Does anyone have some more up-to-date thought on this?
>>>>>>
>>>>>> I'm running postgis-1.3.1 on Ubuntu with the packaged postgresql-8.2
>>>>>> installed.
>>>>>>
>>>>>> Thanks in advance!
>>>>>>   
>>>>>>       
>>>>>>             
>>>>>     
>>>>>           


-- 
Dipl. Geoökologe Andreas Laggner
Institut für Ländliche Räume (LR)
Bundesforschungsanstalt für Landwirtschaft (FAL)

Institute of Rural Studies
Federal Agricultural Research Centre (FAL)

Bundesallee 50
D-38116 Braunschweig

Tel.: (+49) (0)531 596 5515
Fax: (+49) (0)531 596 5599
E-mail: andreas.laggner at fal.de
Homepage: http://www.lr.fal.de/ 




More information about the postgis-users mailing list