Hi,

I suggest to use something/anything else than "GeoJSON" in the name of the 
community module or as a common name of the format because this JSON variant is 
not valid GeoJSON https://www.rfc-editor.org/rfc/rfc7946. In my previous mail I 
used the OGC draft about the "JSON for features and geometries" as an example 
because it does not contain "GeoJSON" in the name for making it clear that it 
is not written by the authors of GeoJSON. And that despite the fact that 
actually JSON-FG (or whatever it will be called) is also valid GeoJSON because 
it only adds new features into the GeoJSON specification.  I did not mean that 
Geoserver is delivering JSON-FG, it does not. Sorry for the confusion.

If you definitely want to use the name "Slim GeoJSON" as a name of the format 
it would be polite to contact the authors of the GeoJSON specification and ask 
their opinion. All the authors are named in the beginning of the RFC document 
but maybe Howard Butler or Sean Gilles are the best first contacts. Otherwise 
it is fine for me if you prefer to write your format just by yourself.

-Jukka Rahkonen-

-----Alkuperäinen viesti-----
Lähettäjä: Carsten Klein <c.kl...@datagis.com> 
Lähetetty: torstai 6. lokakuuta 2022 20.09
Vastaanottaja: Rahkonen Jukka <jukka.rahko...@maanmittauslaitos.fi>; Andrea 
Aime <andrea.a...@geosolutionsgroup.com>
Kopio: geoserver-devel@lists.sourceforge.net; bj...@wololo.org
Aihe: Re: [Geoserver-devel] Enhancement: WFS Simple Feature Response in new 
more compact JSON/JSONP format

Hi Jukka,

you suggest a different name (e. g. "OGC Features and geometries JSON"). 
What parts of the module/format would you like to be renamed? Module name? 
Class name? outputFormat name? Name and description of the format/module in 
README.md?

GeoServer actually has a class named GeoJSONGetFeatureResponse for emitting 
JSON. My class SlimGeoJSONGetFeatureResponse is just an extension adding the 
slim capability. Also, in Format-DropDown on the Layer Preview page, JSON is 
announced as

...
GeoJSON
GeoJSON(JSONP)
...

On the other hand, after having read only some parts of the OGC draft document, 
does GeoServer really return JSON-FG? At first glance, GeoServer extends 
GeoJSON (it's no official GeoJSON) but it's still far from JSON-FG, isn't it? 
Maybe naming it "OGC Features and geometries JSON" isn't much more apt?

I just wanted to stay as close as possible with GeoServer as I'm extending 
*its* current JSON capabilities. GeoServer docs state:

https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.geoserver.org%2Flatest%2Fen%2Fuser%2Fservices%2Fwfs%2Foutputformats.html%23json-and-jsonp-output&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi%7C7e9bb4668f3048d0800908daa7bd8852%7Cc4f8a63255804a1c92371d5a571b71fa%7C0%7C0%7C638006729727251264%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ec1%2BnAsT0UIx4fdO0CQN3Hox0wrLjHF%2Fnz0Mg3SYOYY%3D&amp;reserved=0

> The JSON output format (and JSONP if enabled) return feature content 
> as GeoJSON document. Here is an example of a simple GeoJSON file;

The "GeoJSON" is a link to 
https://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgeojson.org%2F&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi%7C7e9bb4668f3048d0800908daa7bd8852%7Cc4f8a63255804a1c92371d5a571b71fa%7C0%7C0%7C638006729727251264%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=rGQjaaiJWl89NvfMs8t%2BFJqJF4Gc2MDJgmrOjdkBgHw%3D&amp;reserved=0

I do not know how GeoServer serializes complex features in JSON. Maybe that is 
closer to JSON-FG. For me, however, simple features encoded in JSON seem quite 
close to GeoJSON with the additon of a "crs" object (as initially recommended 
by GeoJSON in [GJ2008] and removed later due do interoperability concerns).

Although I'm open for changes, I believe that this small extension should 
likely not change much of the class it derives from (including terms and 
names), except that it removes space wasting redundancy (the "Slim" aspect).

Asking the gdal-dev list may be an option. However, this could start a very 
long running process with really lots of different opinions. For my mind, if 
someone is concerned whether GeoServer delivers GeoJSON, CRS-extended GeoJSON 
or even JSPN-FG - this should first be clairified (and possibly be changed) in 
GeoServer core. Later, extensions and modules could adapt these changes in a 
second step.

Cheers
Carsten

Am 06.10.2022 um 16:26 schrieb Rahkonen Jukka:
> Hi,
> 
> I would consider some other name because this format is not GeoJSON. OGC is 
> using name "OGC Features and geometries JSON" in its own project for 
> enhancing GeoJSON 
> https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.ogc.org%2FDRAFTS%2F21-045.html&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi%7C7e9bb4668f3048d0800908daa7bd8852%7Cc4f8a63255804a1c92371d5a571b71fa%7C0%7C0%7C638006729727251264%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=7KYdte0FMaaaUNIZ7mqVV6nwkzBfMnljjVHD%2FO%2FrazE%3D&amp;reserved=0.
>  Perhaps your format could be something like "Slim JSON for features".
> Maybe you could contact also other open source projects for collecting more 
> opinions and suggestions. A short announcement on the gdal-dev mailing list 
> might be a good start.
> 
> -Jukka Rahkonen-
> 
> -----Alkuperäinen viesti-----
> Lähettäjä: Carsten Klein <c.kl...@datagis.com>
> Lähetetty: torstai 6. lokakuuta 2022 16.47
> Vastaanottaja: Andrea Aime <andrea.a...@geosolutionsgroup.com>
> Kopio: geoserver-devel@lists.sourceforge.net; bj...@wololo.org
> Aihe: Re: [Geoserver-devel] Enhancement: WFS Simple Feature Response 
> in new more compact JSON/JSONP format
> 
> Hello Andrea,
> 
> I've just issued a PR on GitHub. The format and community module has been 
> renamed to "Slim GeoJSON". "Slim" is shorter and likely easier to pronounce 
> than compact (together with GeoJSON).
> 
> Sorry for struggling and messing around with Git. However, the final version 
> of the PR should be OK for merging.
> 
> There are still some issues with QA checks and build checks (a test failed on 
> Mac). I've written some more remarks on that in the PR on GitHub.
> 
> Cheers
> Carsten
> 
> 
> On Thu, Sep 29, 2022 at 10:17 AM Andrea Aime wrote
>> On Thu, Sep 22, 2022 at 10:08 AM Carsten Klein <c.kl...@datagis.com 
>> <mailto:c.kl...@datagis.com>> wrote:
>>
>>      Hello there,
>>
>>      the new WFS output format CompactJSON, implemented as a community
>>      extension, is ready and works as expected. With our mentioned WFS
>>      responses (1.000+ features, 450 columns each), compared to standard
>>      GeoJSON, savings are between ~30% and ~70% (uncompressed) and between
>>      ~20% and ~50% with gzip content encoding. (see ´Statistics´ and
>>      ´Conclusion´ below)
>>
>>      What are the next steps in order to contribute/publish the new
>>      community
>>      extension? Shall I commit all the stuff to my forked ´geoserver´
>>      repository and issue a CR including all changes required in existing
>>      core code (that is the existing JSON producer)?
>>
>>
>> Yes, make a Pull Request and send a CLA to OSGeo. When opening the PR 
>> you have a checklist that needs to be satisfied, with links to the 
>> relevant docs.
>> For reference, here it is:
>>
>> https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
>> h 
>> ub.com%2Fgeoserver%2Fgeoserver%2Fblob%2Fmain%2F.github%2FPULL_REQUEST
>> _
>> TEMPLATE.md&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi%
>> 7
>> Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c92371d5a571b71fa%
>> 7 
>> C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwM
>> D 
>> AiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;
>> s
>> data=uEICQlG9TNers9r7xIDHBWy%2BeqR%2BPQqL2juv84XbkUY%3D&amp;reserved=
>> 0 
>> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
>> t 
>> hub.com%2Fgeoserver%2Fgeoserver%2Fblob%2Fmain%2F.github%2FPULL_REQUES
>> T 
>> _TEMPLATE.md&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi
>> % 
>> 7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c92371d5a571b71fa
>> % 
>> 7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw
>> M 
>> DAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp
>> ; 
>> sdata=uEICQlG9TNers9r7xIDHBWy%2BeqR%2BPQqL2juv84XbkUY%3D&amp;reserved
>> =
>> 0>
>>
>>
>>      One last question: some of the WFS format extensions have one or more
>>      GeoServerApplication.properties files, which seem to provide human
>>      readable names for the actual MIME types or formats. Should I provide
>>      these, too? Where are these texts used? What are the rules?
>>
>>
>> It would be nice if you could add it, yes. They are used in the 
>> format dropdown you can find in the layer preview page. We don't have 
>> a list of rules, checking what the other formats do and mimicking it, 
>> is the de-facto approach when adding a new output format.
>>
>>      Statistics
>>      ==========
>>
>>      Given two layers A and B, both having ~450 columns. Layer A's geometry
>>      contains polygons (~300 vertices each). Layer B has point geometries
>>      (created as a view of layer A with ST_Centroid(the_geom) AS the_geom).
>>
>>      Querying only ~1,000 and all ~10,000 features/rows from both layers:
>>
>>      Layer A (heavy polygons)
>>      ------------------------
>>
>>      ~1,000 rows      bytes raw         bytes gzip
>>
>>      GeoJSON:      19,098,924 (100%)  5,361,536 (100%)
>>
>>      CompactJSON:  12,586,758 ( 66%)  4,234,995 ( 79%)
>>
>>      FlatGeobuf:   10,093,224 ( 53%)  7,006,365 (130%)
>>
>>
>>      Layer A (heavy polygons)
>>      ------------------------
>>
>>      ~10,000 rows     bytes raw         bytes gzip
>>
>>      GeoJSON:     174,686,637 (100%) 45,414,569 (100%)
>>
>>      CompactJSON: 109,700,539 ( 63%) 35,677,456 ( 78%)
>>
>>      FlatGeobuf:   86,031,048 ( 49%) 58,857,835 (130%)
>>
>>
>>
>>      Layer B (lightweight points)
>>      ----------------------------
>>
>>      ~1,000 rows      bytes raw         bytes gzip
>>
>>      GeoJSON:       9,443,980 (100%)  2,236,172 (100%)
>>
>>      CompactJSON:   2,931,814 ( 31%)  1,174,942 ( 53%)
>>
>>      FlatGeobuf:    3,710,902 ( 39%)  2,044,614 ( 91%)
>>
>>
>>      Layer B (lightweight points)
>>      ----------------------------
>>
>>      ~10,000 rows     bytes raw         bytes gzip
>>
>>      GeoJSON:      92,394,763 (100%) 18,923,302 (100%)
>>
>>      CompactJSON:  27,408,665 ( 30%)  9,720,941 ( 51%)
>>
>>      FlatGeobuf:   32,588,230 ( 35%) 16,824,845 ( 89%)
>>
>>
>>      Conclusion
>>      ==========
>>
>>      Savings mainly depend on the ratio between schema information and data.
>>      That is, savings are small if features have much more data than schema
>>      information. Typically, geometries may get quite large, so savings
>>      depend on the size/complexity of the feature's geometries. (e. g. tests
>>      where done using complex polygons vs. simple point objects)
>>
>>      Also remarkable is that CompactJSON produces not much bigger responses
>>      (aka is not much worse) than FlatGeobuf. However, FlatGeobuf responses
>>      do not compress very well and are bigger than compressed CompactJSON in
>>      all (and even bigger than compressed GeoJSON if geometries are heavy in
>>      some) cases.
>>
>>
>> Interesting finding indeed.
>>
>> Cheers
>> Andrea
>> ==
>>
>> GeoServer Professional Services from the experts!
>>
>> Visit
>> https://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbit.
>> l%2F&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslaitos.fi%7C7e9bb
>> 4668f3048d0800908daa7bd8852%7Cc4f8a63255804a1c92371d5a571b71fa%7C0%7C
>> 0%7C638006729727251264%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC
>> JQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdat
>> a=vvvpwIKpew14rnJvNcg5Z63FaDnxVtSIK8lRKmMBS2o%3D&amp;reserved=0
>> y%2Fgs-services-us&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittauslai
>> t
>> os.fi%7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c92371d5a57
>> 1
>> b71fa%7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC
>> 4
>> wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%
>> 7 
>> C&amp;sdata=aixKL%2FMfJ78fvCvg9icTQH%2FRTvr7SMuaEX3ejZWzBm0%3D&amp;re
>> s
>> erved=0
>> <https://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbit.
>> ly%2Fgs-services-us&amp;data=05%7C01%7Cjukka.rahkonen%40maanmittausla
>> i
>> tos.fi%7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c92371d5a5
>> 7 
>> 1b71fa%7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM
>> C 
>> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C
>> % 
>> 7C&amp;sdata=aixKL%2FMfJ78fvCvg9icTQH%2FRTvr7SMuaEX3ejZWzBm0%3D&amp;r
>> e
>> served=0>for
>> more information.
>> ==
>>
>> Ing. Andrea Aime
>> @geowolf
>> Technical Lead
>>
>> GeoSolutions Group
>> phone: +39 0584 962313
>>
>> fax:     +39 0584 1660272
>>
>> mob:   +39  339 8844549
>>
>>
>> https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
>> geosolutionsgroup.com%2F&amp;data=05%7C01%7Cjukka.rahkonen%40maanmitt
>> a
>> uslaitos.fi%7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c9237
>> 1 
>> d5a571b71fa%7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJW
>> I
>> joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%
>> 7 
>> C%7C%7C&amp;sdata=vVpcWGDkUsUGZiuizBkzoVXyw2r7C3g2yo3WlWqVeTg%3D&amp;
>> r
>> eserved=0
>> <https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fww
>> w 
>> .geosolutionsgroup.com%2F&amp;data=05%7C01%7Cjukka.rahkonen%40maanmit
>> t
>> auslaitos.fi%7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c923
>> 7 
>> 1d5a571b71fa%7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJ
>> W 
>> IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000
>> % 
>> 7C%7C%7C&amp;sdata=vVpcWGDkUsUGZiuizBkzoVXyw2r7C3g2yo3WlWqVeTg%3D&amp
>> ;
>> reserved=0>
>>
>> https://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftwit
>> t 
>> er.com%2Fgeosolutions_it&amp;data=05%7C01%7Cjukka.rahkonen%40maanmitt
>> a
>> uslaitos.fi%7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c9237
>> 1 
>> d5a571b71fa%7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJW
>> I
>> joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%
>> 7 
>> C%7C%7C&amp;sdata=0nUuMX0boyNwqQQ0XUsPUmKkGFiV5dIrHo08ifFLkGg%3D&amp;
>> r
>> eserved=0
>> <https://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftwi
>> t 
>> ter.com%2Fgeosolutions_it&amp;data=05%7C01%7Cjukka.rahkonen%40maanmit
>> t
>> auslaitos.fi%7Cbe7e5c20e1084a56a2b608daa7a15866%7Cc4f8a63255804a1c923
>> 7 
>> 1d5a571b71fa%7C0%7C0%7C638006608655183714%7CUnknown%7CTWFpbGZsb3d8eyJ
>> W 
>> IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000
>> % 
>> 7C%7C%7C&amp;sdata=0nUuMX0boyNwqQQ0XUsPUmKkGFiV5dIrHo08ifFLkGg%3D&amp
>> ;
>> reserved=0>
>>
>> -------------------------------------------------------
>>
>>
>> Con riferimento alla normativa sul trattamento dei dati personali (Reg.
>> UE 2016/679 - Regolamento generale sulla protezione dei dati "GDPR"), 
>> si precisa che ogni circostanza inerente alla presente email (il suo 
>> contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza 
>> è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se 
>> il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni 
>> altra operazione è illecita. Le sarei comunque grato se potesse darmene 
>> notizia.
>>
>> This email is intended only for the person or entity to which it is 
>> addressed and may contain information that is privileged, 
>> confidential or otherwise protected from disclosure. We remind that - 
>> as provided by European Regulation 2016/679 "GDPR" - copying, 
>> dissemination or use of this e-mail or the information herein by 
>> anyone other than the intended recipient is prohibited. If you have 
>> received this email by mistake, please notify us immediately by 
>> telephone or e-mail
> 
> 
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist
> s.sourceforge.net%2Flists%2Flistinfo%2Fgeoserver-devel&amp;data=05%7C0
> 1%7Cjukka.rahkonen%40maanmittauslaitos.fi%7C7e9bb4668f3048d0800908daa7
> bd8852%7Cc4f8a63255804a1c92371d5a571b71fa%7C0%7C0%7C638006729727251264
> %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I
> k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=xYL6KJHWeYrwrxGIwW4LNi
> x4C7yYF6wW62xUsQ%2FpZDE%3D&amp;reserved=0


_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to