Thanks Leonel,

I'd actually seen that solution, but that is specifically validating that 
the coordinates of a Point(X Y) WKT string are in the domain of a 
geographic coordinate system. I'm interested in the more general assessment 
of whether an alleged WKT string is well formatted - could be any of the 
geometry types.

My solution doesn't actually work without importing the Exception - and 
those are specific to backends. This fixes it, but is this the best way to 
catch the error in a general way?


if geometry is not None:
    try:
        geo_wkb = db.executesql("select 
st_geomfromtext('{}');".format(geometry))
    except db._adapter.driver.ProgrammingError:
        raise HTTP(404, "Invalid WKT Geometry")

Cheers,
David



On Friday, 15 March 2019 13:21:43 UTC, David Orme wrote:
>
>
> Hi,
>
> I'm looking for an approach to validate a user provided WKT geometry. The 
> obvious answer is to let the spatial backend do the validation, so this 
> works:
>
> if geometry is not None:
>     try:
>         geometry = db.executesql("select 
> st_geomfromtext('{}');".format(geometry))
>     except ProgrammingError:
>         raise HTTP(404, "Invalid WKT Geometry")
>
> I suspect that is probably pretty robust across backends but am I missing 
> something more general?
>
> Cheers,
> David
>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to