public static SharpMap.Map InitializeMap(float angle) { var dataSource = new SharpMap.Data.Providers.ShapeFile( string.Format("{0}/roads.shp", ShapefileSample.PathOsm), true); var fds = new SharpMap.Data.FeatureDataSet(); dataSource.Open(); dataSource.ExecuteIntersectionQuery(dataSource.GetExtents(), fds); dataSource.Close(); var gfp = new SharpMap.Data.Providers.GeometryFeatureProvider(fds.Tables[0]); var vl = new SharpMap.Layers.VectorLayer("roads", gfp) { CoordinateTransformation = LayerTools.Dhdn2ToWgs84 }; var ll = new SharpMap.Layers.LabelLayer("labels") { DataSource = gfp, CoordinateTransformation = LayerTools.Dhdn2ToWgs84, LabelColumn = "name", MultipartGeometryBehaviour = SharpMap.Layers.LabelLayer.MultipartGeometryBehaviourEnum.Largest, }; ll.Style.Halo = new System.Drawing.Pen(System.Drawing.Color.Red); //ll.Style.IgnoreLength = true; var map = new SharpMap.Map(); map.Layers.Add(vl); map.Layers.Add(ll); map.Layers.Add(vl); map.ZoomToExtents(); return map; }
public void TestListPointSymbolizer() { var fdt = TestData.CreatingData.CreatePointFeatureDataTableFromArrays( TestData.CreatingData.GetRandomOrdinates(50, -180, 180), TestData.CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var pps = SharpMap.Rendering.Symbolizer.PathPointSymbolizer.CreateSquare(new System.Drawing.Pen(System.Drawing.Color.Red, 2), new System.Drawing.SolidBrush( System.Drawing.Color.DodgerBlue), 20); var cps = new SharpMap.Rendering.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.WhiteSmoke), Foreground = new System.Drawing.SolidBrush(System.Drawing.Color.Black), Font = new System.Drawing.Font("Arial", 12), CharacterIndex = 65 }; var lps = new SharpMap.Rendering.Symbolizer.ListPointSymbolizer { pps, cps }; layer.Style.PointSymbolizer = lps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("ListPointSymbolizer1.bmp"); }
public void TestListPointSymbolizer() { var fdt = CreatingData.CreatePointFeatureDataTableFromArrays( CreatingData.GetRandomOrdinates(50, -180, 180), CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var pps = SharpMap.Styles.Symbolizer.PathPointSymbolizer.CreateSquare(new System.Drawing.Pen(System.Drawing.Color.Red, 2), new System.Drawing.SolidBrush( System.Drawing.Color.DodgerBlue), 20); var cps = new SharpMap.Styles.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.WhiteSmoke), Foreground = new System.Drawing.SolidBrush(System.Drawing.Color.Black), Font = new System.Drawing.Font("Arial", 12), CharacterIndex = 65 }; var lps = new SharpMap.Styles.Symbolizer.ListPointSymbolizer { pps, cps }; layer.Style.PointSymbolizer = lps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("ListPointSymbolizer1.bmp"); }
public void TestCharacterPointSymbolizer() { var fdt = CreatingData.CreatePointFeatureDataTableFromArrays( CreatingData.GetRandomOrdinates(50, -180, 180), CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var cps = new SharpMap.Styles.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Wheat), //Font = new System.Drawing.Font("Arial", 12), CharacterIndex = 0xcc, }; layer.Style.PointSymbolizer = cps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("CharacterPointSymbolizer1.bmp"); cps.Rotation = -30; cps.Offset = new System.Drawing.PointF(4, 4); map.GetMap().Save("CharacterPointSymbolizer2.bmp"); cps.Font = new System.Drawing.Font("Arial", 12); cps.Text = "ABC"; cps.Offset = System.Drawing.PointF.Empty; cps.Rotation = -90; map.GetMap().Save("CharacterPointSymbolizer3.bmp"); }
public void TestCharacterPointSymbolizer() { var fdt = TestData.CreatingData.CreatePointFeatureDataTableFromArrays( TestData.CreatingData.GetRandomOrdinates(50, -180, 180), TestData.CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var cps = new SharpMap.Rendering.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Wheat), //Font = new System.Drawing.Font("Arial", 12), CharacterIndex = 0xcc, }; layer.Style.PointSymbolizer = cps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("CharacterPointSymbolizer1.bmp"); cps.Rotation = -30; cps.Offset = new System.Drawing.PointF(4, 4); map.GetMap().Save("CharacterPointSymbolizer2.bmp"); cps.Font = new System.Drawing.Font("Arial", 12); cps.Text = "ABC"; cps.Offset = System.Drawing.PointF.Empty; cps.Rotation = -90; map.GetMap().Save("CharacterPointSymbolizer3.bmp"); }
public void TestPathPointSymbolizer() { var fdt = CreatingData.CreatePointFeatureDataTableFromArrays( CreatingData.GetRandomOrdinates(50, -180, 180), CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var pps = SharpMap.Styles.Symbolizer.PathPointSymbolizer.CreateSquare(new System.Drawing.Pen(System.Drawing.Color.Red, 2), new System.Drawing.SolidBrush( System.Drawing.Color.DodgerBlue), 20); layer.Style.PointSymbolizer = pps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("PathPointSymbolizer1.bmp"); pps.Rotation = -30; map.GetMap().Save("PathPointSymbolizer2.bmp"); pps.Rotation = 0f; pps.Offset = new System.Drawing.PointF(4, 4); map.GetMap().Save("PathPointSymbolizer3.bmp"); var gpTriangle1 = new System.Drawing.Drawing2D.GraphicsPath(); gpTriangle1.AddPolygon(new [] { new System.Drawing.Point(0, 0), new System.Drawing.Point(5, 10), new System.Drawing.Point(10, 0), new System.Drawing.Point(0, 0), }); var gpTriangle2 = new System.Drawing.Drawing2D.GraphicsPath(); gpTriangle2.AddPolygon(new[] { new System.Drawing.Point(0, 0), new System.Drawing.Point(-5, -10), new System.Drawing.Point(-10, 0), new System.Drawing.Point(0, 0), }); pps = new SharpMap.Styles.Symbolizer.PathPointSymbolizer(new[] { new SharpMap.Styles.Symbolizer.PathPointSymbolizer.PathDefinition { Path = gpTriangle1, Line = new System.Drawing.Pen( System.Drawing.Color.Red, 2), Fill = new System.Drawing.SolidBrush( System.Drawing.Color.DodgerBlue) }, new SharpMap.Styles.Symbolizer.PathPointSymbolizer.PathDefinition { Path = gpTriangle2, Line = new System.Drawing.Pen( System.Drawing.Color.DodgerBlue, 2), Fill = new System.Drawing.SolidBrush( System.Drawing.Color.Red) } }){ Rotation = 45 }; layer.Style.PointSymbolizer = pps; map.GetMap().Save("PathPointSymbolizer4.bmp"); pps.Rotation = 180; map.GetMap().Save("PathPointSymbolizer5.bmp"); }
public void TestSetUp() { using (var sf = new SharpMap.Data.Providers.ShapeFile(GetTestDataFilePath("roads_ugl.shp"))) { sf.Open(); var fds = new SharpMap.Data.FeatureDataSet(); sf.ExecuteIntersectionQuery(sf.GetExtents(), fds); _provider = new SharpMap.Data.Providers.GeometryFeatureProvider(fds.Tables[0]); } }
public void TestSetUp() { using (var sf = new SharpMap.Data.Providers.ShapeFile(GetTestDataFilePath("roads_ugl.shp"))) { sf.Open(); var fds = new SharpMap.Data.FeatureDataSet(); sf.ExecuteIntersectionQuery(sf.GetExtents(), fds); _provider = new SharpMap.Data.Providers.GeometryFeatureProvider(fds.Tables[0]); } }
private SharpMap.Map CreateMap() { var m = new SharpMap.Map(new System.Drawing.Size(1440, 1080)) { BackColor = System.Drawing.Color.LightSkyBlue }; m.SRID = 3857; var originX = 100.0; var originY = 7.0; var gap = 0.002; //create 4 layers varying scale only m.Layers.Add(CreateRpsLayer(originX + 0 * gap, originY + 2 * gap, 1, 0)); m.Layers.Add(CreateRpsLayer(originX + 1 * gap, originY + 2 * gap, 0.5f, 0)); m.Layers.Add(CreateRpsLayer(originX + 2 * gap, originY + 2 * gap, 0.25f, 0)); m.Layers.Add(CreateRpsLayer(originX + 3 * gap, originY + 2 * gap, 2, 0)); //create 4 layers varying rotn only m.Layers.Add(CreateRpsLayer(originX + 0 * gap, originY + 1 * gap, 0, 45)); m.Layers.Add(CreateRpsLayer(originX + 1 * gap, originY + 1 * gap, 0, 135)); m.Layers.Add(CreateRpsLayer(originX + 2 * gap, originY + 1 * gap, 0, 225)); m.Layers.Add(CreateRpsLayer(originX + 3 * gap, originY + 1 * gap, 0, 315)); //create 4 layers varying scale + rotn m.Layers.Add(CreateRpsLayer(originX + 0 * gap, originY + 0 * gap, 1, 45)); m.Layers.Add(CreateRpsLayer(originX + 1 * gap, originY + 0 * gap, 0.5f, 135)); m.Layers.Add(CreateRpsLayer(originX + 2 * gap, originY + 0 * gap, 0.25f, 225)); m.Layers.Add(CreateRpsLayer(originX + 3 * gap, originY + 0 * gap, 2, 315)); //create a pseudo-graticule for visual reference LineString[] graticule = new LineString[7]; graticule[0] = new LineString(new Coordinate[] { new Coordinate(originX - gap, originY + 0 * gap), new Coordinate(originX + 4 * gap, originY + 0 * gap) }); graticule[1] = new LineString(new Coordinate[] { new Coordinate(originX - gap, originY + 1 * gap), new Coordinate(originX + 4 * gap, originY + 1 * gap) }); graticule[2] = new LineString(new Coordinate[] { new Coordinate(originX - gap, originY + 2 * gap), new Coordinate(originX + 4 * gap, originY + 2 * gap) }); graticule[3] = new LineString(new Coordinate[] { new Coordinate(originX + 0 * gap, originY - gap), new Coordinate(originX + 0 * gap, originY + 3 * gap) }); graticule[4] = new LineString(new Coordinate[] { new Coordinate(originX + 1 * gap, originY - gap), new Coordinate(originX + 1 * gap, originY + 3 * gap) }); graticule[5] = new LineString(new Coordinate[] { new Coordinate(originX + 2 * gap, originY - gap), new Coordinate(originX + 2 * gap, originY + 3 * gap) }); graticule[6] = new LineString(new Coordinate[] { new Coordinate(originX + 3 * gap, originY - gap), new Coordinate(originX + 3 * gap, originY + 3 * gap) }); var pr = new SharpMap.Data.Providers.GeometryFeatureProvider(graticule); pr.SRID = 4326; var vl = new SharpMap.Layers.VectorLayer("Graticule", pr); vl.TargetSRID = 3857; m.Layers.Add(vl); return(m); }
public void DoTest() { SharpMap.Data.Providers.ShapeFile sf = new SharpMap.Data.Providers.ShapeFile("cities.shp"); SharpMap.Data.FeatureDataSet fds = new SharpMap.Data.FeatureDataSet(); sf.ExecuteIntersectionQuery(sf.GetExtents(), fds); SharpMap.Data.Providers.GeometryFeatureProvider gfp = new SharpMap.Data.Providers.GeometryFeatureProvider(fds.Tables[0]); System.Data.DataTable dt = new System.Data.DataTable("external"); dt.Columns.Add("city", typeof(string)); dt.Columns.Add("males", typeof(int)); dt.Columns.Add("females", typeof(int)); }
public void TestIssue78() { string jsonFile = TestUtility.GetPathToTestFile("FeatureCollection.json"); if (!System.IO.File.Exists(jsonFile)) { Assert.Ignore("Test file {0} not present.", jsonFile); } string json = System.IO.File.ReadAllText(jsonFile); var env = new Envelope(); using (var map = new SharpMap.Map(new System.Drawing.Size(800, 400))) { map.Layers.Add(new SharpMap.Layers.TileLayer( BruTile.Predefined.KnownTileSources.Create(BruTile.Predefined.KnownTileSource.BingRoadsStaging, string.Empty), "BingRoad")); var rss = Newtonsoft.Json.Linq.JObject.Parse(json); var jsonReader = new NetTopologySuite.IO.GeoJsonReader(); foreach (var shape in rss["features"]) { var feature = jsonReader.Read <IFeature>(shape.ToString(Newtonsoft.Json.Formatting.None)); var geom = feature.Geometry; var fp = new SharpMap.Data.Providers.GeometryFeatureProvider(geom); var layer = new SharpMap.Layers.VectorLayer("geojson", fp); layer.CoordinateTransformation = new ProjNet.CoordinateSystems.Transformations.CoordinateTransformationFactory().CreateFromCoordinateSystems( ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84, ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator); layer.Style = new SharpMap.Styles.VectorStyle { Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(100, 255, 0, 0)), Outline = new System.Drawing.Pen(System.Drawing.Color.Red, 1.5f), EnableOutline = true }; env.ExpandToInclude(layer.Envelope); map.Layers.Add(layer); } map.ZoomToBox(env); map.Zoom *= 1.1; using (var img = map.GetMap()) img.Save(System.IO.Path.Combine(UnitTestsFixture.GetImageDirectory(this), $"TestIssue78.png")); } }
public void TestRealData() { var fdt = GetRealFeatureDataTable(); FillRealDataTable(fdt); var p = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var m = new SharpMap.Map(new Size(640, 640)); m.Layers.Add(new TileLayer( new OsmTileSource(new OsmRequest(KnownOsmTileServers.Mapnik) /*, new FileCache(@"d:\temp\OSM", "png")*/), "OSM")); var l = new HeatLayer(p, "Data", 0.001f); l.LayerName = "HEAT"; m.Layers.Add(l); #if DotSpatialProjections l.CoordinateTransformation = new DotSpatial.Projections.CoordinateTransformation { Source = ProjectionInfo.FromEpsgCode(4326), Target = ProjectionInfo.FromEpsgCode(3857) }; #else var ctfac = new ProjNet.CoordinateSystems.Transformations.CoordinateTransformationFactory(); l.CoordinateTransformation = ctfac.CreateFromCoordinateSystems(ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84, ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator); #endif l.ZoomMin = 0;// 0.01 * m.GetExtents().Width; l.ZoomMax = /*0.9 * */m.GetExtents().Width; l.OpacityMax = 1; l.OpacityMin = 0.3f; m.ZoomToBox(l.Envelope); for (var i = 0; i < 5; i++) { using (var img = m.GetMap()) { img.Save("RealDataHeat" + i + ".png"); } m.Zoom /= 2; } m.ZoomToExtents(); using (var img = m.GetMap()) { img.Save("RealDataHeat.png"); } }
public static SharpMap.Map InitializeMap(float angle) { var fdt = GetRealFeatureDataTable(); FillRealDataTable(fdt); var p = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var m = new SharpMap.Map(); m.BackgroundLayer.Add(new SharpMap.Layers.TileAsyncLayer( new BruTile.Web.OsmTileSource( new BruTile.Web.OsmRequest(KnownTileSource.OpenStreetMap), new BruTile.Cache.FileCache(@"d:\temp\OSM", "png")), "OSM")); m.BackgroundLayer[0].LayerName = "TileLayer with HeatLayer"; //var l = new SharpMap.Layers.HeatLayer(p, r => 0.02f) { LayerName = "HEAT" }; var l = new SharpMap.Layers.HeatLayer(p, "Data", 0.00025f) { LayerName = "HEAT" }; m.Layers.Add(l); #if DotSpatialProjections l.CoordinateTransformation = new DotSpatial.Projections.CoordinateTransformation { Source = DotSpatial.Projections.ProjectionInfo.FromEpsgCode(4326), Target = DotSpatial.Projections.ProjectionInfo.FromEpsgCode(3857) }; #else var ctfac = new ProjNet.CoordinateSystems.Transformations.CoordinateTransformationFactory(); l.CoordinateTransformation = ctfac.CreateFromCoordinateSystems(ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84, ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator); #endif l.ZoomMin = 0;// 0.01 * m.GetExtents().Width; l.ZoomMax = /*0.9 * */m.GetExtents().Width; l.OpacityMax = 0.5f; l.OpacityMin = 0.9f; l.HeatColorBlend = SharpMap.Layers.HeatLayer.Classic; var env = l.Envelope; GeoAPI.Geometries.GeoAPIEx.Grow(env, env.Width * 0.05, env.Height * 0.05); //m.EnforceMaximumExtents = true; //m.MaximumExtents = env; m.ZoomToBox(env); return m; }
public void TestRasterPointSymbolizer() { var fdt = TestData.CreatingData.CreatePointFeatureDataTableFromArrays( TestData.CreatingData.GetRandomOrdinates(50, -180, 180), TestData.CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var wmnStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("UnitTests.Resources.Women.png"); var wmnBmp = new System.Drawing.Bitmap(wmnStream); var rps = new SharpMap.Rendering.Symbolizer.RasterPointSymbolizer { Symbol = wmnBmp }; layer.Style.PointSymbolizer = rps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save(System.IO.Path.Combine(UnitTestsFixture.GetImageDirectory(this), "RasterPointSymbolizer1.bmp")); rps.Rotation = 45; map.GetMap().Save(System.IO.Path.Combine(UnitTestsFixture.GetImageDirectory(this), "RasterPointSymbolizer2.bmp")); rps.Rotation = 0; var cps = new SharpMap.Rendering.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.WhiteSmoke), Foreground = new System.Drawing.SolidBrush(System.Drawing.Color.Black), Font = new System.Drawing.Font("Arial", 12), Text = "Anne", Offset = new System.Drawing.PointF(0, rps.Size.Height * 0.5f) }; var lps = new SharpMap.Rendering.Symbolizer.ListPointSymbolizer { rps, cps }; layer.Style.PointSymbolizer = lps; map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save(System.IO.Path.Combine(UnitTestsFixture.GetImageDirectory(this), "RasterPointSymbolizer3.bmp")); }
public static SharpMap.Map InitializeMap(float angle) { var fdt = GetRealFeatureDataTable(); FillRealDataTable(fdt); var p = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var m = new SharpMap.Map(); var tl = new SharpMap.Layers.TileAsyncLayer(KnownTileSources.Create(KnownTileSource.OpenStreetMap), "TileLayer with HeatLayer", System.Drawing.Color.Transparent, false, new BruTile.Cache.FileCache(@"d:\temp\OSM", "png"), System.Drawing.Imaging.ImageFormat.Png); m.BackgroundLayer.Add(tl); //var l = new SharpMap.Layers.HeatLayer(p, r => 0.02f) { LayerName = "HEAT" }; var l = new SharpMap.Layers.HeatLayer(p, "Data", 0.00025f) { LayerName = "HEAT" }; m.Layers.Add(l); var ctfac = new ProjNet.CoordinateSystems.Transformations.CoordinateTransformationFactory(); l.CoordinateTransformation = ctfac.CreateFromCoordinateSystems(ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84, ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator); l.ZoomMin = 0;// 0.01 * m.GetExtents().Width; l.ZoomMax = /*0.9 * */ m.GetExtents().Width; l.OpacityMax = 0.5f; l.OpacityMin = 0.9f; l.HeatColorBlend = SharpMap.Layers.HeatLayer.Classic; var env = l.Envelope; GeoAPI.Geometries.GeoAPIEx.Grow(env, env.Width * 0.05, env.Height * 0.05); //m.EnforceMaximumExtents = true; //m.MaximumExtents = env; m.ZoomToBox(env); return(m); }
public void HeatLayerTest() { var m = new SharpMap.Map(new Size(640, 480)); var data = CreatingData.CreatePointFeatureDataTableFromArrays( CreatingData.GetRandomOrdinates(150, 5, 6), CreatingData.GetRandomOrdinates(150, 52, 53), null, CreatingData.GetRandomOrdinates(150, 0, 1)); var p = new SharpMap.Data.Providers.GeometryFeatureProvider(data); var l = new HeatLayer(p, "Data"); m.Layers.Add(l); m.ZoomToBox(new Envelope(5.4, 5.8, 52.4, 52.6)); //m.ZoomToExtents(); var img = m.GetMap(); img.Save("HeatMap.png", ImageFormat.Png); img.Dispose(); }
public void TestRasterPointSymbolizer() { var fdt = CreatingData.CreatePointFeatureDataTableFromArrays( CreatingData.GetRandomOrdinates(50, -180, 180), CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var rps = new SharpMap.Styles.Symbolizer.RasterPointSymbolizer { Symbol = new System.Drawing.Bitmap("women.png") }; layer.Style.PointSymbolizer = rps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("RasterPointSymbolizer1.bmp"); rps.Rotation = 45; map.GetMap().Save("RasterPointSymbolizer2.bmp"); rps.Rotation = 0; var cps = new SharpMap.Styles.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.WhiteSmoke), Foreground = new System.Drawing.SolidBrush(System.Drawing.Color.Black), Font = new System.Drawing.Font("Arial", 12), Text = "Anne", Offset = new System.Drawing.PointF(0, rps.Size.Height * 0.5f) }; var lps = new SharpMap.Styles.Symbolizer.ListPointSymbolizer { rps, cps }; layer.Style.PointSymbolizer = lps; map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("RasterPointSymbolizer3.bmp"); }
private SharpMap.Layers.VectorLayer CreateRpsLayer(double x, double y, float scale, float rot) { NetTopologySuite.Geometries.Point[] pts = new NetTopologySuite.Geometries.Point[1]; pts[0] = new NetTopologySuite.Geometries.Point(x, y); var pr = new SharpMap.Data.Providers.GeometryFeatureProvider(pts); pr.SRID = 4326; var vl = new SharpMap.Layers.VectorLayer(string.Format("{0} {1} {2} {3}", x, y, scale, rot), pr); vl.TargetSRID = 3857; var rps = new SharpMap.Rendering.Symbolizer.RasterPointSymbolizer(); rps.Scale = scale; rps.Rotation = rot; //rps.Symbol = GetRasterSymbol(); rps.Symbol = GetRasterSymbol(); vl.Style.PointSymbolizer = rps; return(vl); }
private void LoadParcels(List<PointD> pt, Color color, string labelname) { SharpMap.Map map = new SharpMap.Map(); List<GeoAPI.Geometries.Coordinate> vertices = new List<GeoAPI.Geometries.Coordinate>(); foreach (PointD i in pt) { GeoAPI.Geometries.Coordinate p = new GeoAPI.Geometries.Coordinate(); p.X = i.X; p.Y = i.Y; vertices.Add(p); } GeoAPI.Geometries.Coordinate l = new GeoAPI.Geometries.Coordinate(); l.X = pt[0].X; l.Y = pt[0].Y; vertices.Add(l); //Collection<GeoAPI.Geometries.IGeometry> geom = new Collection<GeoAPI.Geometries.IGeometry>(); GeometryFactory gf = new NetTopologySuite.Geometries.GeometryFactory(); GeoAPI.Geometries.ILinearRing shell = gf.CreateLinearRing(vertices.ToArray()); GeoAPI.Geometries.IPolygon polygon = gf.CreatePolygon(shell, null); SharpMap.Data.Providers.GeometryProvider geomProvider= new SharpMap.Data.Providers.GeometryProvider(polygon); SharpMap.Layers.VectorLayer layerParcels = new SharpMap.Layers.VectorLayer("Parcels"); SharpMap.Styles.VectorStyle style = new SharpMap.Styles.VectorStyle(); style.Fill = new SolidBrush(Color.FromArgb(200,color)); style.Outline = new Pen(new SolidBrush(color)); layerParcels.Style = style; layerParcels.Style.EnableOutline = true; layerParcels.DataSource = geomProvider; layerParcels.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; mapBox1.ActiveTool = SharpMap.Forms.MapBox.Tools.Pan; var fdt = new SharpMap.Data.FeatureDataTable(); fdt.Columns.Add(new System.Data.DataColumn("id", typeof(uint))); fdt.Columns.Add(new System.Data.DataColumn("label", typeof(string))); var fdr = (SharpMap.Data.FeatureDataRow)fdt.NewRow(); fdr.ItemArray = new object[] { 1, labelname }; fdr.Geometry = polygon; fdt.AddRow(fdr); var dataprovider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var ll = new SharpMap.Layers.LabelLayer("llayer"); ll.DataSource = dataprovider; ll.LabelColumn = "label"; ll.Style.Font = new Font("Eurostile Extended", 16,FontStyle.Bold); mapBox1.Map.Layers.Add(layerParcels); mapBox1.Map.Layers.Add(ll); mapBox1.Map.ZoomToExtents(); mapBox1.Refresh(); }
public void TestPathPointSymbolizer() { var fdt = CreatingData.CreatePointFeatureDataTableFromArrays( CreatingData.GetRandomOrdinates(50, -180, 180), CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var pps = SharpMap.Styles.Symbolizer.PathPointSymbolizer.CreateSquare(new System.Drawing.Pen(System.Drawing.Color.Red, 2), new System.Drawing.SolidBrush( System.Drawing.Color.DodgerBlue), 20); layer.Style.PointSymbolizer = pps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("PathPointSymbolizer1.bmp"); pps.Rotation = -30; map.GetMap().Save("PathPointSymbolizer2.bmp"); pps.Rotation = 0f; pps.Offset = new System.Drawing.PointF(4, 4); map.GetMap().Save("PathPointSymbolizer3.bmp"); var gpTriangle1 = new System.Drawing.Drawing2D.GraphicsPath(); gpTriangle1.AddPolygon(new [] { new System.Drawing.Point(0, 0), new System.Drawing.Point(5, 10), new System.Drawing.Point(10, 0), new System.Drawing.Point(0, 0), }); var gpTriangle2 = new System.Drawing.Drawing2D.GraphicsPath(); gpTriangle2.AddPolygon(new[] { new System.Drawing.Point(0, 0), new System.Drawing.Point(-5, -10), new System.Drawing.Point(-10, 0), new System.Drawing.Point(0, 0), }); pps = new SharpMap.Styles.Symbolizer.PathPointSymbolizer(new[] { new SharpMap.Styles.Symbolizer.PathPointSymbolizer.PathDefinition { Path = gpTriangle1, Line = new System.Drawing.Pen( System.Drawing.Color.Red, 2), Fill = new System.Drawing.SolidBrush( System.Drawing.Color.DodgerBlue) }, new SharpMap.Styles.Symbolizer.PathPointSymbolizer.PathDefinition { Path = gpTriangle2, Line = new System.Drawing.Pen( System.Drawing.Color.DodgerBlue, 2), Fill = new System.Drawing.SolidBrush( System.Drawing.Color.Red) } }) { Rotation = 45 }; layer.Style.PointSymbolizer = pps; map.GetMap().Save("PathPointSymbolizer4.bmp"); pps.Rotation = 180; map.GetMap().Save("PathPointSymbolizer5.bmp"); }
private void LoadParcels(List <PointD> pt, Color color, string labelname) { SharpMap.Map map = new SharpMap.Map(); List <GeoAPI.Geometries.Coordinate> vertices = new List <GeoAPI.Geometries.Coordinate>(); foreach (PointD i in pt) { GeoAPI.Geometries.Coordinate p = new GeoAPI.Geometries.Coordinate(); p.X = i.X; p.Y = i.Y; vertices.Add(p); } GeoAPI.Geometries.Coordinate l = new GeoAPI.Geometries.Coordinate(); l.X = pt[0].X; l.Y = pt[0].Y; vertices.Add(l); //Collection<GeoAPI.Geometries.IGeometry> geom = new Collection<GeoAPI.Geometries.IGeometry>(); GeometryFactory gf = new NetTopologySuite.Geometries.GeometryFactory(); GeoAPI.Geometries.ILinearRing shell = gf.CreateLinearRing(vertices.ToArray()); GeoAPI.Geometries.IPolygon polygon = gf.CreatePolygon(shell, null); SharpMap.Data.Providers.GeometryProvider geomProvider = new SharpMap.Data.Providers.GeometryProvider(polygon); SharpMap.Layers.VectorLayer layerParcels = new SharpMap.Layers.VectorLayer("Parcels"); SharpMap.Styles.VectorStyle style = new SharpMap.Styles.VectorStyle(); style.Fill = new SolidBrush(Color.FromArgb(200, color)); style.Outline = new Pen(new SolidBrush(color)); layerParcels.Style = style; layerParcels.Style.EnableOutline = true; layerParcels.DataSource = geomProvider; layerParcels.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; mapBox1.ActiveTool = SharpMap.Forms.MapBox.Tools.Pan; var fdt = new SharpMap.Data.FeatureDataTable(); fdt.Columns.Add(new System.Data.DataColumn("id", typeof(uint))); fdt.Columns.Add(new System.Data.DataColumn("label", typeof(string))); var fdr = (SharpMap.Data.FeatureDataRow)fdt.NewRow(); fdr.ItemArray = new object[] { 1, labelname }; fdr.Geometry = polygon; fdt.AddRow(fdr); var dataprovider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var ll = new SharpMap.Layers.LabelLayer("llayer"); ll.DataSource = dataprovider; ll.LabelColumn = "label"; ll.Style.Font = new Font("Eurostile Extended", 16, FontStyle.Bold); mapBox1.Map.Layers.Add(layerParcels); mapBox1.Map.Layers.Add(ll); mapBox1.Map.ZoomToExtents(); mapBox1.Refresh(); }
public void TestRasterPointSymbolizer() { var fdt = TestData.CreatingData.CreatePointFeatureDataTableFromArrays( TestData.CreatingData.GetRandomOrdinates(50, -180, 180), TestData.CreatingData.GetRandomOrdinates(50, -90, 90), null); var geometryFeatureProvider = new SharpMap.Data.Providers.GeometryFeatureProvider(fdt); var layer = new SharpMap.Layers.VectorLayer("randompoints", geometryFeatureProvider); var rps = new SharpMap.Rendering.Symbolizer.RasterPointSymbolizer {Symbol = Properties.Resources.Women}; layer.Style.PointSymbolizer = rps; var map = new SharpMap.Map(new System.Drawing.Size(720, 360)); map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("RasterPointSymbolizer1.bmp"); rps.Rotation = 45; map.GetMap().Save("RasterPointSymbolizer2.bmp"); rps.Rotation = 0; var cps = new SharpMap.Rendering.Symbolizer.CharacterPointSymbolizer { Halo = 1, HaloBrush = new System.Drawing.SolidBrush(System.Drawing.Color.WhiteSmoke), Foreground = new System.Drawing.SolidBrush(System.Drawing.Color.Black), Font = new System.Drawing.Font("Arial", 12), Text = "Anne", Offset = new System.Drawing.PointF(0, rps.Size.Height*0.5f) }; var lps = new SharpMap.Rendering.Symbolizer.ListPointSymbolizer { rps, cps }; layer.Style.PointSymbolizer = lps; map.Layers.Add(layer); map.ZoomToExtents(); map.GetMap().Save("RasterPointSymbolizer3.bmp"); }
public void DoTest() { SharpMap.Data.Providers.ShapeFile sf = new SharpMap.Data.Providers.ShapeFile("cities.shp"); SharpMap.Data.FeatureDataSet fds = new SharpMap.Data.FeatureDataSet(); sf.ExecuteIntersectionQuery(sf.GetExtents(), fds); SharpMap.Data.Providers.GeometryFeatureProvider gfp = new SharpMap.Data.Providers.GeometryFeatureProvider(fds.Tables[0]); System.Data.DataTable dt = new System.Data.DataTable("external"); dt.Columns.Add("city", typeof (string)); dt.Columns.Add("males", typeof (int)); dt.Columns.Add("females", typeof (int)); }
private void button1_Click(object sender, EventArgs e) { if (_cmbLayer1.SelectedIndex >= 0 && _cmbLayer2.SelectedIndex >= 0 && _cmbOperation.SelectedIndex >= 0) { //obrada forme if (_cmbOperation.SelectedIndex == 0) //intersect { SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet(); SharpMap.Layers.VectorLayer layer1 = (SharpMap.Layers.VectorLayer)_map.GetLayerByName(_cmbLayer1.SelectedItem.ToString()); SharpMap.Layers.VectorLayer layer2 = (SharpMap.Layers.VectorLayer)_map.GetLayerByName(_cmbLayer2.SelectedItem.ToString()); SharpMap.Data.Providers.NtsProvider nts = new SharpMap.Data.Providers.NtsProvider(layer1.DataSource); SharpMap.Data.Providers.NtsProvider nts2 = new SharpMap.Data.Providers.NtsProvider(layer2.DataSource); SharpMap.Geometries.GeometryCollection coll = new SharpMap.Geometries.GeometryCollection(); ds.Tables.Clear(); SharpMap.Data.FeatureDataSet set = new SharpMap.Data.FeatureDataSet(); nts.GetFeaturesInView(nts.GetExtents(), set); SharpMap.Data.FeatureDataSet res = new SharpMap.Data.FeatureDataSet(); res.Tables.Add(set.Tables[0].Clone()); res.Tables[0].Rows.Clear(); ds.Tables.Clear(); foreach (SharpMap.Data.FeatureDataRow row in set.Tables[0].Rows) { nts2.ExecuteIntersectionQuery(row.Geometry, ds); if (ds.Tables[0].Rows.Count > 0) { SharpMap.Data.FeatureDataRow red = res.Tables[0].NewRow(); red.Geometry = row.Geometry; red.ItemArray = row.ItemArray; res.Tables[0].AddRow(red); } ds.Tables.Clear(); } LayerInfo l = new LayerInfo(res.Tables[0]); l.Show(); SharpMap.Data.Providers.GeometryFeatureProvider prov = new SharpMap.Data.Providers.GeometryFeatureProvider(res.Tables[0]); SharpMap.Layers.VectorLayer lay = new SharpMap.Layers.VectorLayer("selected layer", prov); lay.Style.Fill = Brushes.Yellow; SharpMap.Layers.ILayer layerToRemove = _map.GetLayerByName("selected layer"); if (layerToRemove != null) { _map.Layers.Remove(layerToRemove); } _map.Layers.Add(lay); this._parent.RefreshMap(); } else if (_cmbOperation.SelectedIndex == 1)//within { SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet(); SharpMap.Layers.VectorLayer layer1 = (SharpMap.Layers.VectorLayer)_map.GetLayerByName(_cmbLayer1.SelectedItem.ToString()); SharpMap.Layers.VectorLayer layer2 = (SharpMap.Layers.VectorLayer)_map.GetLayerByName(_cmbLayer2.SelectedItem.ToString()); SharpMap.Data.Providers.NtsProvider nts = new SharpMap.Data.Providers.NtsProvider(layer1.DataSource); SharpMap.Data.Providers.NtsProvider nts2 = new SharpMap.Data.Providers.NtsProvider(layer2.DataSource, CreateBuffers); SharpMap.Geometries.GeometryCollection coll = new SharpMap.Geometries.GeometryCollection(); ds.Tables.Clear(); SharpMap.Data.FeatureDataSet set = new SharpMap.Data.FeatureDataSet(); nts.GetFeaturesInView(nts.GetExtents(), set); SharpMap.Data.FeatureDataSet res = new SharpMap.Data.FeatureDataSet(); res.Tables.Add(set.Tables[0].Clone()); res.Tables[0].Rows.Clear(); ds.Tables.Clear(); foreach (SharpMap.Data.FeatureDataRow row in set.Tables[0].Rows) { nts2.ExecuteIntersectionQuery(row.Geometry, ds); if (ds.Tables[0].Rows.Count > 0) { SharpMap.Data.FeatureDataRow red = res.Tables[0].NewRow(); red.Geometry = row.Geometry; red.ItemArray = row.ItemArray; res.Tables[0].AddRow(red); } ds.Tables.Clear(); } LayerInfo l = new LayerInfo(res.Tables[0]); l.Show(); SharpMap.Data.Providers.GeometryFeatureProvider prov = new SharpMap.Data.Providers.GeometryFeatureProvider(res.Tables[0]); SharpMap.Layers.VectorLayer lay = new SharpMap.Layers.VectorLayer("selected layer", prov); lay.Style.Fill = Brushes.Yellow; SharpMap.Layers.ILayer layerToRemove = _map.GetLayerByName("selected layer"); if (layerToRemove != null) { _map.Layers.Remove(layerToRemove); } _map.Layers.Add(lay); this._parent.RefreshMap(); } else//van { SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet(); SharpMap.Layers.VectorLayer layer1 = (SharpMap.Layers.VectorLayer)_map.GetLayerByName(_cmbLayer1.SelectedItem.ToString()); SharpMap.Layers.VectorLayer layer2 = (SharpMap.Layers.VectorLayer)_map.GetLayerByName(_cmbLayer2.SelectedItem.ToString()); SharpMap.Data.Providers.NtsProvider nts = new SharpMap.Data.Providers.NtsProvider(layer1.DataSource); SharpMap.Data.Providers.NtsProvider nts2 = new SharpMap.Data.Providers.NtsProvider(layer2.DataSource, CreateBuffers); SharpMap.Geometries.GeometryCollection coll = new SharpMap.Geometries.GeometryCollection(); ds.Tables.Clear(); SharpMap.Data.FeatureDataSet set = new SharpMap.Data.FeatureDataSet(); nts.GetFeaturesInView(nts.GetExtents(),set); SharpMap.Data.FeatureDataSet res = new SharpMap.Data.FeatureDataSet(); res.Tables.Add(set.Tables[0].Clone()); res.Tables[0].Rows.Clear(); ds.Tables.Clear(); foreach (SharpMap.Data.FeatureDataRow row in set.Tables[0].Rows) { nts2.ExecuteIntersectionQuery(row.Geometry, ds); if (ds.Tables[0].Rows.Count <= 0) { SharpMap.Data.FeatureDataRow red = res.Tables[0].NewRow(); red.Geometry = row.Geometry; red.ItemArray = row.ItemArray; res.Tables[0].AddRow(red); } ds.Tables.Clear(); } LayerInfo l = new LayerInfo(res.Tables[0]); l.Show(); SharpMap.Data.Providers.GeometryFeatureProvider prov = new SharpMap.Data.Providers.GeometryFeatureProvider(res.Tables[0]); SharpMap.Layers.VectorLayer lay = new SharpMap.Layers.VectorLayer("selected layer", prov); lay.Style.Fill = Brushes.Yellow; SharpMap.Layers.ILayer layerToRemove = _map.GetLayerByName("selected layer"); if (layerToRemove != null) { _map.Layers.Remove(layerToRemove); } _map.Layers.Add(lay); this._parent.RefreshMap(); } } }
public static SharpMap.Map InitializeMap(float angle) { var dataSource = new SharpMap.Data.Providers.ShapeFile( string.Format("{0}/roads.shp", ShapefileSample.PathOsm), true); var fds = new SharpMap.Data.FeatureDataSet(); dataSource.Open(); dataSource.ExecuteIntersectionQuery(dataSource.GetExtents(), fds); dataSource.Close(); var gfp = new SharpMap.Data.Providers.GeometryFeatureProvider(fds.Tables[0]); var vl = new SharpMap.Layers.VectorLayer("roads", gfp) { CoordinateTransformation = LayerTools.Dhdn2ToWgs84 }; var ll = new SharpMap.Layers.LabelLayer("labels") { DataSource = gfp, CoordinateTransformation = LayerTools.Dhdn2ToWgs84, LabelColumn = "name", MultipartGeometryBehaviour = SharpMap.Layers.LabelLayer.MultipartGeometryBehaviourEnum.Largest, }; ll.Style.Halo = new System.Drawing.Pen(System.Drawing.Color.Red); //ll.Style.IgnoreLength = true; var map = new SharpMap.Map(); map.Layers.Add(vl); map.Layers.Add(ll); map.Layers.Add(vl); map.ZoomToExtents(); return map; }