[Geoserver-devel] Encode z-dimension in GML2

Hello everyone,

I propose the following change:

https://github.com/geotools/geotools/pull/402

It allows the z-dimension to be encoded in GML2 whenever it is present in the data (it does now only if the CRS is explicitly 3D). This is already how it works for most of the other output formats such as GML31 and 32.

I have also tested impact on performance, which is not very big:

a postgis table of 1 million polygons, each having 1500 coordinates:

before patch, without z encoding
---------------------------------------------
real 21m59.280s
user 0m22.649s
sys 15m50.355s

after patch, with z
-------------------------
real 24m42.808s
user 0m36.914s
sys 20m10.624

Kind Regards
Niels

Perhaps I am missing something, why would having a z value be useful if you are not describing it in the CRS Niels?

···

Jody Garnett

On Thu, Mar 20, 2014 at 9:17 AM, Niels Charlier <niels@anonymised.com> wrote:

Hello everyone,

I propose the following change:

https://github.com/geotools/geotools/pull/402

It allows the z-dimension to be encoded in GML2 whenever it is present
in the data (it does now only if the CRS is explicitly 3D). This is
already how it works for most of the other output formats such as GML31
and 32.

I have also tested impact on performance, which is not very big:

a postgis table of 1 million polygons, each having 1500 coordinates:

before patch, without z encoding

real 21m59.280s
user 0m22.649s
sys 15m50.355s

after patch, with z

real 24m42.808s
user 0m36.914s
sys 20m10.624

Kind Regards
Niels


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech


GeoTools-Devel mailing list
GeoTools-Devel@anonymised.coms.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

On Thu, Mar 20, 2014 at 7:19 AM, Jody Garnett <jody.garnett@anonymised.com>wrote:

Perhaps I am missing something, why would having a z value be useful if
you are not describing it in the CRS Niels?

All of the 2.5d data I have dealt with so far is of this kind, the CRS is a
2D one, there is no indication about the z
axis nature, but people want to have the 3rd ordinate be encoded anyways,
and our GML3 and JSON encoders
work with it nicely already.

That's what they "the real world" I suppose.

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

So it is riding along as a measure, is there any normal GML way of handling measures?

I am just trying to understand how to describe this for for a client, I understand in the real world (as Andrea indicated) the clients are a custom one-off and are not intended to be general purpose.

···

Jody Garnett

On Thu, Mar 20, 2014 at 6:26 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Thu, Mar 20, 2014 at 7:19 AM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Perhaps I am missing something, why would having a z value be useful if you are not describing it in the CRS Niels?

All of the 2.5d data I have dealt with so far is of this kind, the CRS is a 2D one, there is no indication about the z
axis nature, but people want to have the 3rd ordinate be encoded anyways, and our GML3 and JSON encoders
work with it nicely already.

That’s what they “the real world” I suppose.

Cheers
Andrea

==
Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


On Thu, Mar 20, 2014 at 9:25 AM, Jody Garnett <jody.garnett@anonymised.com>wrote:

So it is riding along as a measure, is there any normal GML way of
handling measures?

In some GML versions you can declare how many ordinates
are there in the coordinate without any link to the CRS (vague memories on
this, don't
remember the exact version)

I am just trying to understand how to describe this for for a client, I
understand in the real world (as Andrea indicated) the clients are a custom
one-off and are not intended to be general purpose.

Correct, the most common case being OL (which does understand Z without the
axis)

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Wed, Mar 19, 2014 at 11:17 PM, Niels Charlier <niels@anonymised.com> wrote:

Hello everyone,

I propose the following change:

https://github.com/geotools/geotools/pull/402

It allows the z-dimension to be encoded in GML2 whenever it is present
in the data (it does now only if the CRS is explicitly 3D). This is
already how it works for most of the other output formats such as GML31
and 32.

I think it's reasonable. A test would help get it merged :slight_smile:

Cheers
Andrea

--

Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

That has been sorted, Andrea. Regards Niels

···

On 20/03/14 09:38, Andrea Aime wrote:

On Wed, Mar 19, 2014 at 11:17 PM, Niels Charlier <niels@anonymised.com> wrote:

Hello everyone,

I propose the following change:

https://github.com/geotools/geotools/pull/402

It allows the z-dimension to be encoded in GML2 whenever it is present
in the data (it does now only if the CRS is explicitly 3D). This is
already how it works for most of the other output formats such as GML31
and 32.

I think it’s reasonable. A test would help get it merged :slight_smile: