Hi Martin,

I've run a few datasets through the latest code from CVS, and all
appears to be ok. Thanks again for the quick support!

If there's anything I can do to assist in building test cases, etc,
please let me know.


Regards,

Gabriel

> -----Original Message-----
> From: [email protected] [mailto:jts-devel-
> [email protected]] On Behalf Of Martin Davis
> Sent: maandag 2 maart 2009 22:08
> To: JTS Topology Suite Development
> Subject: Re: [jts-devel] Odd behavior in negative mitred buffer
> 
> As I suspected, this problem was due to robustness issues in computing
> mitred joins for almost parallel segments.  I've commited a fix for
this
> to CVS - it handles all the test cases that you provided.
> 
> Let me know if you find any other issues.
> 
> I'll look into building your test cases into the JTS Test Suite - it
> really needs some good testing for the various buffer styles.
> 
> Martin
> 
> Gabriel Reid wrote:
> > Hi Martin,
> >
> > I've got a few other failure cases here, showing what seems to be a
few
> > different examples of this kind of behaviour:
> >
> > // Simple five-sided polygon that gets transformed into three
triangles
> > POLYGON ((589300.089821923 4519627.577687806, 589296.6197410262
> > 4519621.834087054, 589292.5450979208 4519615.089809029,
> > 589282.7894421419 4519620.983829066, 589289.8814929381
> > 4519632.722288636, 589300.089821923 4519627.577687806))
> >
> > // Another example of the same triangle behavior
> > POLYGON ((588978.2942617612 4519797.499233156, 588989.1612999197
> > 4519792.050291001, 588982.5784094566 4519779.549041149,
> > 588962.0866377753 4519790.334848753, 588967.4026187821
> > 4519802.960530801, 588978.2942617612 4519797.499233156))
> >
> > // Resulting polygon has a single edge extending off one corner
> > POLYGON ((589099.8017397423 4518490.719003885, 589097.1198886324
> > 4518486.20858194, 589090.9424687021 4518475.819013388,
589069.8993093553
> > 4518487.1362185385, 589078.7377975255 4518502.093799692,
> > 589081.1515112884 4518509.334764771, 589103.7370954598
> > 4518497.015419995, 589099.8017397423 4518490.719003885))
> >
> > // Similar behaviour as the original case that was posted, this
polygon
> > // has to points that are very close together
> > POLYGON ((587854.8616905196 4519121.941123185, 587863.6671614297
> > 4519138.176489661, 587863.9386104685 4519138.676991724,
> > 587880.5408633598 4519129.672513268, 587871.463857397
> > 4519112.9366913745, 587854.8616905196 4519121.941123185))
> >
> > All of these examples can be demonstrated with the code that I
posted
> > before (creating a mitred buffer with a magnitude of -5.0).
> >
> > Again, if you don't have time and/or motivation to look into this,
I'd
> > be more than happy to attempt to assist in doing that, especially if
you
> > have a good idea of where to look (I'm trying to have a look
anyhow).
> >
> >
> > Thanks again for the assistance,
> >
> > Gabriel
> >
> >
> >
> >> -----Original Message-----
> >> From: [email protected] [mailto:jts-devel-
> >> [email protected]] On Behalf Of Martin Davis
> >> Sent: donderdag 26 februari 2009 17:50
> >> To: JTS Topology Suite Development
> >> Subject: Re: [jts-devel] Odd behavior in negative mitred buffer
> >>
> >> Ok, Gabriel.  It sounds like some progress, at least.
> >>
> >> Please post the other failure cases when you have isolated them.
> >> Perhaps the next problem will be as easy to solve as the last
one...
> >>
> > 8^)
> >
> >> Gabriel Reid wrote:
> >>
> >>> Hi Martin,
> >>>
> >>> Thanks a lot for the quick support!
> >>>
> >>> I just tested this on the full dataset that I've been working
with,
> >>>
> > and
> >
> >>> there are still some cases coming out; I'll try to isolate what
the
> >>> situation is with those cases and see if there is a pattern (or if
I
> >>>
> > can
> >
> >>> do something further with data cleaning).
> >>>
> >>> I'll keep you posted.
> >>>
> >>>
> >>> Gabriel
> >>>
> >>>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: [email protected] [mailto:jts-devel-
> >>>> [email protected]] On Behalf Of Martin Davis
> >>>> Sent: donderdag 26 februari 2009 2:22
> >>>> To: JTS Topology Suite Development
> >>>> Subject: Re: [jts-devel] Odd behavior in negative mitred buffer
> >>>>
> >>>> Good news!  I looked into this problem, and found a minor bug in
> >>>>
> > the
> >
> >>>> buffer input simplification algorithm.  With this fix the
situation
> >>>>
> >>>>
> >>> you
> >>>
> >>>
> >>>> provided is no longer a problem.
> >>>>
> >>>> This is commited to CVS.
> >>>>
> >>>> Can you try this out on to see if it solves the other problems
you
> >>>>
> >>>>
> >>> have
> >>>
> >>>
> >>>> encountered?
> >>>>
> >>>>
> >>>> Martin Davis wrote:
> >>>>
> >>>>
> >>>>> This is probably due to some sort of limitation with the mitring
> >>>>> algorithm.  However, I notice that the 7th and 8th points of
your
> >>>>> geometry are almost identical.  If I remove one of these, the
> >>>>>
> > mitred
> >
> >>>>> buffer looks fine.  Can you clean the points of your geometries
> >>>>> somehow to avoid this situation?
> >>>>>
> >>>>> Gabriel Reid wrote:
> >>>>>
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> I'm trying to create a negative mitred buffer on a (simple)
> >>>>>>
> > polygon
> >
> >>>> with
> >>>>
> >>>>
> >>>>>> JTS 1.10, and I'm getting strange results very occasionally.
For
> >>>>>> example, the following code gives me an output geometry that
> >>>>>>
> >>>>>>
> >>> actually
> >>>
> >>>
> >>>>>> extends outside the original geometry (even though a negative
> >>>>>>
> >>>>>>
> >>> buffer is
> >>>
> >>>
> >>>>>> used).
> >>>>>>
> >>>>>>     WKTReader wktReader = new WKTReader();
> >>>>>>     String geom = "POLYGON ((588736.6028960398
4518922.914991864,
> >>>>>>
> > "
> >
> >>>>>>         + "588736.1060708747 4518922.061957178,
> >>>>>> 588718.6830715544 "
> >>>>>>         + "4518930.620699637, 588712.0102834741
> >>>>>> 4518933.8985304395, "
> >>>>>>         + "588722.7612465625 4518964.956739423,
> >>>>>> 588755.2073151038 "
> >>>>>>         + "4518948.2420851765, 588750.2892019567
> >>>>>> 4518938.490656119, "
> >>>>>>         + "588750.2892047082 4518938.490654858,
> >>>>>> 588741.1098934844 "
> >>>>>>         + "4518920.290260831, 588736.6028960398
> >>>>>> 4518922.914991864))";
> >>>>>>     Geometry inputGeometry = wktReader.read(geom);
> >>>>>>
> >>>>>>     BufferParameters bufferParameters = new BufferParameters();
> >>>>>>     bufferParameters.setJoinStyle(BufferParameters.JOIN_MITRE);
> >>>>>>     Geometry bufferedGeometry = BufferOp.bufferOp(
> >>>>>>                         inputGeometry, -5.0,
> >>>>>>                         bufferParameters);
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> I've tried using a few different strategies in investigating
> >>>>>>
> > this,
> >
> >>> such
> >>>
> >>>
> >>>>>> as reducing the coordinate precision, offsetting the x and/or y
> >>>>>> coordinates by a constant offset, or iteratively buffering the
> >>>>>>
> >>>>>>
> >>> geometry
> >>>
> >>>
> >>>>>> (for example, buffering it five times by -1.0). All of these
> >>>>>>
> >>>>>>
> >>> strategies
> >>>
> >>>
> >>>>>> have had limited success, and none seem to work in all cases
that
> >>>>>>
> >>>>>>
> >>> I'm
> >>>
> >>>
> >>>>>> encountering.
> >>>>>>
> >>>>>> Does this situation spring out to anyone, or is there any
advice
> >>>>>>
> > on
> >
> >>> how
> >>>
> >>>
> >>>>>> to get around this (or is this the expected behaviour for some
> >>>>>>
> >>>>>>
> >>>> reason?).
> >>>>
> >>>>
> >>>>>> I would be happy to *attempt* to fix this in JTS if someone can
> >>>>>>
> >>>>>>
> >>> point
> >>>
> >>>
> >>>> me
> >>>>
> >>>>
> >>>>>> in the general direction of where the issue probably is.
> >>>>>>
> >>>>>>
> >>>>>> Thanks in advance for any information,
> >>>>>>
> >>>>>> Gabriel Reid
> >>>>>> _______________________________________________
> >>>>>> jts-devel mailing list
> >>>>>> [email protected]
> >>>>>> http://lists.refractions.net/mailman/listinfo/jts-devel
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>> --
> >>>> Martin Davis
> >>>> Senior Technical Architect
> >>>> Refractions Research, Inc.
> >>>> (250) 383-3022
> >>>>
> >>>> _______________________________________________
> >>>> jts-devel mailing list
> >>>> [email protected]
> >>>> http://lists.refractions.net/mailman/listinfo/jts-devel
> >>>>
> >>>>
> >>> _______________________________________________
> >>> jts-devel mailing list
> >>> [email protected]
> >>> http://lists.refractions.net/mailman/listinfo/jts-devel
> >>>
> >>>
> >>>
> >> --
> >> Martin Davis
> >> Senior Technical Architect
> >> Refractions Research, Inc.
> >> (250) 383-3022
> >>
> >> _______________________________________________
> >> jts-devel mailing list
> >> [email protected]
> >> http://lists.refractions.net/mailman/listinfo/jts-devel
> >>
> > _______________________________________________
> > jts-devel mailing list
> > [email protected]
> > http://lists.refractions.net/mailman/listinfo/jts-devel
> >
> >
> 
> --
> Martin Davis
> Senior Technical Architect
> Refractions Research, Inc.
> (250) 383-3022
> 
> _______________________________________________
> jts-devel mailing list
> [email protected]
> http://lists.refractions.net/mailman/listinfo/jts-devel
_______________________________________________
jts-devel mailing list
[email protected]
http://lists.refractions.net/mailman/listinfo/jts-devel

Reply via email to