Ejemplo n.º 1
0
 public void BasicBuffer()
 {
     ILineString ls = new WKTReader().Read("LINESTRING(0 0, 100 100)") as ILineString;
     Assert.IsNotNull(ls);
     BufferBuilder bb = new BufferBuilder();
     IGeometry res = bb.Buffer(ls, 10);
     Assert.IsNotNull(res);
 }
Ejemplo n.º 2
0
 public void BasicBufferPoint()
 {
     IPoint ls = new WKTReader().Read("POINT(0 0)") as IPoint;
     Assert.IsNotNull(ls);
     BufferBuilder bb = new BufferBuilder();
     bb.EndCapStyle = BufferStyle.CapSquare;
     bb.QuadrantSegments = 2;
     IGeometry actual = bb.Buffer(ls, 10);
     IGeometry expected = new WKTReader().Read("POLYGON((10 10, -10 10, -10 -10, 10 -10, 10 10))");
     Assert.AreEqual(actual, expected);
 }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fixedPM"></param>
        private void BufferFixedPrecision(IPrecisionModel fixedPM)
        {
            INoder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)), fixedPM.Scale);

            BufferBuilder bufBuilder = new BufferBuilder();

            bufBuilder.WorkingPrecisionModel = fixedPM;
            bufBuilder.Noder            = noder;
            bufBuilder.QuadrantSegments = quadrantSegments;
            bufBuilder.EndCapStyle      = endCapStyle;
            // this may throw an exception, if robustness errors are encountered
            resultGeometry = bufBuilder.Buffer(argGeom, distance);
        }
Ejemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 private void BufferOriginalPrecision()
 {
     try
     {
         BufferBuilder bufBuilder = new BufferBuilder();
         bufBuilder.QuadrantSegments = quadrantSegments;
         bufBuilder.EndCapStyle      = endCapStyle;
         resultGeometry = bufBuilder.Buffer(argGeom, distance);
     }
     catch (TopologyException ex)
     {
         saveException = ex;
         // don't propagate the exception - it will be detected by fact that resultGeometry is null
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="fixedPM"></param>
        private void BufferFixedPrecision(IPrecisionModel fixedPM)
        {
            INoder noder = new ScaledNoder(new MCIndexSnapRounder(new PrecisionModel(1.0)), fixedPM.Scale);

            var bufBuilder = new BufferBuilder
            {
                WorkingPrecisionModel = fixedPM,
                Noder = noder,
                QuadrantSegments = quadrantSegments,
                EndCapStyle = endCapStyle
            };
            // this may throw an exception, if robustness errors are encountered
            resultGeometry = bufBuilder.Buffer(argGeom, distance);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 
 /// </summary>
 private void BufferOriginalPrecision()
 {
     try 
     {
         var bufBuilder = new BufferBuilder {QuadrantSegments = quadrantSegments, EndCapStyle = endCapStyle};
         resultGeometry = bufBuilder.Buffer(argGeom, distance);
     }
     catch (ApplicationException ex) 
     {
         saveException = ex;
         // don't propagate the exception - it will be detected by fact that resultGeometry is null
     }
 }