-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