我们有一个API,可以将MS SQL地理类型转换为well-known text,并将其发送到前端,然后前端将WKT发送到OpenLayer地图,该地图呈现画布(边框、区域等)。
我正在寻找一种在后端将多边形、多重多边形和地图等内容转换为png以减少客户端负载的方法。
我尝试将画布转换为Base64,并保存为PNG。这个方法很有效,但我需要一个完整的后端解决方案。
我尝试使用SharpMap进行操作,但它相当老旧,导致了依赖性问题,而且我没有成功使其工作。
我找到了一个测试SHP文件,并尝试在Windows窗体中将其呈现到PictureBox上进行测试,但我只得到了一个空白的白色框。
我正在寻找一种在后端将多边形、多重多边形和地图等内容转换为png以减少客户端负载的方法。
我尝试将画布转换为Base64,并保存为PNG。这个方法很有效,但我需要一个完整的后端解决方案。
我尝试使用SharpMap进行操作,但它相当老旧,导致了依赖性问题,而且我没有成功使其工作。
我找到了一个测试SHP文件,并尝试在Windows窗体中将其呈现到PictureBox上进行测试,但我只得到了一个空白的白色框。
SharpMap.Map myMap = new SharpMap.Map(new Size(600, 300));
myMap.BackColor = Color.White;
var shapeFileProvider = new SharpMap.Data.Providers.ShapeFile(@"C:\Users\test\Downloads\FRA_adm\FRA_adm1.shp", true);
SharpMap.Layers.VectorLayer myLayer = new SharpMap.Layers.VectorLayer("World Countries");
myMap.Layers.Add(myLayer);
myMap.ZoomToExtents();
myLayer.DataSource = shapeFileProvider;
pictureBox1.Image = myMap.GetMap();
你有解决这个问题的任何想法吗?
编辑: 我甚至尝试了geoserver,但它似乎不支持Spatial Geography,只支持geometry。
我需要找到一种在c#后端将边界、区域、国家转换为图像的方法。
编辑2: 我正在使用SHP文件进行测试,但我真正想要的是从Sql Server Geography类型呈现它。