예제 #1
0
        public void TestRandomPointsRaster()
        {
            _timer.Restart();

            var ds = OpenDatasource(Path.Combine(WorldProjectPath, "Raster", "NE2_50M_SR.jpg"));

            const int NumPoints = 5000;

            Debug.Write(string.Format("Creating {0} random points", NumPoints));
            var tool = new RandomPointsTool {
                NumPoints = NumPoints, InputLayer = ds, OutputLayer = new OutputLayerInfo {
                    MemoryLayer = true
                }
            };

            RunTool(tool);

            Debug.Write(" ... ");
            var result = tool.OutputLayer.Result as IFeatureSet;

            Assert.IsNotNull(result);

            // Check number of features:
            Assert.AreEqual(result.NumFeatures, NumPoints);

            // Check envelop:
            Assert.IsTrue(ds.Datasource.Envelope.EqualsTo(result.Envelope, 1), "The resulting envelop is not equal to the input envelop");
            Debug.Write(" ..the resulting envelope is OK.. ");

            result.Dispose();
            Debug.WriteLine(" Done!");
            Debug.WriteLine("Elapsed time " + GetDateString(_timer.ElapsedMilliseconds));
        }
예제 #2
0
        public void TestRandomPointsVector()
        {
            _timer.Restart();
            var fs = OpenFeatureSet(Path.Combine(UsaShapefilesPath, "cities.shp"));

            const int NumPoints = 5000;

            Debug.Write(string.Format("Creating {0} random points", NumPoints));
            var tool = new RandomPointsTool {
                NumPoints = NumPoints, InputLayer = new DatasourceInput(fs), OutputLayer = new OutputLayerInfo {
                    MemoryLayer = true
                }
            };

            RunTool(tool);

            Debug.Write(" ... ");
            var result = tool.OutputLayer.Result as IFeatureSet;

            Assert.IsNotNull(result);

            // Check number of features:
            Assert.AreEqual(result.NumFeatures, NumPoints);

            // Check envelop:
            Assert.IsTrue(fs.Envelope.EqualsTo(result.Envelope, 1), "The resulting envelop is not equal to the input envelop");
            Debug.Write(" ..the resulting envelope is OK.. ");

            result.Dispose();
            Debug.WriteLine(" Done!");
            Debug.WriteLine("Elapsed time " + GetDateString(_timer.ElapsedMilliseconds));
        }