Próba zwrócenia całkiem prostych danych GeoJSON. Znalazłem NetTopologySuite i skonfigurować prosty FeaturesCollection i próbował serializować go na ciąg GeoJSON tylko pojawia się następujący błąd:Problemy z serializowaniem NetTopologySuite FeaturesCollection do GeoJSON
"Self referencing loop detected for property 'CoordinateValue' with type 'GeoAPI.Geometries.Coordinate'. Path 'Features[0].Geometry.Coordinates[0]'."
pominie nagłówków klasowych, Punkt używa współrzędnych, który ma właściwość współrzędnych więc widzę, dlaczego istnieje odniesienie kołowe. Rzecz w tym, że większość (jeśli nie wszystkie) Geometrii wydają się używać Punktu, więc uniemożliwiłoby to kiedykolwiek serializację czegokolwiek ... chyba że czegoś mi brakuje.
Czy to błąd, czy też coś mi brakuje?
Testowane z tylko punkt i dostał ten sam błąd, więc tutaj jest kod na to:
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();
co to jest '' Create() metody? Nie widzę tego [tutaj] (https://github.com/NetTopologySuite/NetTopologySuite/blob/d6b9737798d2ed4d85864f04b9689bc4ff193344/NetTopologySuite.IO/NetTopologySuite.IO.GeoJSON/GeoJsonSerializer.cs). – dbc
Jeśli używasz zmodyfikowanego konstruktora dla 'GeoJsonSerializer', musisz się upewnić, że [' CoordinateConverter'] (https://github.com/NetTopologySuite/NetTopologySuite/blob/d6b9737798d2ed4d85864f04b9689bc4ff193344/NetTopologySuite.IO/NetTopologySuite.IO.GeoJSON /Converters/CoordinateConverters.cs) jest przekazywana do niego, jak pokazano [tutaj] (https://github.com/NetTopologySuite/NetTopologySuite/blob/d6b9737798d2ed4d85864f04b9689bc4ff193344/NetTopologySuite.IO/NetTopologySuite.IO.GeoJSON/GeoJsonSerializer.cs). – dbc
Create() jest częścią klasy nadrzędnej (podobno.) Przełączanie do domyślnego konstruktora działa idealnie. Możesz udzielić tej faktycznej odpowiedzi, a ja ją oznaczy. :) – CodeRedick