Re: [Geotools-gt2-users] GetMapRequest

2018-03-01 Thread Andrea Mari
Hi all,

Thank you very much for your help.
Unfortunately, all the options we tried didn’t work.

Does the server need to be configured in order to allow wrapping or is 
something we can do on the client side as well?
How can I check if the server allows wrapping or not?
Have you got an example on how to do it on the client side in case the server 
is not set to allow wrapping?

Thank you very much in advance for your help
Andrea

From: <andrea.a...@gmail.com> on behalf of Andrea Aime 
<andrea.a...@geo-solutions.it>
Date: Friday, 23 February 2018 at 11:22 PM
To: Ian Turton <ijtur...@gmail.com>
Cc: Andrea Mari <andrea.m...@niwa.co.nz>, 
"geotools-gt2-users@lists.sourceforge.net" 
<geotools-gt2-users@lists.sourceforge.net>
Subject: Re: [Geotools-gt2-users] GetMapRequest

On Fri, Feb 23, 2018 at 11:13 AM, Ian Turton 
<ijtur...@gmail.com<mailto:ijtur...@gmail.com>> wrote:
I think the easiest answer is to request two separate images on either side of 
180/-180.
Some of the data stores handle crossing the antimeridian or possibly that is 
all handled in GeoServer (see 
http://blog.geoserver.org/2010/02/23/geoserver-map-wrapping/). So you might get 
the correct answer by using a WMSLayer rather than making a direct WMS request 
yourself, but I haven't tried that.

GeoServer enables that support in streaming renderer, something like this:

Map<Object, Object> rendererParams = new HashMap();
rendererParams.put(StreamingRenderer.ADVANCED_PROJECTION_HANDLING_KEY, true);
rendererParams.put(StreamingRenderer.CONTINUOUS_MAP_WRAPPING, true);
renderer.setRendererHints(rendererParams);

and then the client code should use lontidues above 180 to request an area 
crossing the dateline,
like a WMS client does... at that point it should work...

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-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users


Re: [Geotools-gt2-users] GetMapRequest

2018-02-23 Thread Andrea Aime
On Fri, Feb 23, 2018 at 11:13 AM, Ian Turton  wrote:

> I think the easiest answer is to request two separate images on either
> side of 180/-180.
>
> Some of the data stores handle crossing the antimeridian or possibly that
> is all handled in GeoServer (see http://blog.geoserver.org/
> 2010/02/23/geoserver-map-wrapping/). So you might get the correct answer
> by using a WMSLayer rather than making a direct WMS request yourself, but I
> haven't tried that.
>

GeoServer enables that support in streaming renderer, something like this:

Map rendererParams = new HashMap();
rendererParams.put(StreamingRenderer.ADVANCED_PROJECTION_HANDLING_KEY,
true);
rendererParams.put(StreamingRenderer.CONTINUOUS_MAP_WRAPPING, true);
renderer.setRendererHints(rendererParams);

and then the client code should use lontidues above 180 to request an area
crossing the dateline,
like a WMS client does... at that point it should work...

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-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users


Re: [Geotools-gt2-users] GetMapRequest

2018-02-23 Thread Ian Turton
I think the easiest answer is to request two separate images on either side
of 180/-180.

Some of the data stores handle crossing the antimeridian or possibly that
is all handled in GeoServer (see
http://blog.geoserver.org/2010/02/23/geoserver-map-wrapping/). So you might
get the correct answer by using a WMSLayer rather than making a direct WMS
request yourself, but I haven't tried that.

Ian

On 23 February 2018 at 00:20, Andrea Mari <andrea.m...@niwa.co.nz> wrote:

> I send it again because with the attachment was too big.
>
>
>
> Thank you very much, it works now.
>
>
>
> Now that I’ve solved my issue, I’ve got a second one.
>
>
>
> The real coordinates I’m using to create a rectangle in the South pacific
> are
>
> getMapRequest.setBBox("162,-24,-156,17");
>
> but due to the fact that I’m going through the 0 meridian, the Envelope
> doesn’t recognise correctly the minx and maxX (it swaps them)
>
> I’ve also tried to use 162 and 203 (assuming to use a 360 degree scale)
>
>
>
> Any idea?
>
>
>
> Thank you
>
> Andrea
>
>
>
> *From: *Andrea Mari <andrea.m...@niwa.co.nz>
> *Date: *Friday, 23 February 2018 at 1:18 PM
> *To: *Ian Turton <ijtur...@gmail.com>
> *Cc: *"geotools-gt2-users@lists.sourceforge.net" <
> geotools-gt2-users@lists.sourceforge.net>
> *Subject: *Re: [Geotools-gt2-users] GetMapRequest
>
>
>
> Thank you very much, it works now.
>
>
>
> Now that I’ve solved my issue, I’ve got a second one.
>
>
>
> The real coordinates I’m using to create a rectangle in the South pacific
> are
>
> getMapRequest.setBBox("162,-24,-156,17");
>
> but due to the fact that I’m going through the 0 meridian, the Envelope
> doesn’t recognise correctly the minx and maxX (it swaps them)
>
> I’ve also tried to use 162 and 203 (assuming to use a 360 degree scale)
>
>
>
> Any idea?
>
>
>
> Attached a picture of the area I would like to get from the server.
>
>
>
> Thank you
>
> Andrea
>
>
>
>
>
> *From: *Ian Turton <ijtur...@gmail.com>
>
> *Date: *Thursday, 22 February 2018 at 10:31 PM
> *To: *Andrea Mari <andrea.m...@niwa.co.nz>
> *Cc: *"geotools-gt2-users@lists.sourceforge.net" <
> geotools-gt2-users@lists.sourceforge.net>
> *Subject: *Re: [Geotools-gt2-users] GetMapRequest
>
>
>
> That URL and bounding box work fine for me, using this code
> https://gitlab.com/snippets/1700238
>
> If it fetches the whole world it is possible you are not setting the
> bounds of your map viewport, so you may need to add something like (where
> content is your MapContent):
>
> content.getViewport().setCoordinateReferenceSystem(crs);
> content.getViewport().setBounds(bbox);
>
> Ian
>
>
>
> On 22 February 2018 at 03:11, Andrea Mari <andrea.m...@niwa.co.nz> wrote:
>
> Hello all,
>
>
>
> I’m trying to get a subset of the WGS84 map from a server but it doesn’t
> work the way I expect.
>
> It just keeps showing the whole world
>
>
>
> What am I doing wrong?
>
>
>
>   MultithreadedHttpClient httpClient = new MultithreadedHttpClient();
>
>   httpClient.setReadTimeout(timeout);
>
>   httpClient.setConnectTimeout(timeout);
>
>   WebMapServer wms = new WebMapServer(new URL(serviceUrl), httpClient);
>
>   WMSCapabilities capabilities = wms.getCapabilities();
>
>   List layers = capabilities.getLayerList();
>
>   defaultWMSLayer = GeoToolsUtils.getDefaultWMSLayer(layers);
>
>   wmsLayer = new RSWMSLayer(wms, defaultWMSLayer);
>
>
>
>   GetMapRequest getMapRequest = wms.createGetMapRequest();
>
>   getMapRequest.addLayer(defaultWMSLayer);
>
>   getMapRequest.setBBox("162,-24,175,-13");
>
>   getMapRequest.setDimensions(mapPane.getSize());
>
>   getMapRequest.setFormat("image/png");
>
>   getMapRequest.setSRS("CRS:" + CRS.toSRS(crs));
>
>
>
>   wmsLayer.setTitle(defaultWMSLayer.getTitle());
>
>   map.layers().add(0, wmsLayer);
>
>
>
>
>
> serviceUrl =http://ows.terrestris.de/osm/service?SERVICE=WMS=1.
> 1.1=GetCapabilities
>
> ("162,-24,175,-13") these are the coordinates in WGS84 to get a map of
> most of the Pacific Islands
>
>
>
> Thank you very much for your help
>
> Andrea
>
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> GeoTools-GT2-Users mailing list
> GeoTools-GT2-User

Re: [Geotools-gt2-users] GetMapRequest

2018-02-22 Thread Andrea Mari
I send it again because with the attachment was too big.

Thank you very much, it works now.

Now that I’ve solved my issue, I’ve got a second one.

The real coordinates I’m using to create a rectangle in the South pacific are
getMapRequest.setBBox("162,-24,-156,17");
but due to the fact that I’m going through the 0 meridian, the Envelope doesn’t 
recognise correctly the minx and maxX (it swaps them)
I’ve also tried to use 162 and 203 (assuming to use a 360 degree scale)

Any idea?

Thank you
Andrea

From: Andrea Mari <andrea.m...@niwa.co.nz>
Date: Friday, 23 February 2018 at 1:18 PM
To: Ian Turton <ijtur...@gmail.com>
Cc: "geotools-gt2-users@lists.sourceforge.net" 
<geotools-gt2-users@lists.sourceforge.net>
Subject: Re: [Geotools-gt2-users] GetMapRequest

Thank you very much, it works now.

Now that I’ve solved my issue, I’ve got a second one.

The real coordinates I’m using to create a rectangle in the South pacific are
getMapRequest.setBBox("162,-24,-156,17");
but due to the fact that I’m going through the 0 meridian, the Envelope doesn’t 
recognise correctly the minx and maxX (it swaps them)
I’ve also tried to use 162 and 203 (assuming to use a 360 degree scale)

Any idea?

Attached a picture of the area I would like to get from the server.

Thank you
Andrea


From: Ian Turton <ijtur...@gmail.com>
Date: Thursday, 22 February 2018 at 10:31 PM
To: Andrea Mari <andrea.m...@niwa.co.nz>
Cc: "geotools-gt2-users@lists.sourceforge.net" 
<geotools-gt2-users@lists.sourceforge.net>
Subject: Re: [Geotools-gt2-users] GetMapRequest

That URL and bounding box work fine for me, using this code 
https://gitlab.com/snippets/1700238
If it fetches the whole world it is possible you are not setting the bounds of 
your map viewport, so you may need to add something like (where content is your 
MapContent):

content.getViewport().setCoordinateReferenceSystem(crs);
content.getViewport().setBounds(bbox);
Ian

On 22 February 2018 at 03:11, Andrea Mari 
<andrea.m...@niwa.co.nz<mailto:andrea.m...@niwa.co.nz>> wrote:
Hello all,

I’m trying to get a subset of the WGS84 map from a server but it doesn’t work 
the way I expect.
It just keeps showing the whole world

What am I doing wrong?

  MultithreadedHttpClient httpClient = new MultithreadedHttpClient();
  httpClient.setReadTimeout(timeout);
  httpClient.setConnectTimeout(timeout);
  WebMapServer wms = new WebMapServer(new URL(serviceUrl), httpClient);
  WMSCapabilities capabilities = wms.getCapabilities();
  List layers = capabilities.getLayerList();
  defaultWMSLayer = GeoToolsUtils.getDefaultWMSLayer(layers);
  wmsLayer = new RSWMSLayer(wms, defaultWMSLayer);

  GetMapRequest getMapRequest = wms.createGetMapRequest();
  getMapRequest.addLayer(defaultWMSLayer);
  getMapRequest.setBBox("162,-24,175,-13");
  getMapRequest.setDimensions(mapPane.getSize());
  getMapRequest.setFormat("image/png");
  getMapRequest.setSRS("CRS:" + CRS.toSRS(crs));

  wmsLayer.setTitle(defaultWMSLayer.getTitle());
  map.layers().add(0, wmsLayer);


serviceUrl 
=http://ows.terrestris.de/osm/service?SERVICE=WMS=1.1.1=GetCapabilities
("162,-24,175,-13") these are the coordinates in WGS84 to get a map of most of 
the Pacific Islands

Thank you very much for your help
Andrea

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net<mailto:GeoTools-GT2-Users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users



--
Ian Turton
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users


Re: [Geotools-gt2-users] GetMapRequest

2018-02-22 Thread Ian Turton
That URL and bounding box work fine for me, using this code
https://gitlab.com/snippets/1700238

If it fetches the whole world it is possible you are not setting the bounds
of your map viewport, so you may need to add something like (where content
is your MapContent):

content.getViewport().setCoordinateReferenceSystem(crs);
content.getViewport().setBounds(bbox);

Ian

On 22 February 2018 at 03:11, Andrea Mari  wrote:

> Hello all,
>
>
>
> I’m trying to get a subset of the WGS84 map from a server but it doesn’t
> work the way I expect.
>
> It just keeps showing the whole world
>
>
>
> What am I doing wrong?
>
>
>
>   MultithreadedHttpClient httpClient = new MultithreadedHttpClient();
>
>   httpClient.setReadTimeout(timeout);
>
>   httpClient.setConnectTimeout(timeout);
>
>   WebMapServer wms = new WebMapServer(new URL(serviceUrl), httpClient);
>
>   WMSCapabilities capabilities = wms.getCapabilities();
>
>   List layers = capabilities.getLayerList();
>
>   defaultWMSLayer = GeoToolsUtils.getDefaultWMSLayer(layers);
>
>   wmsLayer = new RSWMSLayer(wms, defaultWMSLayer);
>
>
>
>   GetMapRequest getMapRequest = wms.createGetMapRequest();
>
>   getMapRequest.addLayer(defaultWMSLayer);
>
>   getMapRequest.setBBox("162,-24,175,-13");
>
>   getMapRequest.setDimensions(mapPane.getSize());
>
>   getMapRequest.setFormat("image/png");
>
>   getMapRequest.setSRS("CRS:" + CRS.toSRS(crs));
>
>
>
>   wmsLayer.setTitle(defaultWMSLayer.getTitle());
>
>   map.layers().add(0, wmsLayer);
>
>
>
>
>
> serviceUrl =http://ows.terrestris.de/osm/service?SERVICE=WMS=1.
> 1.1=GetCapabilities
>
> ("162,-24,175,-13") these are the coordinates in WGS84 to get a map of
> most of the Pacific Islands
>
>
>
> Thank you very much for your help
>
> Andrea
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> GeoTools-GT2-Users mailing list
> GeoTools-GT2-Users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
>


-- 
Ian Turton
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users