Пример #1
0
		public void Point3D()
		{
			// Warm up assertions:
			IPoint point2D = new Point(1, 2);
			Assert.IsTrue(Double.IsNaN(point2D.Z));

			IPoint point3D = new Point(1, 2, 3);
			Assert.IsFalse(Double.IsNaN(point3D.Z));

			// The real thing:
			IPoint source = new Point(123, 456, 789);
			byte[] bytes = new PostGisWriter().Write(source);
			IPoint target = (IPoint)new PostGisReader().Read(bytes);
			Assert.AreEqual(source.X, target.X);
			Assert.AreEqual(source.Y, target.Y);
			Assert.AreEqual(source.Z, target.Z);
		}
Пример #2
0
		public void LineString3D()
		{
			const int size = 10;
			ICoordinate[] points = new ICoordinate[size];
			for (int i = 0; i < size; i++)
			{
				// just some arbitrary values
				points[i] = new Coordinate(100*Math.Sin(i), 200*Math.Cos(i), 300*Math.Tan(i));
			}
			ILineString source = new LineString(points);
			byte[] bytes = new PostGisWriter().Write(source);
			ILineString target = (ILineString)new PostGisReader().Read(bytes);
			for (int i = 0; i < size; i++)
			{
				Assert.AreEqual(source.Coordinates[i].X, target.Coordinates[i].X);
				Assert.AreEqual(source.Coordinates[i].Y, target.Coordinates[i].Y);
				Assert.AreEqual(source.Coordinates[i].Z, target.Coordinates[i].Z);
			}
		}
Пример #3
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="wkt"></param>
        /// <param name="srid"></param>
		private static void General(string wkt, int srid)
		{
			IGeometry geom = wr.Read(wkt);
			string parsed = geom.AsText();
			IGeometry regeom = wr.Read(parsed);
			string reparsed = regeom.AsText();

			geom.SRID = srid;
			regeom.SRID = srid;

			Assert.IsTrue(geom.Equals(regeom));
			Assert.AreEqual(parsed, reparsed);

			byte[] bytesB = new PostGisWriter(ByteOrder.BigEndian).Write(regeom);
			regeom = br.Read(bytesB);
			Assert.IsTrue(geom.Equals(regeom));

			byte[] bytesL = new PostGisWriter(ByteOrder.LittleEndian).Write(regeom);
			regeom = br.Read(bytesL);
			Assert.IsTrue(geom.Equals(regeom));			
			Assert.AreEqual(bytesB.Length, bytesL.Length);
		}