Hi Michal,

Shapely does use logging, but this looks like your GEOS library may have
been compiled with GEOS_DEBUG defined, which results in debug messages
printed to stderr. Can you tell me how you installed Shapely and GEOS?



On Fri, Aug 19, 2016 at 3:59 PM, Benjamin Root <ben.v.r...@gmail.com> wrote:

> Are you looking to suppress the message completely (because I haven't be
> able to do that), or are you looking to be able to output the message to
> some place under your control? If it is the latter, you could do the
> following:
>
> >>> import shapely.validation
> >>> shapely.validation.explain_validity(g2)
> 'Self-intersection[0 0]'
> >>> shapely.validation.explain_validity(g1)
> 'Valid Geometry'
>
> Oddly enouogh, when I rain your example, I didn't get that message printed
> to my screen (skipping the sys.stderr part). I know this used to be an
> issue, but maybe it is fixed depending on your version of libgeos_c? The
> reason why it has been difficult in the past to deal with the message is
> because it isn't coming from python, it is coming from libgeos_c. Maybe it
> got fixed?
>
> Ben Root
>
> P.S. - looking at my version of shapely (v1.3.0), I see in shapely.geos
> some functions regarding error handlers. Maybe something there could help?
>
>
> On Fri, Aug 19, 2016 at 9:18 AM, Michal Seidl <michal.se...@gmail.com>
> wrote:
>
>> Hello,
>> I am not sure if it is question about Python itself but I use shapely
>> 1.5.16 version and I am facing behavior of geometry.is_valid property.
>> I want to catch is_valid messages but not mix with other stderr.
>> Redirecting stderr does not help.
>>
>> This code:
>> ============
>>
>> import shapely.wkt
>> import sys
>>
>> s1 = '''POLYGON ((0 0,0 1,2 2,0 0))'''
>> s2 = '''POLYGON ((0 0,1 1,2 2,0 0))'''
>>
>> g1 = shapely.wkt.loads(s1)
>> g2 = shapely.wkt.loads(s2)
>>
>> sys.stderr = open('/is_valid_err.log','w')
>>
>> a = g1.is_valid
>> b = g2.is_valid
>>
>> print(a)
>> print(b)
>>
>> Returns:
>> ===========
>>
>> Self-intersection at or near point 0 0
>> True
>> False
>>
>> Is there any way to suppress writing to stderr by 'is_valid'?
>>
>> Thanks Michal
>> _______________________________________________
>> Community mailing list
>> Community@lists.gispython.org
>> http://lists.gispython.org/mailman/listinfo/community
>>
>
>
> _______________________________________________
> Community mailing list
> Community@lists.gispython.org
> http://lists.gispython.org/mailman/listinfo/community
>
>


-- 
Sean Gillies
_______________________________________________
Community mailing list
Community@lists.gispython.org
http://lists.gispython.org/mailman/listinfo/community

Reply via email to