Re: [Geotools-gt2-users] GetMapRequest
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
On Fri, Feb 23, 2018 at 11:13 AM, Ian Turtonwrote: > 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
Re: [Geotools-gt2-users] GetMapRequest
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
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
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 Mariwrote: > 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
[Geotools-gt2-users] GetMapRequest
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