当前位置: 首页>>代码示例>>C#>>正文


C# GeometryFactory.CreateLinearRing方法代码示例

本文整理汇总了C#中Geotools.Geometries.GeometryFactory.CreateLinearRing方法的典型用法代码示例。如果您正苦于以下问题:C# GeometryFactory.CreateLinearRing方法的具体用法?C# GeometryFactory.CreateLinearRing怎么用?C# GeometryFactory.CreateLinearRing使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Geotools.Geometries.GeometryFactory的用法示例。


在下文中一共展示了GeometryFactory.CreateLinearRing方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Poly1

		private Polygon Poly1()
		{
			_coords1 = new Coordinates();
			Coordinate coord = new Coordinate(5, 1);
			_coords1.Add(coord);
			coord = new Coordinate(6, 2);
			_coords1.Add(coord);
			coord = new Coordinate(7, 3);
			_coords1.Add(coord);
			coord = new Coordinate(6, 4);
			_coords1.Add(coord);
			coord = new Coordinate(5, 5);
			_coords1.Add(coord);
			coord = new Coordinate(4, 4);
			_coords1.Add(coord);
			coord = new Coordinate(3, 3);
			_coords1.Add(coord);
			coord = new Coordinate(4, 2);
			_coords1.Add(coord);
			coord = new Coordinate(5, 1);
			_coords1.Add(coord);

			_gf = new GeometryFactory(_precMod, _sRID);
			_exterior1 = _gf.CreateLinearRing(_coords1);
			Polygon polygon = _gf.CreatePolygon(_exterior1);

			return polygon;
		}
开发者ID:xuchuansheng,项目名称:GenXSource,代码行数:28,代码来源:PolygonTest.cs

示例2: ThrowsException

        private LinearRing ThrowsException()
        {
            Coordinates coords = new Coordinates();
            Coordinate coord ;//Coordinate(0, 0);

            coord = new Coordinate(10, 13);
            coords.Add(coord);
            coord = new Coordinate(11, 13);
            coords.Add(coord);
            coord = new Coordinate(12, 13);
            coords.Add(coord);
            coord = new Coordinate(13, 14);
            coords.Add(coord);
            coord = new Coordinate(14, 15);
            coords.Add(coord);
            coord = new Coordinate(15, 16);
            coords.Add(coord);
            coord = new Coordinate(15, 17);
            coords.Add(coord);
            coord = new Coordinate(15, 18);
            coords.Add(coord);
            coord = new Coordinate(14, 19);
            coords.Add(coord);
            coord = new Coordinate(13, 20);
            coords.Add(coord);
            coord = new Coordinate(12, 21);
            coords.Add(coord);
            coord = new Coordinate(11, 21);
            coords.Add(coord);
            coord = new Coordinate(10, 21);
            coords.Add(coord);
            coord = new Coordinate(9, 20);
            coords.Add(coord);
            coord = new Coordinate(8, 19);
            coords.Add(coord);
            coord = new Coordinate(7, 18);
            coords.Add(coord);
            coord = new Coordinate(7, 17);
            coords.Add(coord);
            coord = new Coordinate(7, 16);
            coords.Add(coord);
            coord = new Coordinate(8, 15);
            coords.Add(coord);
            coord = new Coordinate(9, 14);
            coords.Add(coord);

            GeometryFactory gf = new GeometryFactory(_precMod, _sRID);
            LinearRing lr = gf.CreateLinearRing(coords);
            return lr;
        }
开发者ID:vmoll,项目名称:geotools,代码行数:50,代码来源:LinearRingTest.cs

示例3: NonSimple

        /// <summary>
        /// Method to create a NonSimple LinearRing for testing purposes
        /// </summary>
        /// <returns>A LinearRing</returns>
        private LinearRing NonSimple()
        {
            Coordinates coords = new Coordinates();
            Coordinate coord = new Coordinate(0, 0);

            coord = new Coordinate(2, 2);
            coords.Add(coord);
            coord = new Coordinate(3, 1);
            coords.Add(coord);
            coord = new Coordinate(4, 2);
            coords.Add(coord);
            coord = new Coordinate(5, 3);
            coords.Add(coord);
            coord = new Coordinate(6, 4);
            coords.Add(coord);
            coord = new Coordinate(7, 5);
            coords.Add(coord);
            coord = new Coordinate(7, 6);
            coords.Add(coord);
            coord = new Coordinate(7, 7);
            coords.Add(coord);
            coord = new Coordinate(7, 8);
            coords.Add(coord);
            coord = new Coordinate(7, 9);
            coords.Add(coord);
            coord = new Coordinate(6, 10);
            coords.Add(coord);
            coord = new Coordinate(5, 11);
            coords.Add(coord);
            coord = new Coordinate(6, 12);
            coords.Add(coord);
            coord = new Coordinate(7, 13);
            coords.Add(coord);
            coord = new Coordinate(8, 14);
            coords.Add(coord);
            coord = new Coordinate(9, 13);
            coords.Add(coord);
            coord = new Coordinate(10, 12);
            coords.Add(coord);
            coord = new Coordinate(10, 11);
            coords.Add(coord);
            coord = new Coordinate(10, 10);
            coords.Add(coord);
            coord = new Coordinate(10, 9);
            coords.Add(coord);
            coord = new Coordinate(9, 8);
            coords.Add(coord);
            coord = new Coordinate(8, 7);
            coords.Add(coord);
            coord = new Coordinate(7, 7);
            coords.Add(coord);
            coord = new Coordinate(6, 7);
            coords.Add(coord);
            coord = new Coordinate(5, 8);
            coords.Add(coord);
            coord = new Coordinate(4, 8);
            coords.Add(coord);
            coord = new Coordinate(3, 7);
            coords.Add(coord);
            coord = new Coordinate(2, 6);
            coords.Add(coord);
            coord = new Coordinate(1, 5);
            coords.Add(coord);
            coord = new Coordinate(2, 4);
            coords.Add(coord);
            coord = new Coordinate(1, 3);
            coords.Add(coord);
            coord = new Coordinate(2, 2);
            coords.Add(coord);

            GeometryFactory gf = new GeometryFactory(_precMod, _sRID);
            LinearRing lr = gf.CreateLinearRing(coords);
            return lr;
        }
开发者ID:vmoll,项目名称:geotools,代码行数:78,代码来源:LinearRingTest.cs

示例4: Poly2

		private Polygon Poly2()
		{
			Coordinates coords = new Coordinates();
			Coordinate coord = new Coordinate(10, 13);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(11, 13);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(12, 13);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(13, 14);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(14, 15);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(15, 16);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(15, 17);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(15, 18);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(14, 19);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(13, 20);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(12, 21);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(11, 21);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(10, 21);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(9, 20);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(8, 19);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(7, 18);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(7, 17);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(7, 16);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(8, 15);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(9, 14);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(10, 13);
			_coords2.Add(coord);
			coords.Add(coord);

			_gf = new GeometryFactory(_precMod, _sRID);
			_exterior2 = _gf.CreateLinearRing(coords);

			coords = new Coordinates();
			coord = new Coordinate(10, 16);
			_coords2.Add(coord);
			coords.Add(coord);
			coord = new Coordinate(11, 17);
			coords.Add(coord);
			_coords2.Add(coord);
			coord = new Coordinate(10, 18);
			coords.Add(coord);
			_coords2.Add(coord);
			coord = new Coordinate(9, 17);
			coords.Add(coord);
			_coords2.Add(coord);
			coord = new Coordinate(10, 16);
			coords.Add(coord);
			_coords2.Add(coord);

			_interior2 = _gf.CreateLinearRing(coords);
			LinearRing[] linearRings = new LinearRing[1];
			linearRings[0] = _interior2;

			_gf = new GeometryFactory();
			Polygon polygon = _gf.CreatePolygon(_exterior2, linearRings);

			return polygon;
		}
开发者ID:xuchuansheng,项目名称:GenXSource,代码行数:96,代码来源:PolygonTest.cs

示例5: test_IsEmpty

		public void test_IsEmpty()
		{
			Polygon poly = Poly1();
			Assertion.AssertEquals("IsEmpty-1: ", false, poly.IsEmpty());

			Coordinates coords = new Coordinates();
			_gf = new GeometryFactory(_precMod, _sRID);
			LinearRing lr = _gf.CreateLinearRing(coords);
			poly = _gf.CreatePolygon(lr);
			Assertion.AssertEquals("IsEmpty-2: ", true, poly.IsEmpty());
		}
开发者ID:xuchuansheng,项目名称:GenXSource,代码行数:11,代码来源:PolygonTest.cs

示例6: Read

		/// <summary>
		/// Reads a stream and converts the shapefile record to an equilivent geometry object.
		/// </summary>
		/// <param name="file">The stream to read.</param>
		/// <param name="geometryFactory">The geometry factory to use when making the object.</param>
		/// <returns>The Geometry object that represents the shape file record.</returns>
		public override Geometry Read(BigEndianBinaryReader file, GeometryFactory geometryFactory)
		{
			int shapeTypeNum = file.ReadInt32();
			ShapeType shapeType = (ShapeType)Enum.Parse(typeof(ShapeType),shapeTypeNum.ToString());
			if (shapeType != ShapeType.Polygon)
			{
				throw new ShapefileException("Attempting to load a non-polygon as polygon.");
			}

			//read and for now ignore bounds.
			double[] box = new double[4];
			for (int i = 0; i < 4; i++) 
			{
				box[i] = file.ReadDouble();
			}

			int[] partOffsets;
        
			int numParts = file.ReadInt32();
			int numPoints = file.ReadInt32();
			partOffsets = new int[numParts];
			for (int i = 0; i < numParts; i++)
			{
				partOffsets[i] = file.ReadInt32();
			}

			ArrayList shells = new ArrayList();
			ArrayList holes = new ArrayList();

			int start, finish, length;
			for (int part = 0; part < numParts; part++)
			{
				start = partOffsets[part];
				if (part == numParts - 1)
				{
					finish = numPoints;
				}
				else 
				{
					finish = partOffsets[part + 1];
				}
				length = finish - start;
				Coordinates points = new Coordinates();
				points.Capacity=length;
				for (int i = 0; i < length; i++)
				{
					Coordinate external = new Coordinate(file.ReadDouble(), file.ReadDouble() );
					Coordinate internalCoord = geometryFactory.PrecisionModel.ToInternal(external);
					points.Add(internalCoord);
				}
				LinearRing ring = geometryFactory.CreateLinearRing(points);
				//Debug.Assert(ring.IsValid()==false,"Ring is not valid.");
				if (_cga.IsCCW(points))
				{
					holes.Add(ring);
				}
				else 
				{
					shells.Add(ring);
				}
			}

			//now we have a list of all shells and all holes
			ArrayList holesForShells = new ArrayList(shells.Count);
			for (int i = 0; i < shells.Count; i++)
			{
				holesForShells.Add(new ArrayList());
			}
			//find homes
			for (int i = 0; i < holes.Count; i++)
			{
				LinearRing testRing = (LinearRing) holes[i];
				LinearRing minShell = null;
				Envelope minEnv = null;
				Envelope testEnv = testRing.GetEnvelopeInternal();
				Coordinate testPt = testRing.GetCoordinateN(0);
				LinearRing tryRing;
				for (int j = 0; j < shells.Count; j++)
				{
					tryRing = (LinearRing) shells[j];
					Envelope tryEnv = tryRing.GetEnvelopeInternal();
					if (minShell != null) 
					{
						minEnv = minShell.GetEnvelopeInternal();
					}
					bool isContained = false;
					Coordinates coordList = tryRing.GetCoordinates() ;
					if (tryEnv.Contains(testEnv)
						&& (_cga.IsPointInRing(testPt,coordList ) ||
						(PointInList(testPt,coordList)))) 
					{
						isContained = true;
					}
					// check if this new containing ring is smaller than the
//.........这里部分代码省略.........
开发者ID:xuchuansheng,项目名称:GenXSource,代码行数:101,代码来源:PolygonHandler.cs

示例7: CreateMP1

		private MultiPolygon CreateMP1()
		{
			Polygon[] polygons = new Polygon[2];
			LineString[] rings = new LineString[2];

			Coordinates coords = new Coordinates();
			Coordinate coord = new Coordinate(5, 1);
			coords.Add(coord);
			coord = new Coordinate(6, 2);
			coords.Add(coord);
			coord = new Coordinate(7, 3);
			coords.Add(coord);
			coord = new Coordinate(6, 4);
			coords.Add(coord);
			coord = new Coordinate(5, 5);
			coords.Add(coord);
			coord = new Coordinate(4, 4);
			coords.Add(coord);
			coord = new Coordinate(3, 3);
			coords.Add(coord);
			coord = new Coordinate(4, 2);
			coords.Add(coord);
			coord = new Coordinate(5, 1);
			coords.Add(coord);

			GeometryFactory gf = new GeometryFactory(_precMod, _sRID);

            LinearRing exterior1 = gf.CreateLinearRing(coords);
			polygons[0] = gf.CreatePolygon(exterior1);
			rings[0] = exterior1 as LineString;

			coords = new Coordinates();
			coord = new Coordinate(5, 1);
			coords.Add(coord);
			coord = new Coordinate(6, 2);
			coords.Add(coord);
			coord = new Coordinate(7, 3);
			coords.Add(coord);
			coord = new Coordinate(6, 4);
			coords.Add(coord);
			coord = new Coordinate(5, 5);
			coords.Add(coord);
			coord = new Coordinate(4, 4);
			coords.Add(coord);
			coord = new Coordinate(3, 3);
			coords.Add(coord);
			coord = new Coordinate(4, 2);
			coords.Add(coord);
			coord = new Coordinate(5, 1);
			coords.Add(coord);

			LinearRing exterior2 = gf.CreateLinearRing(coords);
			polygons[1] = gf.CreatePolygon(exterior2);
			rings[1] = exterior2;

			_mls1 = gf.CreateMultiLineString(rings);

			return gf.CreateMultiPolygon(polygons);
		}
开发者ID:xuchuansheng,项目名称:GenXSource,代码行数:59,代码来源:MultiPolygonTest.cs

示例8: CreateMP2

		private MultiPolygon CreateMP2()
		{
			Polygon[] polygons = new Polygon[2];

			GeometryFactory gf = new GeometryFactory(_precMod, _sRID);

			Coordinates coords = new Coordinates();
			Coordinate coord = new Coordinate(10, 13);
			coords.Add(coord);
			coord = new Coordinate(11, 13);
			coords.Add(coord);
			coord = new Coordinate(12, 13);
			coords.Add(coord);
			coord = new Coordinate(13, 14);
			coords.Add(coord);
			coord = new Coordinate(14, 15);
			coords.Add(coord);
			coord = new Coordinate(15, 16);
			coords.Add(coord);
			coord = new Coordinate(15, 17);
			coords.Add(coord);
			coord = new Coordinate(15, 18);
			coords.Add(coord);
			coord = new Coordinate(14, 19);
			coords.Add(coord);
			coord = new Coordinate(13, 20);
			coords.Add(coord);
			coord = new Coordinate(12, 21);
			coords.Add(coord);
			coord = new Coordinate(11, 21);
			coords.Add(coord);
			coord = new Coordinate(10, 21);
			coords.Add(coord);
			coord = new Coordinate(9, 20);
			coords.Add(coord);
			coord = new Coordinate(8, 19);
			coords.Add(coord);
			coord = new Coordinate(7, 18);
			coords.Add(coord);
			coord = new Coordinate(7, 17);
			coords.Add(coord);
			coord = new Coordinate(7, 16);
			coords.Add(coord);
			coord = new Coordinate(8, 15);
			coords.Add(coord);
			coord = new Coordinate(9, 14);
			coords.Add(coord);
			coord = new Coordinate(10, 13);
			coords.Add(coord);

			LinearRing exterior = gf.CreateLinearRing(coords);

			coords = new Coordinates();
			coord = new Coordinate(10, 16);
			coords.Add(coord);
			coord = new Coordinate(11, 17);
			coords.Add(coord);
			coord = new Coordinate(10, 18);
			coords.Add(coord);
			coord = new Coordinate(9, 17);
			coords.Add(coord);
			coord = new Coordinate(10, 16);
			coords.Add(coord);

			LinearRing interior = gf.CreateLinearRing(coords);
			LinearRing[] linearRings = new LinearRing[1];
			linearRings[0] = interior;

			polygons[0] = gf.CreatePolygon(exterior, linearRings);

			coords = new Coordinates();
			coord = new Coordinate(5, 1);
			coords.Add(coord);
			coord = new Coordinate(6, 2);
			coords.Add(coord);
			coord = new Coordinate(7, 3);
			coords.Add(coord);
			coord = new Coordinate(6, 4);
			coords.Add(coord);
			coord = new Coordinate(5, 5);
			coords.Add(coord);
			coord = new Coordinate(4, 4);
			coords.Add(coord);
			coord = new Coordinate(3, 3);
			coords.Add(coord);
			coord = new Coordinate(4, 2);
			coords.Add(coord);
			coord = new Coordinate(5, 1);
			coords.Add(coord);

			exterior = gf.CreateLinearRing(coords);
			polygons[1] = gf.CreatePolygon(exterior);

			return gf.CreateMultiPolygon(polygons);
		}
开发者ID:xuchuansheng,项目名称:GenXSource,代码行数:95,代码来源:MultiPolygonTest.cs


注:本文中的Geotools.Geometries.GeometryFactory.CreateLinearRing方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。