[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgis-devel
Subject:    Re: [postgis-devel] ST_LineToCurve output type
From:       Sandro Santilli <strk () keybit ! net>
Date:       2013-08-14 7:55:06
Message-ID: 20130814075506.GB3444 () gnash
[Download RAW message or body]

On Tue, Aug 13, 2013 at 09:43:16PM +0200, Sandro Santilli wrote:
> On Tue, Aug 13, 2013 at 12:36:02PM -0700, Paul Ramsey wrote:
> > On Tuesday, August 13, 2013 at 12:32 PM, Sandro Santilli wrote:
> > > I noticed that ST_LineToCurve returns linear-type geometries when it doesn't
> > > detect any curve in input. Given curved types can legitimately represent lines
> > > (compoundcurve only containing linestring elements) wouldn't it be more
> > > appropriate to always return curves ? It would make a nice invariant, IMHO.
> > > 
> > > Any reason NOT to do that ?
> > Because it's for un-stroking arcs, quite specifically, as your recent restriction \
> > on the kinds of inputs it would accept emphasizes. If the input is not an \
> > unstroked arc, we shouldn't muck with it.  
> > Take a compoundcurve. It's got arcy things in it, it's got linear things in it. \
> > Run curvetoline on it. Now it's just liney things. Now run linetocurve on it. It \
> > should now be a mixture again of liney things and curvey things. 
> > Take a linestring. It's just liney things. Run curvetoline on it. It's still just \
> > liney things. Run linetocurve on it. It's still just liney things. 
> > I think the current behavior makes sense.
> 
> Uhm, I actually kind of agree about it.
> But then again, take a compoundcurve that only has liney things,
> run CurveToLine, run LineToCurve and you end up with a linestring
> when you started from a compoundcurve.
> 
> I guess this is similar to the "multi" status of some inputs 
> lost during overlay operations. That's what we added ST_Multi for,
> should we have an ST_Curve to do a similar thing ? Or an ST_ForceCurve
> kind of casting function ?

By the way, didn't we have an Homogenize function exposed to SQL ?
Having the homogenizer it would be simple to go from curve to line
(a curve with no curved elements can become a line).

--strk;
_______________________________________________
postgis-devel mailing list
postgis-devel@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic