Closed GoogleCodeExporter closed 8 years ago
Interesting addition!.
Two things:
1) have you some unit tests or some sample code to add?
2) we need to evaluate if this code can be added to current NTS trunk, or to
current SharpMap trunk (NTS based). to me, the better place for IO
functionalities is SharpMap, since NTS is simply a topology library.
anyway, thanks :)
Original comment by diegogu...@gmail.com
on 13 Aug 2012 at 7:53
Added code, with some changes, with commit 863:
http://code.google.com/p/nettopologysuite/source/detail?r=863
Please check modifies: I've removed "EnumMemner" attribute from CRS code becsue
unsupported with target framework.
Hope that default Newtonsoft attributes are right.
Original comment by diegogu...@gmail.com
on 13 Aug 2012 at 8:06
Hi,
since I posted the code, I have written unit tests so here they are. I also
cleaned the code a bit and resolved some code analysis errors. The removal of
EnumMember attribute actually broke the unit tests as the casing was not
correct. I fixed the issue by adding a simple JSON.NET converter that corrects
the casing and no EnumMember attribute is required. So the modified code is
also attached.
Pavel
Original comment by jan...@gmail.com
on 13 Aug 2012 at 9:34
[deleted comment]
another issue with code youìve sent to me.
JsonSerializer.DateFormatHandling doesn't exists. We're using nuget
<package id="Newtonsoft.Json" version="4.0.3" />
maybe we need a higher version?
Original comment by diegogu...@gmail.com
on 13 Aug 2012 at 10:49
I am using Newtonsoft.Json 4.5.8 - the latest. But you can remove that line of
code completely because it is related to how Newtonsoft.Json formats dates.
Prior to version 4.5 (you are using), the default date format for JSON
serializing was as per Microsoft. However, since 4.5 the default date format
was changed as specified by ISO 8601. Since you are using the older version,
you don't need that line of code.
Pavel
Original comment by jan...@gmail.com
on 13 Aug 2012 at 10:57
committed updated code with changeset 865
AttributesTableConverterTest.WriteJsonTest fails in my machine due to
attributes order.
Interesting issue.
Original comment by diegogu...@gmail.com
on 13 Aug 2012 at 11:06
hmm, must be caused by different version of Newtonsoft.Json, it probably
processes attributes differently.
One thing I noticed with the changeset. Some of the classes should actually go
to the core NetTopologySuite.Features namespace rather than to
NetTopologySuite.IO.GeoJSON. I don't know whether you want to do it but e.g.
FeatureCollection was supposed to sit side by side Feature class in
NetTopologySuite.Feature namespace and similar with the others. If you check
the namespaces in each file, that would be suggested location.
Original comment by jan...@gmail.com
on 13 Aug 2012 at 11:20
I d'n't like to move featurecollection side by side to feature, mailly because
of JsonProperty attributes. FeatureCollection should be aware of Json
serialization (My2Cents).
As first step I plan to let the code "as is", step 2 can be to create a
"FeatureCollectionConverter" and remove JsonProperty attributes, then move
FeatureCollection inside NTS assembly.
Original comment by diegogu...@gmail.com
on 13 Aug 2012 at 5:13
yep, that makes sense. Good luck
Original comment by jan...@gmail.com
on 13 Aug 2012 at 5:47
updated code with changeset 869. please check.
Original comment by diegogu...@gmail.com
on 22 Aug 2012 at 7:19
Any plans to implement the FeatureCollection deserializer part?
I would like to help but my attempts have failed. I've tried to implement the
method ReadJson of the FeatureCollectionConverter class.
Thanks.
Original comment by pazun...@gmail.com
on 19 Nov 2012 at 9:53
Hi,
I have since made a small modification to AttributeTable converter to support
arrays. See the updated file attached. It might be worth adding it into the
code base.
Btw. the code works fine, I just removed my original code and started using the
code from NetTopologySuite.
I will work on the deserializer part soon as it came up in one of the projects
I work on and will post it also.
Pavel
Original comment by jan...@gmail.com
on 6 Aug 2013 at 3:50
Attachments:
using the current trunk, the exception to handle is "ArgumentException" and not
JsonWriterException.
Anyway, a code like this looks more correct to me:
writer.WritePropertyName(name);
object val = attributes[name];
serializer.Serialize(writer, val);
Original comment by diegogu...@gmail.com
on 19 Aug 2013 at 7:51
please take alook at rev.1068:
https://code.google.com/p/nettopologysuite/source/detail?r=1068
I've added a small test to verify handling.
Original comment by diegogu...@gmail.com
on 19 Aug 2013 at 7:54
Looks good, thanks for adding that.
As promised, attached are files for reading GeoJSON including some unit tests.
I started with the code from Trunk and then modified it to support reading of
GeoJSON so in most converters, only ReadJson method has changed. I also had to
make some modifications ot CoordinateConverter and GeometryConverter and marked
the changed lines with '//PJANDA' so it would be easier for you to find them.
The files attached have different namespaces as I am referencing
NetTopologySuite in my project and was overwriting only certain bits of it
(rather than working with the full source code) so it will need some tweaking.
Let me know if you had any issues or questions. I will start using this code in
a real project so in case I ran into some issues, I will post the fixes.
Good luck,
Pavel
Original comment by jan...@gmail.com
on 19 Aug 2013 at 5:42
Attachments:
applied patch with changeset: 1069
https://code.google.com/p/nettopologysuite/source/detail?r=1069
Please can you take a look? Tests are all red but I fear to lose some detail...
BTW, Thanks for sharing this code :)
Original comment by diegogu...@gmail.com
on 23 Aug 2013 at 12:40
Hi,
I verified your updates and it is all fine, no detail lost. I also checked the
tests and there is one test missing in AttributesTableConverterTest.cs and one
was incorrect. Please find the fixed file attached.
Pavel
Original comment by jan...@gmail.com
on 27 Aug 2013 at 8:39
Attachments:
added with r1070:
https://code.google.com/p/nettopologysuite/source/detail?r=1070
thanks for the check :)
Original comment by diegogu...@gmail.com
on 27 Aug 2013 at 11:00
Original issue reported on code.google.com by
jan...@gmail.com
on 8 Aug 2012 at 9:03Attachments: