试图返回一些非常简单的 GeoJSON 数据。我找到了 NetTopologySuite,并设置了一个简单的 FeaturesCollection,并尝试将其序列化为 GeoJson 字符串,结果却出现以下错误:
“检测到类型为‘GeoAPI.Geometries.Coordinate’的属性‘CoordinateValue’的自引用循环。路径‘Features[0].Geometry.Coordinates[0]’。”
查看类标题,Point 使用 Coordinate,它确实具有 Coordinate 属性,因此我可以看到为什么会有循环引用。问题是,大多数(如果不是全部)几何似乎都使用点,所以这将使得不可能序列化任何东西......除非我错过了一些东西。
那么这是一个错误还是我错过了什么?
仅用一个点进行测试并得到相同的错误,所以这里是代码:
using NTS = NetTopologySuite;
var ret = new NTS.Geometries.Point(42.9074, -78.7911);
var jsonSerializer = NTS.IO.GeoJsonSerializer.Create();
var sw = new System.IO.StringWriter();
jsonSerializer.Serialize(sw, ret);
var json = sw.ToString();