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 
> <mailto:andrea.a...@geo-solutions.it>) wrote:
> 
>> On Fri, Mar 16, 2018 at 12:25 PM, Jesper Steen Møller <jes...@selskabet.org 
>> <mailto: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 <https://osgeo-org.atlassian.net/browse/GEOT-5158> and GEOT-4100 
>> <https://osgeo-org.atlassian.net/browse/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 
>> <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://www.geo-solutions.it/>
>> 
>> http://twitter.com/geosolutions_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://slashdot.org/>! 
>> http://sdm.link/slashdot_______________________________________________ 
>> <http://sdm.link/slashdot_______________________________________________> 
>> GeoTools-Devel mailing list 
>> GeoTools-Devel@lists.sourceforge.net 
>> <mailto:GeoTools-Devel@lists.sourceforge.net> 
>> https://lists.sourceforge.net/lists/listinfo/geotools-devel 
>> <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