我希望你能帮助我。我有一个相当复杂的对象来表示geoJson数据。该类是通过将一些geojson放入找到的here转换器中生成的。
当我反序列化转换并存储到数据库中时生成的代码工作正常,但是当我来检索数据并重新序列化时,我得到了一些非常奇怪的行为。
以下是我的json的简短片段:
{"type":"FeatureCollection",
"crs": {"type":"name",
"properties":{ "name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},
"features":[
{"type":"Feature",
"properties":{"name":"AB","color":"#0E0299"},
"geometry":{"type":"MultiPolygon",
"coordinates":[[[[56.8860559718878,-2.21295884939764],
[-2.22418043724705,56.8874548172591],
[56.8873756021234,-2.22608015201419],
[-2.24113736145235,56.8942204769533],
[56.8953863168858,-2.24940218298088],
[-2.25140561654796,56.8950015957031],
[56.8950244655219,-2.25393237467251],
[-2.26499735012973,56.8885090148966],
[56.8827985864266,-2.28369393347917]]]]}}]}
我会解释错误,而不是把它放在两次。 坐标列表中的每个其他条目都是相反的。所以第二对价值又回到了前面。
然而,当我在序列化之前查看原始类中的数据时,它们的顺序是正确的(即56.8874 ......首先是-2.2241 ....)
如果你将json放入我链接的类生成器中,它基本上会创建我正在使用的类。
导致问题的是以下属性:
public List<List<List<List<double>>>> coordinates { get; set; }
首先,我认为它很可怕,但除此之外,很难看出到底发生了什么。
我的问题是:
如何在列表中维护坐标的顺序,因为这些坐标表示沿路径的步骤。当我在世界地图上绘制它们时,通过反转每个其他坐标,它会在世界的两个边界之间跳跃,这是完全错误的。
如果您需要更多信息或我的问题不明确,请告诉我。