arcgis使用GDAL根据x坐标和y坐标外扩生成缓冲区

if (!string.IsNullOrEmpty(XZB) && Convert.ToDouble(XZB) < 360 && !string.IsNullOrEmpty(YZB) && Convert.ToDouble(YZB) < 360)
{
ESRI.ArcGIS.Client.Geometry.MapPoint mp = new ESRI.ArcGIS.Client.Geometry.MapPoint
{
X = Convert.ToDouble(XZB),
Y = Convert.ToDouble(YZB)
};

                                        ESRI.ArcGIS.Client.Geometry.MapPoint mpNew = CoordinateTrans.Wgs84ToXian80(mp);
                                        XZB = mpNew.X.ToString();
                                        YZB = mpNew.Y.ToString();
                                    }
                                    string str = @"{'type': 'Point','coordinates': [" + XZB + ", " + YZB + "]}";
                                    Geometry pt = OSGeo.OGR.Ogr.CreateGeometryFromJson(str);
                                    Geometry circlePolygon = pt.Buffer(10, 30);//10 指缓冲区(圆)的距离(半径),30指点之间的密集度默认30这个没有具体单位,是这个gdal自定义的一个数值范围
                                    string outJson = circlePolygon.ExportToJson(null);
                                    SHAPE = outJson.Replace("\"type\": \"Polygon\",", "").Replace("coordinates", "rings");

猜你喜欢

转载自blog.csdn.net/weixin_44296167/article/details/88101455