代码如下(异常在外部捕捉):
Func<List<ESRI.ArcGIS.Geometry.IGeometry>, JArray> ConvertShapeWithArea = (lsGeo) =>
{
JArray aJArray = new JArray();
foreach (var pGeo in lsGeo)
{
JObject aJObject = new JObject(
new JProperty("shape", JObject.FromObject(GeometryFactory.CreateGeoJsonFromEsriGeometry(pGeo as ESRI.ArcGIS.Geometry.IPolygon))),
new JProperty("area", (pGeo as ESRI.ArcGIS.Geometry.IArea).Area)
);
aJArray.Add(JToken.FromObject(aJObject));
}
return aJArray;
};
调用时返回结果示例:
[
{
"shape": {
"type": "Polygon",
"coordinates": [
[
[
37563651.04561424,
3213571.488904953,
0
],
[
37563587.07734108,
3213570.668844223,
0
],
[
37563586.81415367,
3213621.285943985,
0
],
[
37563587.53163338,
3213647.6975917816,
0
],
[
37563728.04936409,
3213650.374227524,
0
],
[
37563729.5853405,
3213575.4888095856,
0
],
[
37563653.70521355,
3213574.189157486,
0
],
[
37563651.04561424,
3213571.488904953,
0
]
]
]
},
"area": 10767.57596575679
}
]