-Jesper

> On 17 Mar 2018, at 01.13, Nuno Oliveira <nuno.olive...@geo-solutions.it> 
> wrote:
> 
> GeoServer has a GeoJson encoder for complex features:
> https://github.com/nmco/geoserver/blob/c3adc90120b8cb9e564d1c2eba564eaf47e82c0d/src/wfs/src/main/java/org/geoserver/wfs/json/ComplexGeoJsonWriter.java#L421
> 
> Not sure how helpful it would for you :)
> 

That’s quite helpful, actually, since it shows that there is a use case for 
complex features outside my domain, and perhaps even something to test 
interoperability with.

-Jesper

>> On 03/16/2018 01:55 PM, Jesper Steen Møller wrote:
>> Hi Justin, Andrea and ilist,
>> 
>>> On 16 Mar 2018, at 13.13, Justin Deoliveira <jdeol...@gmail.com> wrote:
>>> 
>>> I’m the original author of most of that code, but as Andrea states I 
>>> haven’t had the time to be a decent maintainer of it, so definitely go 
>>> ahead with your improvements, having support for “deep” or “complex” 
>>> properties would be great. That module is fair game!
>>> 
>> :-)
>> 
>>> A word of warning: the way the parser is implemented it has some 
>>> limitations and complexities. It’s a purely streaming based parser that 
>>> looks a lot like the XML sax interfaces, and because of that and the way it 
>>> manages state can be brittle and very dependent on how things are ordered 
>>> in a JSON document. I think there are a handful of tickets open with regard 
>>> to ordering of properties. 
>>> 
>> 
>> Yep, I think I get the general idea of how things fit together. Not being 
>> able to specify the order of properties in a JSON document makes it tough to 
>> read it in a streamy fashion, I don't think there's much to do about it, in 
>> general. The GeoJSON spec specifically states that the order of name/value 
>> pairs does not matter, as per the JSON RFC, whereas the newer ECMA-404 
>> standard for JSON states "These are all semantic considerations that may be 
>> defined by JSON processors or in specifications defining specific uses of 
>> JSON for data interchange.".
>> 
>>> One of the things I wanted to do in that module was re-implement it in a 
>>> way that was more of a hybrid streaming approach where the only time we 
>>> “stream" is when it’s required (for feature collections) and for most other 
>>> objects just load everything into a map/list like data structure before 
>>> parsing it to a feature, geometry, etc… Unfortunately no such time do that 
>>> has presented itself :)
>>> 
>> 
>> I know the feeling!
>> 
>> I won't be able to make significant architectural changes, but I'll see what 
>> I can do about the nested/complex properties, and their interaction with the 
>> schema.
>> Also, I'm specifically not addressing nested features at the moment.
>> 
>> -Jesper
>> 
>>>> On March 16, 2018 at 5:47:02 AM, Andrea Aime 
>>>> (andrea.a...@geo-solutions.it) wrote:
>>>> 
>>>>> On Fri, Mar 16, 2018 at 12:25 PM, Jesper Steen Møller 
>>>>> <jes...@selskabet.org> wrote:
>>>>> Hi list
>>>>> 
>>>>> My use case for working with GeoJSON has hit upon a limitation in the 
>>>>> GeoJSON reader, regarding "deep" objects in a Feature's properties. This 
>>>>> is permitted by the spec, but isn't handled well in the deserializer (see 
>>>>> GEOT-5158 and GEOT-4100).
>>>>> 
>>>>> I'm guessing there's an issue in writing, too.
>>>>> 
>>>>> I'd be happy to prepare a PR for a generic handling of deep properties, 
>>>>> using either List<> and Map<> or the appropriate JSON types, if you are 
>>>>> interested.
>>>>> I want to implement it in a way so that reading a GeoJSON containing deep 
>>>>> properties into Features and serializing it back out would work without 
>>>>> loss.
>>>>> 
>>>>> But first, I'd like to hear if any of the maintainers have any opinions 
>>>>> regarding such a change?
>>>> 
>>>> The gt-geojson module is in "unsupported", thus un-maintained. 
>>>> I believe nobody will complain, but let's hear others :-)
>>>>  
>>>>> Have any of the other formats similar "deep properties" - GML for 
>>>>> instance?
>>>> 
>>>> GML nested properties have to abide to a schema, we have app-schema and 
>>>> associated GML encoder support for that already.
>>>> But not for features having lists/maps inside, there is no support for it, 
>>>> and no way to build a schema for them either right now.
>>>> Hope this helps.
>>>> 
>>>> Cheers
>>>> Andrea
>>>> 
>>>> ==
>>>> GeoServer
>>>> Professional Services from the experts! Visit http://goo.gl/it488V for
>>>> more information.
>>>> 
>>>> ==
>>>> 
>>>> 
>>>> 
>>>> Ing.
>>>> Andrea Aime 
>>>> 
>>>> @geowolf
>>>> 
>>>> Technical
>>>> Lead
>>>> 
>>>> 
>>>> 
>>>> GeoSolutions
>>>> S.A.S.
>>>> 
>>>> Via
>>>> di Montramito 3/A
>>>> 
>>>> 55054
>>>>  Massarosa (LU)
>>>> 
>>>> phone:
>>>> +39 0584 962313
>>>> 
>>>> fax:
>>>> +39 0584 1660272
>>>> 
>>>> mob:
>>>> +39  339 8844549
>>>> 
>>>> 
>>>> 
>>>> http://www.geo-solutions.it
>>>> 
>>>> http://twitter.com/geosolutions_it
>>>> 
>>>> 
>>>> 
>>>> 
>>>> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
>>>> 
>>>> Le informazioni contenute in questo messaggio di posta elettronica
>>>> e/o nel/i file/s allegato/i sono da considerarsi strettamente
>>>> riservate. Il loro utilizzo è consentito esclusivamente al
>>>> destinatario del messaggio, per le finalità indicate nel messaggio
>>>> stesso. Qualora riceviate questo messaggio senza esserne il
>>>> destinatario, Vi preghiamo cortesemente di darcene notizia via
>>>> e-mail e di procedere alla distruzione del messaggio stesso,
>>>> cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
>>>> divulgarlo anche in parte, distribuirlo ad altri soggetti,
>>>> copiarlo, od utilizzarlo per finalità diverse, costituisce
>>>> comportamento contrario ai principi dettati dal D.Lgs.
>>>> 196/2003.
>>>> 
>>>> The information in this message and/or attachments, is intended
>>>> solely for the attention and use of the named addressee(s) and may
>>>> be confidential or proprietary in nature or covered by the
>>>> provisions of privacy act (Legislative Decree June, 30 2003, no.196
>>>> - Italy's New Data Protection Code).Any use not in accord with its
>>>> purpose, any disclosure, reproduction, copying, distribution, or
>>>> either dissemination, either whole or partial, is strictly
>>>> forbidden except previous formal approval of the named
>>>> addressee(s). If you are not the intended recipient, please contact
>>>> immediately the sender by telephone, fax or e-mail and delete the
>>>> information in this message that has been received in error. The
>>>> sender does not give any warranty or accept liability as the
>>>> content, accuracy or completeness of sent messages and accepts no
>>>> responsibility  for changes made after they were sent or for
>>>> other risks which arise as a result of e-mail transmission,
>>>> viruses, etc.
>>>> 
>>>> 
>>>> ------------------------------------------------------------------------------
>>>>  
>>>> Check out the vibrant tech community on one of the world's most 
>>>> engaging tech sites, Slashdot.org! 
>>>> http://sdm.link/slashdot_______________________________________________ 
>>>> GeoTools-Devel mailing list 
>>>> GeoTools-Devel@lists.sourceforge.net 
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>> 
>> 
>> 
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> 
>> 
>> _______________________________________________
>> GeoTools-Devel mailing list
>> GeoTools-Devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
> 
> -- 
> Regards,
> Nuno Oliveira
> ==
> GeoServer Professional Services from the experts! Visit http://goo.gl/it488V 
> for more information.
> ==
> 
> Nuno Miguel Carvalho Oliveira
> @nmcoliveira
> Software Engineer
> 
> GeoSolutions S.A.S.
> Via di Montramito 3/A
> 55054  Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax:      +39 0584 1660272
> 
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
> 
> -------------------------------------------------------
> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
> Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i 
> file/s allegato/i sono da considerarsi strettamente riservate. Il loro 
> utilizzo è consentito esclusivamente al destinatario del messaggio, per le 
> finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio 
> senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia 
> via e-mail e di procedere alla distruzione del messaggio stesso, 
> cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo 
> anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per 
> finalità diverse, costituisce comportamento contrario ai principi dettati dal 
> D.Lgs. 196/2003.
>  
> The information in this message and/or attachments, is intended solely for 
> the attention and use of the named addressee(s) and may be confidential or 
> proprietary in nature or covered by the provisions of privacy act 
> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection 
> Code).Any use not in accord with its purpose, any disclosure, reproduction, 
> copying, distribution, or either dissemination, either whole or partial, is 
> strictly forbidden except previous formal approval of the named addressee(s). 
> If you are not the intended recipient, please contact immediately the sender 
> by telephone, fax or e-mail and delete the information in this message that 
> has been received in error. The sender does not give any warranty or accept 
> liability as the content, accuracy or completeness of sent messages and 
> accepts no responsibility  for changes made after they were sent or for other 
> risks which arise as a result of e-mail transmission, viruses, etc.
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> GeoTools-Devel mailing list
> GeoTools-Devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to