Exemple #1
0
        void BtCreateStationClick(object sender, EventArgs e)
        {
            try {
                if (_pictureSelected == DialogResult.OK)
                {
                    GisSharpBlog.NetTopologySuite.IO.WKTReader wkt = new GisSharpBlog.NetTopologySuite.IO.WKTReader();
                    IPolygon grd = (IPolygon)wkt.Read(txtWKT.Text);

                    _newStationCreated             = new Station(txtStationID.Text, grd, txtMainPicture.Text);
                    _newStationCreated.SamplesList = new System.Collections.Generic.List <Sample>();

                    _updatedProject.StationsList.Add(_newStationCreated);

                    this.Close();
                }
                else
                {
                    MessageBox.Show("You must select at least one main picture to create a Station");
                }
            } catch (Exception ex) {
                throw ex;
            }
        }
		void BtCreateStationClick(object sender, EventArgs e)
		{
			try {
				if(_pictureSelected== DialogResult.OK)
				{
					GisSharpBlog.NetTopologySuite.IO.WKTReader wkt=new GisSharpBlog.NetTopologySuite.IO.WKTReader();
					IPolygon grd = (IPolygon)wkt.Read(txtWKT.Text);
					
					_newStationCreated=new Station(txtStationID.Text, grd, txtMainPicture.Text);
					_newStationCreated.SamplesList=new System.Collections.Generic.List<Sample>();
					
					_updatedProject.StationsList.Add(_newStationCreated);
					
					this.Close();
				}
				else
				{
					MessageBox.Show("You must select at least one main picture to create a Station");
				}
			} catch (Exception ex) {
				throw ex;
			}
			
		}
        public SharpMap.Data.FeatureDataRow FindGeoNearPoint(SharpMap.Geometries.Point pos, double amountGrow, ref double DistanceToSelected)
        {
            SharpMap.Geometries.BoundingBox bbox = pos.GetBoundingBox().Grow(amountGrow);
            SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();
            DataSource.ExecuteIntersectionQuery(bbox, ds);
            System.Data.DataTable tbl = ds.Tables[0] as SharpMap.Data.FeatureDataTable;
            GisSharpBlog.NetTopologySuite.IO.WKTReader reader = new GisSharpBlog.NetTopologySuite.IO.WKTReader();
            GeoAPI.Geometries.IGeometry point = reader.Read(pos.ToString());
            if (tbl.Rows.Count == 0)
                return null;

            double distance = point.Distance(reader.Read((tbl.Rows[0] as SharpMap.Data.FeatureDataRow).Geometry.ToString()));
            SharpMap.Data.FeatureDataRow selectedFeature = tbl.Rows[0] as SharpMap.Data.FeatureDataRow;

            if (tbl.Rows.Count > 1)
                for (int i = 1; i < tbl.Rows.Count; i++)
                {
                    GeoAPI.Geometries.IGeometry line = reader.Read((tbl.Rows[i] as SharpMap.Data.FeatureDataRow).Geometry.ToString());
                    if (point.Distance(line) < distance)
                    {
                        distance = point.Distance(line);
                        selectedFeature = tbl.Rows[i] as SharpMap.Data.FeatureDataRow;
                    }
                }
            DistanceToSelected = distance;
            return selectedFeature;
        }