[Geoserver-devel] GeoServer OpenLayers Preview - new ol.proj.Projection

Hello Bart/Andreas

When creating a new ol.proj.Projection, what are the functional implications of setting “global: true”? The OL3 docs are not especially clear on this.

I am fixing a bug in the GeoServer OL3 preview when in tiled mode the map preview does not wrap the globe. I have two potential fixes:
https://github.com/geoserver/geoserver/pull/1701/files
https://github.com/geoserver/geoserver/pull/1702/files

I am trying to determine the implications of the former fix, in order to decide which one to apply to geoserver.

Thanks,

Torben

Hi Torben,

The implications of setting `global: true` are that OpenLayers assumes
the projection extent to span the world from -180° to +180° longitude.
Both potential fixes you linked will cause unexpected results for
projections whose validity extent does not span the globe in
longitudinal direction.

One approach that could work is that you try to reproject the
projection validity extent to EPSG:4326 and see if the reprojected
extent goes from -180 to +180 in x direction. But there will also be
pitfalls with this for e.g. polar projections.

My recommendation would be to not consider the current behaviour a
bug, and make the GeoServer preview not wrap the globe at all.
Instead, configure the map's view with the projection's validity
extent, so the map center will always be within the validity extent.

I hope this helps.

Andreas.

On Tue, Aug 9, 2016 at 10:58 PM, Torben Barsballe
<tbarsballe@anonymised.com> wrote:

Hello Bart/Andreas

When creating a new ol.proj.Projection, what are the functional implications
of setting "global: true"? The OL3 docs are not especially clear on this.

I am fixing a bug in the GeoServer OL3 preview when in tiled mode the map
preview does not wrap the globe. I have two potential fixes:
https://github.com/geoserver/geoserver/pull/1701/files
https://github.com/geoserver/geoserver/pull/1702/files

I am trying to determine the implications of the former fix, in order to
decide which one to apply to geoserver.

Thanks,

Torben

--
Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo

On Tue, Aug 9, 2016 at 11:12 PM, Andreas Hocevar <ahocevar@anonymised.com>
wrote:

My recommendation would be to not consider the current behaviour a
bug, and make the GeoServer preview not wrap the globe at all.

This is a significant regression for those mapping near and across the
dateline, they
need to see the map wrap (yes, they can build their own custom client to do
that,
but the preview would be almost useless to them).

Torben, if we cannot make OL3 work as OL2, here is my suggestion: in java
code, try to build
a ProjectionHandler for the target projection using the
ProjectionHandlerFinder and the
current geoserver settings vs wrapping, and if the object you get back is a
WrappingProjectionHandler,
then raise whatever flag makes OL continously wrap the map.

If not even that works, hmmm... we'll have to consider offering the
possibility to
switch to OL2 or some other mapping library as a visible option in the UI,
instead
of using the current system variable trick.

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.

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

Not knowing much about how the OL3 works, could a new UI checkbox (off by default) be added to the layer preview screen under the “…” icon to turn wrapping on/off?

Chris Snider

Senior Software Engineer

Intelligent Software Solutions, Inc.

Description: Description: Description: cid:image001.png@...3926...

(attachments)

image001.png

···

On Tue, Aug 9, 2016 at 11:12 PM, Andreas Hocevar <ahocevar@…3839…> wrote:

My recommendation would be to not consider the current behaviour a
bug, and make the GeoServer preview not wrap the globe at all.

This is a significant regression for those mapping near and across the dateline, they

need to see the map wrap (yes, they can build their own custom client to do that,

but the preview would be almost useless to them).

Torben, if we cannot make OL3 work as OL2, here is my suggestion: in java code, try to build

a ProjectionHandler for the target projection using the ProjectionHandlerFinder and the

current geoserver settings vs wrapping, and if the object you get back is a WrappingProjectionHandler,

then raise whatever flag makes OL continously wrap the map.

If not even that works, hmmm… we’ll have to consider offering the possibility to

switch to OL2 or some other mapping library as a visible option in the UI, instead

of using the current system variable trick.

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.


Thanks Andrea, this sounds like a good suggestion. If GeoServer can
provide the information whether a projection is suitable for wrapping,
then adding `global: true` for that projection in OpenLayers will do
the trick.

Didn't the OpenLayers 2 preview work the same way? Or was wrapping
enabled there unconditionally?

Andreas.

On Wed, Aug 10, 2016 at 5:27 PM, Andrea Aime
<andrea.aime@anonymised.com> wrote:

On Tue, Aug 9, 2016 at 11:12 PM, Andreas Hocevar <ahocevar@anonymised.com>
wrote:

My recommendation would be to not consider the current behaviour a
bug, and make the GeoServer preview not wrap the globe at all.

This is a significant regression for those mapping near and across the
dateline, they
need to see the map wrap (yes, they can build their own custom client to do
that,
but the preview would be almost useless to them).

Torben, if we cannot make OL3 work as OL2, here is my suggestion: in java
code, try to build
a ProjectionHandler for the target projection using the
ProjectionHandlerFinder and the
current geoserver settings vs wrapping, and if the object you get back is a
WrappingProjectionHandler,
then raise whatever flag makes OL continously wrap the map.

If not even that works, hmmm... we'll have to consider offering the
possibility to
switch to OL2 or some other mapping library as a visible option in the UI,
instead
of using the current system variable trick.

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.

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

--
Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo

One interesting point here is with the current GeoServer OL3 preview code is that wrapping only doesn’t work in tiled mode - when not tiled wrapping still works fine, despite the same projection configuration. So there seems to be a bit of an inconsistency with how OL3 behaves here.

Torben

···

On Wed, Aug 10, 2016 at 12:01 PM, Andreas Hocevar <ahocevar@anonymised.com> wrote:

Thanks Andrea, this sounds like a good suggestion. If GeoServer can
provide the information whether a projection is suitable for wrapping,
then adding global: true for that projection in OpenLayers will do
the trick.

Didn’t the OpenLayers 2 preview work the same way? Or was wrapping
enabled there unconditionally?

Andreas.

On Wed, Aug 10, 2016 at 5:27 PM, Andrea Aime
<andrea.aime@anonymised.com> wrote:

On Tue, Aug 9, 2016 at 11:12 PM, Andreas Hocevar <ahocevar@anonymised.com>
wrote:

My recommendation would be to not consider the current behaviour a
bug, and make the GeoServer preview not wrap the globe at all.

This is a significant regression for those mapping near and across the
dateline, they
need to see the map wrap (yes, they can build their own custom client to do
that,
but the preview would be almost useless to them).

Torben, if we cannot make OL3 work as OL2, here is my suggestion: in java
code, try to build
a ProjectionHandler for the target projection using the
ProjectionHandlerFinder and the
current geoserver settings vs wrapping, and if the object you get back is a
WrappingProjectionHandler,
then raise whatever flag makes OL continously wrap the map.

If not even that works, hmmm… we’ll have to consider offering the
possibility to
switch to OL2 or some other mapping library as a visible option in the UI,
instead
of using the current system variable trick.

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.



Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo

This is totally expected. For an image layer, OpenLayers simply
requests an image with a bounding box that matches the map viewport.
That bounding box can exceed the world bounds (i.e. go beyond -180° or
+180°), and GeoServer will handle that just fine. Client-side wrapping
is only needed for tile and vector layers.

Andreas.

On Wed, Aug 10, 2016 at 9:08 PM, Torben Barsballe
<tbarsballe@anonymised.com> wrote:

One interesting point here is with the current GeoServer OL3 preview code is
that wrapping only doesn't work in tiled mode - when not tiled wrapping
still works fine, despite the same projection configuration. So there seems
to be a bit of an inconsistency with how OL3 behaves here.

Torben

On Wed, Aug 10, 2016 at 12:01 PM, Andreas Hocevar
<ahocevar@anonymised.com> wrote:

Thanks Andrea, this sounds like a good suggestion. If GeoServer can
provide the information whether a projection is suitable for wrapping,
then adding `global: true` for that projection in OpenLayers will do
the trick.

Didn't the OpenLayers 2 preview work the same way? Or was wrapping
enabled there unconditionally?

Andreas.

On Wed, Aug 10, 2016 at 5:27 PM, Andrea Aime
<andrea.aime@anonymised.com> wrote:
> On Tue, Aug 9, 2016 at 11:12 PM, Andreas Hocevar
> <ahocevar@anonymised.com>
> wrote:
>>
>> My recommendation would be to not consider the current behaviour a
>> bug, and make the GeoServer preview not wrap the globe at all.
>
>
> This is a significant regression for those mapping near and across the
> dateline, they
> need to see the map wrap (yes, they can build their own custom client to
> do
> that,
> but the preview would be almost useless to them).
>
> Torben, if we cannot make OL3 work as OL2, here is my suggestion: in
> java
> code, try to build
> a ProjectionHandler for the target projection using the
> ProjectionHandlerFinder and the
> current geoserver settings vs wrapping, and if the object you get back
> is a
> WrappingProjectionHandler,
> then raise whatever flag makes OL continously wrap the map.
>
> If not even that works, hmmm... we'll have to consider offering the
> possibility to
> switch to OL2 or some other mapping library as a visible option in the
> UI,
> instead
> of using the current system variable trick.
>
> 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.
>
>
> -------------------------------------------------------

--
Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo

--
Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo

Okay, that makes sense. Thanks for the clarification Andreas.

Torben

···

On Wed, Aug 10, 2016 at 12:28 PM, Andreas Hocevar <ahocevar@anonymised.com> wrote:

This is totally expected. For an image layer, OpenLayers simply
requests an image with a bounding box that matches the map viewport.
That bounding box can exceed the world bounds (i.e. go beyond -180° or
+180°), and GeoServer will handle that just fine. Client-side wrapping
is only needed for tile and vector layers.

Andreas.

On Wed, Aug 10, 2016 at 9:08 PM, Torben Barsballe
<tbarsballe@anonymised.com> wrote:

One interesting point here is with the current GeoServer OL3 preview code is
that wrapping only doesn’t work in tiled mode - when not tiled wrapping
still works fine, despite the same projection configuration. So there seems
to be a bit of an inconsistency with how OL3 behaves here.

Torben

On Wed, Aug 10, 2016 at 12:01 PM, Andreas Hocevar
<ahocevar@anonymised.com> wrote:

Thanks Andrea, this sounds like a good suggestion. If GeoServer can
provide the information whether a projection is suitable for wrapping,
then adding global: true for that projection in OpenLayers will do
the trick.

Didn’t the OpenLayers 2 preview work the same way? Or was wrapping
enabled there unconditionally?

Andreas.

On Wed, Aug 10, 2016 at 5:27 PM, Andrea Aime
<andrea.aime@anonymised.com…> wrote:

On Tue, Aug 9, 2016 at 11:12 PM, Andreas Hocevar
<ahocevar@anonymised.com.>
wrote:

My recommendation would be to not consider the current behaviour a
bug, and make the GeoServer preview not wrap the globe at all.

This is a significant regression for those mapping near and across the
dateline, they
need to see the map wrap (yes, they can build their own custom client to
do
that,
but the preview would be almost useless to them).

Torben, if we cannot make OL3 work as OL2, here is my suggestion: in
java
code, try to build
a ProjectionHandler for the target projection using the
ProjectionHandlerFinder and the
current geoserver settings vs wrapping, and if the object you get back
is a
WrappingProjectionHandler,
then raise whatever flag makes OL continously wrap the map.

If not even that works, hmmm… we’ll have to consider offering the
possibility to
switch to OL2 or some other mapping library as a visible option in the
UI,
instead
of using the current system variable trick.

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.



Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo


Andreas Hocevar
Geospatial Solutions Engineer | Boundless
ahocevar@anonymised.com
917-460-7194
@boundlessgeo