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");