You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
(3) |
Nov
(23) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(8) |
Feb
(11) |
Mar
(14) |
Apr
(21) |
May
(43) |
Jun
(25) |
Jul
(19) |
Aug
(23) |
Sep
(26) |
Oct
(27) |
Nov
(46) |
Dec
(13) |
2004 |
Jan
(34) |
Feb
(20) |
Mar
(17) |
Apr
(18) |
May
(58) |
Jun
(64) |
Jul
(86) |
Aug
(50) |
Sep
(67) |
Oct
(124) |
Nov
(83) |
Dec
(159) |
2005 |
Jan
(127) |
Feb
(127) |
Mar
(133) |
Apr
(113) |
May
(113) |
Jun
(176) |
Jul
(182) |
Aug
(156) |
Sep
(138) |
Oct
(182) |
Nov
(148) |
Dec
(130) |
2006 |
Jan
(156) |
Feb
(158) |
Mar
(170) |
Apr
(114) |
May
(145) |
Jun
(135) |
Jul
(85) |
Aug
(163) |
Sep
(170) |
Oct
(180) |
Nov
(167) |
Dec
(124) |
2007 |
Jan
(133) |
Feb
(200) |
Mar
(193) |
Apr
(237) |
May
(154) |
Jun
(140) |
Jul
(199) |
Aug
(331) |
Sep
(123) |
Oct
(95) |
Nov
(125) |
Dec
(194) |
2008 |
Jan
(162) |
Feb
(148) |
Mar
(143) |
Apr
(207) |
May
(207) |
Jun
(231) |
Jul
(225) |
Aug
(178) |
Sep
(141) |
Oct
(201) |
Nov
(146) |
Dec
(124) |
2009 |
Jan
(232) |
Feb
(264) |
Mar
(213) |
Apr
(215) |
May
(153) |
Jun
(244) |
Jul
(71) |
Aug
(124) |
Sep
(247) |
Oct
(278) |
Nov
(155) |
Dec
(178) |
2010 |
Jan
(203) |
Feb
(133) |
Mar
(338) |
Apr
(226) |
May
(386) |
Jun
(385) |
Jul
(146) |
Aug
(162) |
Sep
(172) |
Oct
(72) |
Nov
(69) |
Dec
(96) |
2011 |
Jan
(63) |
Feb
(112) |
Mar
(235) |
Apr
(198) |
May
(260) |
Jun
(239) |
Jul
(309) |
Aug
(186) |
Sep
(140) |
Oct
(174) |
Nov
(105) |
Dec
(41) |
2012 |
Jan
(68) |
Feb
(132) |
Mar
(89) |
Apr
(61) |
May
(113) |
Jun
(129) |
Jul
(62) |
Aug
(144) |
Sep
(94) |
Oct
(116) |
Nov
(151) |
Dec
(57) |
2013 |
Jan
(101) |
Feb
(144) |
Mar
(93) |
Apr
(75) |
May
(67) |
Jun
(52) |
Jul
(64) |
Aug
(67) |
Sep
(65) |
Oct
(55) |
Nov
(26) |
Dec
(32) |
2014 |
Jan
(38) |
Feb
(40) |
Mar
(40) |
Apr
(43) |
May
(28) |
Jun
(50) |
Jul
(79) |
Aug
(90) |
Sep
(75) |
Oct
(45) |
Nov
(62) |
Dec
(49) |
2015 |
Jan
(40) |
Feb
(64) |
Mar
(80) |
Apr
(43) |
May
(49) |
Jun
(46) |
Jul
(23) |
Aug
(69) |
Sep
(49) |
Oct
(61) |
Nov
(43) |
Dec
(33) |
2016 |
Jan
(15) |
Feb
(63) |
Mar
(40) |
Apr
(56) |
May
(43) |
Jun
(35) |
Jul
(41) |
Aug
(35) |
Sep
(10) |
Oct
(41) |
Nov
(39) |
Dec
(37) |
2017 |
Jan
(57) |
Feb
(19) |
Mar
(36) |
Apr
(8) |
May
(19) |
Jun
(17) |
Jul
(9) |
Aug
(18) |
Sep
(19) |
Oct
(17) |
Nov
(4) |
Dec
(13) |
2018 |
Jan
(17) |
Feb
(15) |
Mar
(23) |
Apr
(22) |
May
(5) |
Jun
(3) |
Jul
(30) |
Aug
(10) |
Sep
(20) |
Oct
(12) |
Nov
(1) |
Dec
(9) |
2019 |
Jan
(13) |
Feb
(19) |
Mar
(34) |
Apr
(16) |
May
(14) |
Jun
(10) |
Jul
(21) |
Aug
(25) |
Sep
(22) |
Oct
(3) |
Nov
(10) |
Dec
(8) |
2020 |
Jan
|
Feb
(19) |
Mar
(3) |
Apr
(51) |
May
(5) |
Jun
(12) |
Jul
(16) |
Aug
(15) |
Sep
(7) |
Oct
(16) |
Nov
(24) |
Dec
(24) |
2021 |
Jan
(11) |
Feb
(27) |
Mar
(14) |
Apr
(14) |
May
(3) |
Jun
(11) |
Jul
(8) |
Aug
(8) |
Sep
(15) |
Oct
(24) |
Nov
(11) |
Dec
(2) |
2022 |
Jan
(6) |
Feb
(14) |
Mar
(1) |
Apr
(9) |
May
(4) |
Jun
(3) |
Jul
(4) |
Aug
(4) |
Sep
(17) |
Oct
(5) |
Nov
(15) |
Dec
(4) |
2023 |
Jan
(7) |
Feb
(16) |
Mar
(9) |
Apr
(13) |
May
(15) |
Jun
(7) |
Jul
(8) |
Aug
(3) |
Sep
(3) |
Oct
(13) |
Nov
(4) |
Dec
(8) |
2024 |
Jan
(9) |
Feb
(10) |
Mar
(6) |
Apr
(3) |
May
(7) |
Jun
(7) |
Jul
(7) |
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(1) |
Dec
|
2025 |
Jan
(3) |
Feb
(1) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Erwan B. (UBS) <erw...@un...> - 2023-01-17 07:37:50
|
Hi, I'd like to use H2GIS with the famous GeoScript library. Here the PR on the road https://github.com/geoscript/geoscript-groovy/pull/77 It seems that H2GIS GT extension is not available on https://repo.osgeo.org/repository/snapshot/ Is there a any reason or something to do? Best regards Erwan -- Directeur de Recherche CNRS Président de la Fondation GEOMANUM https://www.geomanum.org/ Laboratoire Lab-STICC – UMR 6285 Equipe DECIDE Institut Universitaire de Technologie de Vannes 8, Rue Montaigne - BP 561 56017 Vannes Cedex T: +33 2 97 62 64 92 W:http://www.labsticc.fr « Faites comme moi ! Soutenez GEOMANUM avec vos recherches sur Internet» https://www.lilo.org/geomanum/ |
From: Jody G. <jod...@gm...> - 2023-01-07 06:23:53
|
Leopold: We selected LGPL specifically to enable the kind of balance you describe. Brad has provided good guidance - if you use the library "as is" then you can tell your users where the geotools library source code is located (i.e. http://github.com/geotools/geotools). If you have to make a modification or fix to the GeoTools library LGPL asks that you make the change available ... to your users. One nice way to do that is by submitting the change or fix to the GeoTools project (and then you can go back to providing your users the http://github.com/geotools/geotools location). Aside: We initially did this copyleft license choice to grow market share in the hopes of attracting additional participation and involvement. While we have lots of reports of GeoTools being used successfully world wide - it remains our downstream GPL communities that are participating in the project. I had some slides [on this topic]( https://www.slideshare.net/jgarnett/understanding-open-source-78550455) but the website was purchased by linkedin and now is terrible. -- Jody Garnett On Fri, Jan 6, 2023 at 1:51 AM Leopold Bloom <Blo...@se...> wrote: > Hello, > > I have question about potential using the GeoTools in the commercial app. > > > > We are planning to develop a new app and we would like to use GeoTools > library in it. Because LGPL licence terms are not easy to read I´d like to > ask you directly. > > > Our software in the executable form would use GeoTools library by the > static linking. I read that static linking can be problematic towards the > commercial apps. Can we distribute the executable form of the software by > Google Play and AppStore without revealing source code of our whole > software? Or which requirements we have to fulfill to do so? > > > I´ve read your FAQ and according to them, such use seems allright, but I > want to be 100 % sure that we would use your software properly. > > > Thanks for your reply > > Tomas > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > |
From: Brad H. <br...@fr...> - 2023-01-06 22:46:40
|
On Friday, 6 January 2023 8:50:30 PM AEDT Leopold Bloom wrote: > Hello, > > I have question about potential using the GeoTools in the commercial app. > > > > We are planning to develop a new app and we would like to use GeoTools > library in it. Because LGPL licence terms are not easy to read I´d like to > ask you directly. > > > > > Our software in the executable form would use GeoTools library by the static > linking. I read that static linking can be problematic towards the > commercial apps. Can we distribute the executable form of the software by > Google Play and AppStore without revealing source code of our whole > software? Or which requirements we have to fulfill to do so? I am not your lawyer, nor do I speak on behalf of the project. However I think the terms of the LGPL are pretty clear in this situation. In particular, assuming you aren't making any changes to GeoTools, then the requirement for static linking is that you allow relinking (see Section 6(a) of the LGPLv2.1). An executable is not sufficient. There are also notice requirements about use of the Library (see Section 6). If you are making changes to GeoTools (what the license calls "works based on the library"), then you need to release those under the LGPL (or compatible license). One way to think about this is "how am I going to allow users to modify and upgrade the GeoTools parts of my program"? If you can explain that, then I think you are well on the way to planning your license compliance. There is a good explanation at https://copyleft.org/ if you need more background, but fundamentally you should seek professional legal advice if you are unsure. HTH. Brad |
From: Leopold B. <Blo...@se...> - 2023-01-06 09:50:43
|
Hello, I have question about potential using the GeoTools in the commercial app. We are planning to develop a new app and we would like to use GeoTools library in it. Because LGPL licence terms are not easy to read I´d like to ask you directly. Our software in the executable form would use GeoTools library by the static linking. I read that static linking can be problematic towards the commercial apps. Can we distribute the executable form of the software by Google Play and AppStore without revealing source code of our whole software? Or which requirements we have to fulfill to do so? I´ve read your FAQ and according to them, such use seems allright, but I want to be 100 % sure that we would use your software properly. Thanks for your reply Tomas |
From: Jody G. <jod...@gm...> - 2022-12-15 18:29:32
|
Roar: I think you could also try patching geotools to be forgiving in this case. -- Jody Garnett On Mon, Dec 5, 2022 at 7:07 AM Roar Brænden <roa...@gm...> wrote: > Hi, > > I've looked more into how to handle this irregular capabilities document > within GeoTools, and found a solution that works without contacting NASA. > It isn't the prettiest thing, but it works. The main point is to make a > custom WMTSConfiguration that overrides the binding for positiveInteger. > > I've made a gist of the solution, if anyone is interested. > > https://gist.github.com/roarbra/c676cdc933fe2c4880c9e17995e9516d > > Best regards, > Roar Brænden > > > 2. des. 2022 kl. 16:09 skrev Matthijs Laan via GeoTools-GT2-Users < > geo...@li...>: > > Looking further into this specific service, apparently this WMTS > capabilities document is generated by a Lua script that just copies the > width and height values from a YAML configuration file, without making sure > the resulting capabilities valid according to the WMTS schema. > > The Lua code is here: > https://github.com/nasa-gibs/onearth/blob/main/src/modules/gc_service/gc_service.lua#L514 > > An example YAML file with a 85.5 height for a legend is here, among other > places: > https://github.com/nasa-gibs/onearth/blob/main/docker/sample_configs/layers/epsg4326/best/GEDI_ISS_L3_Elevation_Mean_Lowest_Mode_201904-202004.yaml#L43 > > Maybe you can send an e-mail to su...@ea... to ask them to > change their YAML files to use integer legend widths and heights or create > an issue in their GitHub repository. > > Matthijs > > On 02/12/2022 11.15, Matthijs Laan via GeoTools-GT2-Users wrote: > > XML Schema says Capabilities are invalid. > > <attribute name="width" type="positiveInteger"> > <annotation> > <documentation>Width (in pixels) of the legend > image</documentation> > </annotation> > </attribute> > <attribute name="height" type="positiveInteger"> > <annotation> > <documentation>Height (in pixels) of the > legend image</documentation> > </annotation> > </attribute> > > Matthijs > > On 30/11/2022 15.55, Roar Brænden wrote: > > Hi, > > It seems like this height=85.5 is coming from the capabilities document. > Here for instance: > > <Style isDefault="true"> > <ows:Title xml:lang="en">default</ows:Title> > <ows:Identifier>default</ows:Identifier> > <LegendURL width="378" xlink:href=" > https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg" > xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal" height > ="85.5" format="image/svg+xml" xlink:title="GIBS Color Map Legend: > Horizontal" xlink:type="simple"/> > <LegendURL width="135" xlink:href=" > https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg" > xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical" height=" > 288" format="image/svg+xml" xlink:title="GIBS Color Map Legend: Vertical" > xlink:type="simple"/> > </Style> > > Haven't looked in the WMTS specification to see if that is against the > rules, but sure isn't anything the user could fix. Geotools is tolerant > elsewhere, so it could certainly be a place for a little flexibility. Not > sure how to handle it though. > > Best regards, > > Roar Brænden > > > 30. nov. 2022 kl. 10:11 skrev Ian Turton <ijt...@gm...>: > > Height is in pixels and is an integer value so your value of 85.5 is a > problem, your code example doesn't show how you are generating the size > request but I would expect a height/width of 255 or 512 for a WMTS request. > It's possible that the GeoTools WMTS code doesn't understand the TIME > dimension or the value RESTful as an encoding, you'll need to turn the > logging level up to find out exactly why that URL is being used. > > Ian > > On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm...> > wrote: > >> Hello GeoTools community, >> >> I'm new to GeoTools. Currently I'm trying to establish a connection to a >> WMTS. I followed the instructions in the WMTS — GeoTools 28-SNAPSHOT >> User Guide >> <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. >> Unfortunately the request to the WMTS failes. >> >> *Here are my system information:* >> >> GeoTools version 28-SNAPSHOT (built from >> r175672287370cf2c54eb30f2bbaa04f743835523) >> Java version: 17.0.4.1 >> Operating system: Windows 10 10.0 >> GeoTools jars on classpath: >> >> I use Maven. My pom.xml is pretty much the one from the quickstart >> tutorial but of course I added the gt-wmts dependency. >> >> *Here is my error message:* >> >> Nov. 30, 2022 9:39:18 AM org.geotools.data.ows.AbstractOpenWebService >> internalIssueRequest >> SCHWERWIEGEND: Failed to execute request >> https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS >> Exception in thread "main" java.lang.RuntimeException: Parsing failed for >> height: java.lang.NumberFormatException: For input string: "85.5" >> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) >> at >> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) >> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) >> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) >> at >> org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) >> at >> org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) >> at >> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) >> at >> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) >> at org.geotools.xsd.Parser.parse(Parser.java:183) >> at org.geotools.xsd.Parser.parse(Parser.java:125) >> at >> org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) >> at >> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) >> at >> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) >> at >> org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) >> at >> org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) >> at >> org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) >> at >> org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) >> at org.geotools.tutorial.App.main(App.java:28) >> Caused by: java.lang.NumberFormatException: For input string: "85.5" >> at >> java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) >> at java.base/java.lang.Integer.parseInt(Integer.java:668) >> at java.base/java.math.BigInteger.<init>(BigInteger.java:536) >> at java.base/java.math.BigInteger.<init>(BigInteger.java:674) >> at >> org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) >> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) >> ... 32 more >> >> *Here is my code sample: * >> >> public class App { >> public static void main(String[] args) throws ServiceException, >> IOException { >> >> System.out.println(GeoTools.getAboutInfo()); >> >> URL url = null; >> try { >> url = new URL(" >> https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi"); >> } catch (MalformedURLException e) { >> // will not happen >> } >> WebMapTileServer wmts = null; >> try { >> wmts = new WebMapTileServer(url); >> } catch (IOException e) { >> // There was an error communicating with the server >> // For example, the server is down >> } catch (ServiceException e) { >> // The server returned a ServiceException (unusual in this case) >> } catch (SAXException e) { >> // Unable to parse the response from the server >> // For example, the capabilities it returned was not valid >> } >> >> System.out.println(wmts.getCapabilities().getService().getName()); >> } >> } >> >> I tried different servers. I get a response to a manual request from all >> of them. >> >> It would be very much appreciated if anyone has a solution or a hint for >> me. >> >> Thanks in advance, >> >> Daniel >> _______________________________________________ >> GeoTools-GT2-Users mailing list >> Geo...@li... >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >> > > > -- > Ian Turton > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > > > _______________________________________________ > GeoTools-GT2-Users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > > > _______________________________________________ > GeoTools-GT2-Users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > |
From: Roar B. <roa...@gm...> - 2022-12-05 15:06:21
|
Hi, I've looked more into how to handle this irregular capabilities document within GeoTools, and found a solution that works without contacting NASA. It isn't the prettiest thing, but it works. The main point is to make a custom WMTSConfiguration that overrides the binding for positiveInteger. I've made a gist of the solution, if anyone is interested. https://gist.github.com/roarbra/c676cdc933fe2c4880c9e17995e9516d <https://gist.github.com/roarbra/c676cdc933fe2c4880c9e17995e9516d> Best regards, Roar Brænden > 2. des. 2022 kl. 16:09 skrev Matthijs Laan via GeoTools-GT2-Users <geo...@li...>: > > Looking further into this specific service, apparently this WMTS capabilities document is generated by a Lua script that just copies the width and height values from a YAML configuration file, without making sure the resulting capabilities valid according to the WMTS schema. > > The Lua code is here: https://github.com/nasa-gibs/onearth/blob/main/src/modules/gc_service/gc_service.lua#L514 <https://github.com/nasa-gibs/onearth/blob/main/src/modules/gc_service/gc_service.lua#L514> > > An example YAML file with a 85.5 height for a legend is here, among other places: https://github.com/nasa-gibs/onearth/blob/main/docker/sample_configs/layers/epsg4326/best/GEDI_ISS_L3_Elevation_Mean_Lowest_Mode_201904-202004.yaml#L43 <https://github.com/nasa-gibs/onearth/blob/main/docker/sample_configs/layers/epsg4326/best/GEDI_ISS_L3_Elevation_Mean_Lowest_Mode_201904-202004.yaml#L43> > > Maybe you can send an e-mail to su...@ea... <mailto:su...@ea...> to ask them to change their YAML files to use integer legend widths and heights or create an issue in their GitHub repository. > > Matthijs > > On 02/12/2022 11.15, Matthijs Laan via GeoTools-GT2-Users wrote: >> XML Schema says Capabilities are invalid. >> >> <attribute name="width" type="positiveInteger"> >> <annotation> >> <documentation>Width (in pixels) of the legend image</documentation> >> </annotation> >> </attribute> >> <attribute name="height" type="positiveInteger"> >> <annotation> >> <documentation>Height (in pixels) of the legend image</documentation> >> </annotation> >> </attribute> >> >> Matthijs >> >> On 30/11/2022 15.55, Roar Brænden wrote: >>> Hi, >>> >>> It seems like this height=85.5 is coming from the capabilities document. Here for instance: >>> >>> <Style isDefault="true"> >>> <ows:Title xml:lang="en">default</ows:Title> >>> <ows:Identifier>default</ows:Identifier> >>> <LegendURL width="378" xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg <https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg>" xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal <http://earthdata.nasa.gov/gibs/legend-type/horizontal>" height="85.5" format="image/svg+xml" xlink:title="GIBS Color Map Legend: Horizontal" xlink:type="simple"/> >>> <LegendURL width="135" xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg <https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg>" xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical <http://earthdata.nasa.gov/gibs/legend-type/vertical>" height="288" format="image/svg+xml" xlink:title="GIBS Color Map Legend: Vertical" xlink:type="simple"/> >>> </Style> >>> >>> Haven't looked in the WMTS specification to see if that is against the rules, but sure isn't anything the user could fix. Geotools is tolerant elsewhere, so it could certainly be a place for a little flexibility. Not sure how to handle it though. >>> >>> Best regards, >>> >>> Roar Brænden >>> >>> >>>> 30. nov. 2022 kl. 10:11 skrev Ian Turton <ijt...@gm... <mailto:ijt...@gm...>>: >>>> >>>> Height is in pixels and is an integer value so your value of 85.5 is a problem, your code example doesn't show how you are generating the size request but I would expect a height/width of 255 or 512 for a WMTS request. It's possible that the GeoTools WMTS code doesn't understand the TIME dimension or the value RESTful as an encoding, you'll need to turn the logging level up to find out exactly why that URL is being used. >>>> >>>> Ian >>>> >>>> On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm... <mailto:dan...@gm...>> wrote: >>>> Hello GeoTools community, >>>> >>>> I'm new to GeoTools. Currently I'm trying to establish a connection to a WMTS. I followed the instructions in the WMTS — GeoTools 28-SNAPSHOT User Guide <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. Unfortunately the request to the WMTS failes. >>>> >>>> Here are my system information: >>>> >>>> GeoTools version 28-SNAPSHOT (built from r175672287370cf2c54eb30f2bbaa04f743835523) >>>> Java version: 17.0.4.1 >>>> Operating system: Windows 10 10.0 >>>> GeoTools jars on classpath: >>>> >>>> I use Maven. My pom.xml is pretty much the one from the quickstart tutorial but of course I added the gt-wmts dependency. >>>> >>>> Here is my error message: >>>> >>>> Nov. 30, 2022 9:39:18 AM org.geotools.data.ows.AbstractOpenWebService internalIssueRequest >>>> SCHWERWIEGEND: Failed to execute request https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS <https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS> >>>> Exception in thread "main" java.lang.RuntimeException: Parsing failed for height: java.lang.NumberFormatException: For input string: "85.5" >>>> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) >>>> at org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) >>>> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) >>>> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) >>>> at org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) >>>> at org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) >>>> at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) >>>> at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) >>>> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) >>>> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) >>>> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) >>>> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) >>>> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) >>>> at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) >>>> at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) >>>> at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) >>>> at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) >>>> at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) >>>> at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) >>>> at org.geotools.xsd.Parser.parse(Parser.java:183) >>>> at org.geotools.xsd.Parser.parse(Parser.java:125) >>>> at org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) >>>> at org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) >>>> at org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) >>>> at org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) >>>> at org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) >>>> at org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) >>>> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) >>>> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) >>>> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) >>>> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) >>>> at org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) >>>> at org.geotools.tutorial.App.main(App.java:28) >>>> Caused by: java.lang.NumberFormatException: For input string: "85.5" >>>> at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) >>>> at java.base/java.lang.Integer.parseInt(Integer.java:668) >>>> at java.base/java.math.BigInteger.<init>(BigInteger.java:536) >>>> at java.base/java.math.BigInteger.<init>(BigInteger.java:674) >>>> at org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) >>>> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) >>>> ... 32 more >>>> >>>> Here is my code sample: >>>> >>>> public class App { >>>> public static void main(String[] args) throws ServiceException, IOException { >>>> >>>> System.out.println(GeoTools.getAboutInfo()); >>>> >>>> URL url = null; >>>> try { >>>> url = new URL("https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi <https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi>"); >>>> } catch (MalformedURLException e) { >>>> // will not happen >>>> } >>>> WebMapTileServer wmts = null; >>>> try { >>>> wmts = new WebMapTileServer(url); >>>> } catch (IOException e) { >>>> // There was an error communicating with the server >>>> // For example, the server is down >>>> } catch (ServiceException e) { >>>> // The server returned a ServiceException (unusual in this case) >>>> } catch (SAXException e) { >>>> // Unable to parse the response from the server >>>> // For example, the capabilities it returned was not valid >>>> } >>>> >>>> System.out.println(wmts.getCapabilities().getService().getName()); >>>> } >>>> } >>>> >>>> I tried different servers. I get a response to a manual request from all of them. >>>> >>>> It would be very much appreciated if anyone has a solution or a hint for me. >>>> >>>> Thanks in advance, >>>> >>>> Daniel >>>> _______________________________________________ >>>> GeoTools-GT2-Users mailing list >>>> Geo...@li... <mailto:Geo...@li...> >>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users <https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users> >>>> >>>> >>>> -- >>>> Ian Turton >>>> _______________________________________________ >>>> GeoTools-GT2-Users mailing list >>>> Geo...@li... <mailto:Geo...@li...> >>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users <https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users> >>> >>> >>> >>> >>> _______________________________________________ >>> GeoTools-GT2-Users mailing list >>> Geo...@li... <mailto:Geo...@li...> >>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users <https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users> >> >> >> >> >> _______________________________________________ >> GeoTools-GT2-Users mailing list >> Geo...@li... <mailto:Geo...@li...> >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users <https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users> > > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users |
From: Matthijs L. <mat...@b3...> - 2022-12-02 15:09:39
|
Looking further into this specific service, apparently this WMTS capabilities document is generated by a Lua script that just copies the width and height values from a YAML configuration file, without making sure the resulting capabilities valid according to the WMTS schema. The Lua code is here: https://github.com/nasa-gibs/onearth/blob/main/src/modules/gc_service/gc_service.lua#L514 An example YAML file with a 85.5 height for a legend is here, among other places: https://github.com/nasa-gibs/onearth/blob/main/docker/sample_configs/layers/epsg4326/best/GEDI_ISS_L3_Elevation_Mean_Lowest_Mode_201904-202004.yaml#L43 Maybe you can send an e-mail to su...@ea... to ask them to change their YAML files to use integer legend widths and heights or create an issue in their GitHub repository. Matthijs On 02/12/2022 11.15, Matthijs Laan via GeoTools-GT2-Users wrote: > XML Schema says Capabilities are invalid. > > <attribute name="width" type="positiveInteger"> > <annotation> > <documentation>Width (in pixels) of the > legend image</documentation> > </annotation> > </attribute> > <attribute name="height" type="positiveInteger"> > <annotation> > <documentation>Height (in pixels) of the > legend image</documentation> > </annotation> > </attribute> > > Matthijs > > On 30/11/2022 15.55, Roar Brænden wrote: >> Hi, >> >> It seems like this height=85.5 is coming from the capabilities >> document. Here for instance: >> >> <Style isDefault="true"> >> <ows:Title xml:lang="en">default</ows:Title> >> <ows:Identifier>default</ows:Identifier> >> <LegendURL width="378" >> xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg" >> xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal" >> height="85.5" format="image/svg+xml" xlink:title="GIBS Color Map >> Legend: Horizontal" xlink:type="simple"/> >> <LegendURL width="135" >> xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg" >> xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical" >> height="288" format="image/svg+xml" xlink:title="GIBS Color Map >> Legend: Vertical" xlink:type="simple"/> >> </Style> >> >> Haven't looked in the WMTS specification to see if that is against >> the rules, but sure isn't anything the user could fix. Geotools is >> tolerant elsewhere, so it could certainly be a place for a little >> flexibility. Not sure how to handle it though. >> >> Best regards, >> >> Roar Brænden >> >> >>> 30. nov. 2022 kl. 10:11 skrev Ian Turton <ijt...@gm...>: >>> >>> Height is in pixels and is an integer value so your value of 85.5 is >>> a problem, your code example doesn't show how you are generating the >>> size request but I would expect a height/width of 255 or 512 for a >>> WMTS request. It's possible that the GeoTools WMTS code doesn't >>> understand the TIME dimension or the value RESTful as an encoding, >>> you'll need to turn the logging level up to find out exactly why >>> that URL is being used. >>> >>> Ian >>> >>> On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm...> >>> wrote: >>> >>> Hello GeoTools community, >>> I'm new to GeoTools. Currently I'm trying to establish a >>> connection to a WMTS. I followed the instructions in the WMTS — >>> GeoTools 28-SNAPSHOT User Guide >>> <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. >>> Unfortunately the request to the WMTS failes. >>> *Here are my system information:* >>> GeoTools version 28-SNAPSHOT (built from >>> r175672287370cf2c54eb30f2bbaa04f743835523) >>> Java version: 17.0.4.1 >>> Operating system: Windows 10 10.0 >>> GeoTools jars on classpath: >>> I use Maven. My pom.xml is pretty much the one from the >>> quickstart tutorial but of course I added the gt-wmts dependency. >>> *Here is my error message:* >>> Nov. 30, 2022 9:39:18 AM >>> org.geotools.data.ows.AbstractOpenWebService internalIssueRequest >>> SCHWERWIEGEND: Failed to execute request >>> https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS >>> <https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS> >>> Exception in thread "main" java.lang.RuntimeException: Parsing >>> failed for height: java.lang.NumberFormatException: For input >>> string: "85.5" >>> at >>> org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) >>> at >>> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) >>> at >>> org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) >>> at >>> org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) >>> at >>> org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) >>> at >>> org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) >>> at >>> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) >>> at org.geotools.xsd.Parser.parse(Parser.java:183) >>> at org.geotools.xsd.Parser.parse(Parser.java:125) >>> at >>> org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) >>> at >>> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) >>> at >>> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) >>> at >>> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) >>> at >>> org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) >>> at org.geotools.tutorial.App.main(App.java:28) >>> Caused by: java.lang.NumberFormatException: For input string: "85.5" >>> at >>> java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) >>> at java.base/java.lang.Integer.parseInt(Integer.java:668) >>> at java.base/java.math.BigInteger.<init>(BigInteger.java:536) >>> at java.base/java.math.BigInteger.<init>(BigInteger.java:674) >>> at >>> org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) >>> at >>> org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) >>> ... 32 more >>> *Here is my code sample: * >>> public class App { >>> public static void main(String[] args) throws >>> ServiceException, IOException { >>> >>> System.out.println(GeoTools.getAboutInfo()); >>> >>> URL url = null; >>> try { >>> url = new >>> URL("https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi"); >>> } catch (MalformedURLException e) { >>> // will not happen >>> } >>> WebMapTileServer wmts = null; >>> try { >>> wmts = new WebMapTileServer(url); >>> } catch (IOException e) { >>> // There was an error communicating with the server >>> // For example, the server is down >>> } catch (ServiceException e) { >>> // The server returned a ServiceException (unusual in >>> this case) >>> } catch (SAXException e) { >>> // Unable to parse the response from the server >>> // For example, the capabilities it returned was not valid >>> } >>> >>> System.out.println(wmts.getCapabilities().getService().getName()); >>> } >>> } >>> >>> I tried different servers. I get a response to a manual request >>> from all of them. >>> It would be very much appreciated if anyone has a solution or a >>> hint for me. >>> Thanks in advance, >>> Daniel >>> _______________________________________________ >>> GeoTools-GT2-Users mailing list >>> Geo...@li... >>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >>> >>> >>> >>> -- >>> Ian Turton >>> _______________________________________________ >>> GeoTools-GT2-Users mailing list >>> Geo...@li... >>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >> >> >> >> _______________________________________________ >> GeoTools-GT2-Users mailing list >> Geo...@li... >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users |
From: Matthijs L. <mat...@b3...> - 2022-12-02 10:46:10
|
XML Schema says Capabilities are invalid. <attribute name="width" type="positiveInteger"> <annotation> <documentation>Width (in pixels) of the legend image</documentation> </annotation> </attribute> <attribute name="height" type="positiveInteger"> <annotation> <documentation>Height (in pixels) of the legend image</documentation> </annotation> </attribute> Matthijs On 30/11/2022 15.55, Roar Brænden wrote: > Hi, > > It seems like this height=85.5 is coming from the capabilities > document. Here for instance: > > <Style isDefault="true"> > <ows:Title xml:lang="en">default</ows:Title> > <ows:Identifier>default</ows:Identifier> > <LegendURL width="378" > xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg" > xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal" > height="85.5" format="image/svg+xml" xlink:title="GIBS Color Map > Legend: Horizontal" xlink:type="simple"/> > <LegendURL width="135" > xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg" > xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical" > height="288" format="image/svg+xml" xlink:title="GIBS Color Map > Legend: Vertical" xlink:type="simple"/> > </Style> > > Haven't looked in the WMTS specification to see if that is against the > rules, but sure isn't anything the user could fix. Geotools is > tolerant elsewhere, so it could certainly be a place for a little > flexibility. Not sure how to handle it though. > > Best regards, > > Roar Brænden > > >> 30. nov. 2022 kl. 10:11 skrev Ian Turton <ijt...@gm...>: >> >> Height is in pixels and is an integer value so your value of 85.5 is >> a problem, your code example doesn't show how you are generating the >> size request but I would expect a height/width of 255 or 512 for a >> WMTS request. It's possible that the GeoTools WMTS code doesn't >> understand the TIME dimension or the value RESTful as an encoding, >> you'll need to turn the logging level up to find out exactly why that >> URL is being used. >> >> Ian >> >> On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm...> >> wrote: >> >> Hello GeoTools community, >> I'm new to GeoTools. Currently I'm trying to establish a >> connection to a WMTS. I followed the instructions in the WMTS — >> GeoTools 28-SNAPSHOT User Guide >> <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. >> Unfortunately the request to the WMTS failes. >> *Here are my system information:* >> GeoTools version 28-SNAPSHOT (built from >> r175672287370cf2c54eb30f2bbaa04f743835523) >> Java version: 17.0.4.1 >> Operating system: Windows 10 10.0 >> GeoTools jars on classpath: >> I use Maven. My pom.xml is pretty much the one from the >> quickstart tutorial but of course I added the gt-wmts dependency. >> *Here is my error message:* >> Nov. 30, 2022 9:39:18 AM >> org.geotools.data.ows.AbstractOpenWebService internalIssueRequest >> SCHWERWIEGEND: Failed to execute request >> https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS >> <https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS> >> Exception in thread "main" java.lang.RuntimeException: Parsing >> failed for height: java.lang.NumberFormatException: For input >> string: "85.5" >> at >> org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) >> at >> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) >> at >> org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) >> at >> org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) >> at >> org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) >> at >> org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) >> at >> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) >> at >> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) >> at org.geotools.xsd.Parser.parse(Parser.java:183) >> at org.geotools.xsd.Parser.parse(Parser.java:125) >> at >> org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) >> at >> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) >> at >> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) >> at >> org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) >> at >> org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) >> at >> org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) >> at >> org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) >> at org.geotools.tutorial.App.main(App.java:28) >> Caused by: java.lang.NumberFormatException: For input string: "85.5" >> at >> java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) >> at java.base/java.lang.Integer.parseInt(Integer.java:668) >> at java.base/java.math.BigInteger.<init>(BigInteger.java:536) >> at java.base/java.math.BigInteger.<init>(BigInteger.java:674) >> at >> org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) >> at >> org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) >> ... 32 more >> *Here is my code sample: * >> public class App { >> public static void main(String[] args) throws >> ServiceException, IOException { >> >> System.out.println(GeoTools.getAboutInfo()); >> >> URL url = null; >> try { >> url = new >> URL("https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi"); >> } catch (MalformedURLException e) { >> // will not happen >> } >> WebMapTileServer wmts = null; >> try { >> wmts = new WebMapTileServer(url); >> } catch (IOException e) { >> // There was an error communicating with the server >> // For example, the server is down >> } catch (ServiceException e) { >> // The server returned a ServiceException (unusual in >> this case) >> } catch (SAXException e) { >> // Unable to parse the response from the server >> // For example, the capabilities it returned was not valid >> } >> >> System.out.println(wmts.getCapabilities().getService().getName()); >> } >> } >> >> I tried different servers. I get a response to a manual request >> from all of them. >> It would be very much appreciated if anyone has a solution or a >> hint for me. >> Thanks in advance, >> Daniel >> _______________________________________________ >> GeoTools-GT2-Users mailing list >> Geo...@li... >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >> >> >> >> -- >> Ian Turton >> _______________________________________________ >> GeoTools-GT2-Users mailing list >> Geo...@li... >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users |
From: Ian T. <ijt...@gm...> - 2022-11-30 15:05:46
|
But that's for the legend image (and again probably should be an integer) - I can't think of any reason why the WMTS reader would be using that. You really need to turn logging up to fine or finest and see how it is getting there. Ian On Wed, 30 Nov 2022 at 14:55, Roar Brænden <roa...@gm...> wrote: > Hi, > > It seems like this height=85.5 is coming from the capabilities document. > Here for instance: > > <Style isDefault="true"> > <ows:Title xml:lang="en">default</ows:Title> > <ows:Identifier>default</ows:Identifier> > <LegendURL width="378" xlink:href=" > https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg" > xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal" height > ="85.5" format="image/svg+xml" xlink:title="GIBS Color Map Legend: > Horizontal" xlink:type="simple"/> > <LegendURL width="135" xlink:href=" > https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg" > xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical" height=" > 288" format="image/svg+xml" xlink:title="GIBS Color Map Legend: Vertical" > xlink:type="simple"/> > </Style> > > Haven't looked in the WMTS specification to see if that is against the > rules, but sure isn't anything the user could fix. Geotools is tolerant > elsewhere, so it could certainly be a place for a little flexibility. Not > sure how to handle it though. > > Best regards, > > Roar Brænden > > > 30. nov. 2022 kl. 10:11 skrev Ian Turton <ijt...@gm...>: > > Height is in pixels and is an integer value so your value of 85.5 is a > problem, your code example doesn't show how you are generating the size > request but I would expect a height/width of 255 or 512 for a WMTS request. > It's possible that the GeoTools WMTS code doesn't understand the TIME > dimension or the value RESTful as an encoding, you'll need to turn the > logging level up to find out exactly why that URL is being used. > > Ian > > On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm...> > wrote: > >> Hello GeoTools community, >> >> I'm new to GeoTools. Currently I'm trying to establish a connection to a >> WMTS. I followed the instructions in the WMTS — GeoTools 28-SNAPSHOT >> User Guide >> <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. >> Unfortunately the request to the WMTS failes. >> >> *Here are my system information:* >> >> GeoTools version 28-SNAPSHOT (built from >> r175672287370cf2c54eb30f2bbaa04f743835523) >> Java version: 17.0.4.1 >> Operating system: Windows 10 10.0 >> GeoTools jars on classpath: >> >> I use Maven. My pom.xml is pretty much the one from the quickstart >> tutorial but of course I added the gt-wmts dependency. >> >> *Here is my error message:* >> >> Nov. 30, 2022 9:39:18 AM org.geotools.data.ows.AbstractOpenWebService >> internalIssueRequest >> SCHWERWIEGEND: Failed to execute request >> https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS >> Exception in thread "main" java.lang.RuntimeException: Parsing failed for >> height: java.lang.NumberFormatException: For input string: "85.5" >> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) >> at >> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) >> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) >> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) >> at >> org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) >> at >> org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) >> at >> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) >> at >> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) >> at >> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) >> at >> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) >> at org.geotools.xsd.Parser.parse(Parser.java:183) >> at org.geotools.xsd.Parser.parse(Parser.java:125) >> at >> org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) >> at >> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) >> at >> org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) >> at >> org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) >> at >> org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) >> at >> org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) >> at >> org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) >> at >> org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) >> at org.geotools.tutorial.App.main(App.java:28) >> Caused by: java.lang.NumberFormatException: For input string: "85.5" >> at >> java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) >> at java.base/java.lang.Integer.parseInt(Integer.java:668) >> at java.base/java.math.BigInteger.<init>(BigInteger.java:536) >> at java.base/java.math.BigInteger.<init>(BigInteger.java:674) >> at >> org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) >> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) >> ... 32 more >> >> *Here is my code sample: * >> >> public class App { >> public static void main(String[] args) throws ServiceException, >> IOException { >> >> System.out.println(GeoTools.getAboutInfo()); >> >> URL url = null; >> try { >> url = new URL(" >> https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi"); >> } catch (MalformedURLException e) { >> // will not happen >> } >> WebMapTileServer wmts = null; >> try { >> wmts = new WebMapTileServer(url); >> } catch (IOException e) { >> // There was an error communicating with the server >> // For example, the server is down >> } catch (ServiceException e) { >> // The server returned a ServiceException (unusual in this case) >> } catch (SAXException e) { >> // Unable to parse the response from the server >> // For example, the capabilities it returned was not valid >> } >> >> System.out.println(wmts.getCapabilities().getService().getName()); >> } >> } >> >> I tried different servers. I get a response to a manual request from all >> of them. >> >> It would be very much appreciated if anyone has a solution or a hint for >> me. >> >> Thanks in advance, >> >> Daniel >> _______________________________________________ >> GeoTools-GT2-Users mailing list >> Geo...@li... >> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >> > > > -- > Ian Turton > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > > -- Ian Turton |
From: Roar B. <roa...@gm...> - 2022-11-30 14:55:12
|
Hi, It seems like this height=85.5 is coming from the capabilities document. Here for instance: <Style isDefault="true"> <ows:Title xml:lang="en">default</ows:Title> <ows:Identifier>default</ows:Identifier> <LegendURL width="378" xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_H.svg" xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal" height="85.5" format="image/svg+xml" xlink:title="GIBS Color Map Legend: Horizontal" xlink:type="simple"/> <LegendURL width="135" xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSU_Brightness_Temp_V.svg" xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical" height="288" format="image/svg+xml" xlink:title="GIBS Color Map Legend: Vertical" xlink:type="simple"/> </Style> Haven't looked in the WMTS specification to see if that is against the rules, but sure isn't anything the user could fix. Geotools is tolerant elsewhere, so it could certainly be a place for a little flexibility. Not sure how to handle it though. Best regards, Roar Brænden > 30. nov. 2022 kl. 10:11 skrev Ian Turton <ijt...@gm...>: > > Height is in pixels and is an integer value so your value of 85.5 is a problem, your code example doesn't show how you are generating the size request but I would expect a height/width of 255 or 512 for a WMTS request. It's possible that the GeoTools WMTS code doesn't understand the TIME dimension or the value RESTful as an encoding, you'll need to turn the logging level up to find out exactly why that URL is being used. > > Ian > > On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm... <mailto:dan...@gm...>> wrote: > Hello GeoTools community, > > I'm new to GeoTools. Currently I'm trying to establish a connection to a WMTS. I followed the instructions in the WMTS — GeoTools 28-SNAPSHOT User Guide <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. Unfortunately the request to the WMTS failes. > > Here are my system information: > > GeoTools version 28-SNAPSHOT (built from r175672287370cf2c54eb30f2bbaa04f743835523) > Java version: 17.0.4.1 > Operating system: Windows 10 10.0 > GeoTools jars on classpath: > > I use Maven. My pom.xml is pretty much the one from the quickstart tutorial but of course I added the gt-wmts dependency. > > Here is my error message: > > Nov. 30, 2022 9:39:18 AM org.geotools.data.ows.AbstractOpenWebService internalIssueRequest > SCHWERWIEGEND: Failed to execute request https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS <https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS> > Exception in thread "main" java.lang.RuntimeException: Parsing failed for height: java.lang.NumberFormatException: For input string: "85.5" > at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) > at org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) > at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) > at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) > at org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) > at org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) > at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) > at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) > at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) > at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) > at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) > at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) > at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) > at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) > at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) > at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) > at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) > at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) > at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) > at org.geotools.xsd.Parser.parse(Parser.java:183) > at org.geotools.xsd.Parser.parse(Parser.java:125) > at org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) > at org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) > at org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) > at org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) > at org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) > at org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) > at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) > at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) > at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) > at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) > at org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) > at org.geotools.tutorial.App.main(App.java:28) > Caused by: java.lang.NumberFormatException: For input string: "85.5" > at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) > at java.base/java.lang.Integer.parseInt(Integer.java:668) > at java.base/java.math.BigInteger.<init>(BigInteger.java:536) > at java.base/java.math.BigInteger.<init>(BigInteger.java:674) > at org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) > at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) > ... 32 more > > Here is my code sample: > > public class App { > public static void main(String[] args) throws ServiceException, IOException { > > System.out.println(GeoTools.getAboutInfo()); > > URL url = null; > try { > url = new URL("https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi <https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi>"); > } catch (MalformedURLException e) { > // will not happen > } > WebMapTileServer wmts = null; > try { > wmts = new WebMapTileServer(url); > } catch (IOException e) { > // There was an error communicating with the server > // For example, the server is down > } catch (ServiceException e) { > // The server returned a ServiceException (unusual in this case) > } catch (SAXException e) { > // Unable to parse the response from the server > // For example, the capabilities it returned was not valid > } > > System.out.println(wmts.getCapabilities().getService().getName()); > } > } > > I tried different servers. I get a response to a manual request from all of them. > > It would be very much appreciated if anyone has a solution or a hint for me. > > Thanks in advance, > > Daniel > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... <mailto:Geo...@li...> > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users <https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users> > > > -- > Ian Turton > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users |
From: Ian T. <ijt...@gm...> - 2022-11-30 09:11:40
|
Height is in pixels and is an integer value so your value of 85.5 is a problem, your code example doesn't show how you are generating the size request but I would expect a height/width of 255 or 512 for a WMTS request. It's possible that the GeoTools WMTS code doesn't understand the TIME dimension or the value RESTful as an encoding, you'll need to turn the logging level up to find out exactly why that URL is being used. Ian On Wed, 30 Nov 2022 at 08:45, Daniel Kindermann <dan...@gm...> wrote: > Hello GeoTools community, > > I'm new to GeoTools. Currently I'm trying to establish a connection to a > WMTS. I followed the instructions in the WMTS — GeoTools 28-SNAPSHOT User > Guide > <https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice>. > Unfortunately the request to the WMTS failes. > > *Here are my system information:* > > GeoTools version 28-SNAPSHOT (built from > r175672287370cf2c54eb30f2bbaa04f743835523) > Java version: 17.0.4.1 > Operating system: Windows 10 10.0 > GeoTools jars on classpath: > > I use Maven. My pom.xml is pretty much the one from the quickstart > tutorial but of course I added the gt-wmts dependency. > > *Here is my error message:* > > Nov. 30, 2022 9:39:18 AM org.geotools.data.ows.AbstractOpenWebService > internalIssueRequest > SCHWERWIEGEND: Failed to execute request > https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS > Exception in thread "main" java.lang.RuntimeException: Parsing failed for > height: java.lang.NumberFormatException: For input string: "85.5" > at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153) > at > org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218) > at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184) > at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188) > at > org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180) > at > org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378) > at > java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) > at > java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) > at > java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) > at > java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) > at > java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) > at > java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) > at > java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) > at > java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) > at > java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) > at > java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) > at > java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) > at > java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) > at > java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326) > at org.geotools.xsd.Parser.parse(Parser.java:183) > at org.geotools.xsd.Parser.parse(Parser.java:125) > at > org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84) > at > org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415) > at > org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387) > at > org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461) > at > org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489) > at > org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287) > at > org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124) > at > org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97) > at > org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88) > at > org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77) > at > org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151) > at org.geotools.tutorial.App.main(App.java:28) > Caused by: java.lang.NumberFormatException: For input string: "85.5" > at > java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) > at java.base/java.lang.Integer.parseInt(Integer.java:668) > at java.base/java.math.BigInteger.<init>(BigInteger.java:536) > at java.base/java.math.BigInteger.<init>(BigInteger.java:674) > at > org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96) > at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142) > ... 32 more > > *Here is my code sample: * > > public class App { > public static void main(String[] args) throws ServiceException, > IOException { > > System.out.println(GeoTools.getAboutInfo()); > > URL url = null; > try { > url = new URL(" > https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi"); > } catch (MalformedURLException e) { > // will not happen > } > WebMapTileServer wmts = null; > try { > wmts = new WebMapTileServer(url); > } catch (IOException e) { > // There was an error communicating with the server > // For example, the server is down > } catch (ServiceException e) { > // The server returned a ServiceException (unusual in this case) > } catch (SAXException e) { > // Unable to parse the response from the server > // For example, the capabilities it returned was not valid > } > > System.out.println(wmts.getCapabilities().getService().getName()); > } > } > > I tried different servers. I get a response to a manual request from all > of them. > > It would be very much appreciated if anyone has a solution or a hint for > me. > > Thanks in advance, > > Daniel > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > -- Ian Turton |
From: Daniel K. <dan...@gm...> - 2022-11-30 08:44:43
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div style="font-family: Verdana;font-size: 12.0px;"> <div>Hello GeoTools community,</div> <div> </div> <div>I'm new to GeoTools. Currently I'm trying to establish a connection to a WMTS. I followed the instructions in the <a href="https://docs.geotools.org/stable/userguide/extension/wmts/index.html#wmtstileservice" target="_blank">WMTS — GeoTools 28-SNAPSHOT User Guide</a>. Unfortunately the request to the WMTS failes.</div> <div> </div> <div> <div><strong>Here are my system information:</strong></div> <div> </div> <div>GeoTools version 28-SNAPSHOT (built from r175672287370cf2c54eb30f2bbaa04f743835523)<br/> Java version: 17.0.4.1<br/> Operating system: Windows 10 10.0<br/> GeoTools jars on classpath:</div> <div> </div> <div>I use Maven. My pom.xml is pretty much the one from the quickstart tutorial but of course I added the gt-wmts dependency.</div> <div> </div> <div> <div><strong>Here is my error message:</strong></div> <div> </div> <div>Nov. 30, 2022 9:39:18 AM org.geotools.data.ows.AbstractOpenWebService internalIssueRequest<br/> SCHWERWIEGEND: Failed to execute request https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WMTS<br/> Exception in thread "main" java.lang.RuntimeException: Parsing failed for height: java.lang.NumberFormatException: For input string: "85.5"<br/> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:153)<br/> at org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:218)<br/> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:184)<br/> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:188)<br/> at org.geotools.xsd.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:180)<br/> at org.geotools.xsd.impl.ParserHandler.startElement(ParserHandler.java:378)<br/> at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518)<br/> at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)<br/> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)<br/> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726)<br/> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)<br/> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)<br/> at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)<br/> at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)<br/> at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)<br/> at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)<br/> at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)<br/> at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)<br/> at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326)<br/> at org.geotools.xsd.Parser.parse(Parser.java:183)<br/> at org.geotools.xsd.Parser.parse(Parser.java:125)<br/> at org.geotools.ows.wmts.response.WMTSGetCapabilitiesResponse.<init>(WMTSGetCapabilitiesResponse.java:84)<br/> at org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:415)<br/> at org.geotools.ows.wmts.WMTSSpecification$GetCapsRequest.createResponse(WMTSSpecification.java:387)<br/> at org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:461)<br/> at org.geotools.data.ows.AbstractOpenWebService.issueRequest(AbstractOpenWebService.java:489)<br/> at org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:287)<br/> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:124)<br/> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:97)<br/> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:88)<br/> at org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:77)<br/> at org.geotools.ows.wmts.WebMapTileServer.<init>(WebMapTileServer.java:151)<br/> at org.geotools.tutorial.App.main(App.java:28)<br/> Caused by: java.lang.NumberFormatException: For input string: "85.5"<br/> at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)<br/> at java.base/java.lang.Integer.parseInt(Integer.java:668)<br/> at java.base/java.math.BigInteger.<init>(BigInteger.java:536)<br/> at java.base/java.math.BigInteger.<init>(BigInteger.java:674)<br/> at org.geotools.xs.bindings.XSIntegerBinding.parse(XSIntegerBinding.java:96)<br/> at org.geotools.xsd.impl.ParseExecutor.visit(ParseExecutor.java:142)<br/> ... 32 more</div> </div> </div> <div> </div> <div><strong>Here is my code sample: </strong></div> <div> </div> <div> <div>public class App {<br/> public static void main(String[] args) throws ServiceException, IOException {<br/> <br/> System.out.println(GeoTools.getAboutInfo());<br/> <br/> URL url = null;<br/> try {<br/> url = new URL("<a href="https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi" target="_blank">https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi</a>");<br/> } catch (MalformedURLException e) {<br/> // will not happen<br/> }</div> <div> WebMapTileServer wmts = null;<br/> try {<br/> wmts = new WebMapTileServer(url);<br/> } catch (IOException e) {<br/> // There was an error communicating with the server<br/> // For example, the server is down<br/> } catch (ServiceException e) {<br/> // The server returned a ServiceException (unusual in this case)<br/> } catch (SAXException e) {<br/> // Unable to parse the response from the server<br/> // For example, the capabilities it returned was not valid<br/> }<br/> <br/> System.out.println(wmts.getCapabilities().getService().getName());<br/> }<br/> }</div> <div><br/> I tried different servers. I get a response to a manual request from all of them.</div> <div> </div> <div>It would be very much appreciated if anyone has a solution or a hint for me.</div> <div> </div> <div>Thanks in advance,</div> <div> </div> <div>Daniel</div> </div> </div></div></body></html> |
From: Martha N. <mar...@ge...> - 2022-11-21 16:32:50
|
The GeoTools Community is pleased to announce the GeoTools 28.0 Release and 28-RC: http://geotoolsnews.blogspot.com/2022/11/geotools-280-released.html http://geotoolsnews.blogspot.com/2022/11/geotools-28-rc-released.html Regards, Martha Nagginda == GeoServer Professional Services from the experts! Visit http://bit.ly/gs-services-us for more information. == Martha Nagginda Software Engineer GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 1660272 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- 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. |
From: <pau...@lf...> - 2022-11-10 06:37:31
|
Thanks, I added the dependencies one by one and got it right in the end. There were some GeoTools dependencies that I did not need... -----Ursprungligt meddelande----- Från: Brad Hards <br...@fr...> Skickat: den 8 november 2022 22:17 Till: geo...@li...; Paul Malm (Operations AIM) <pau...@lf...> Ämne: Re: [Geotools-gt2-users] Upgrading geotools from 20 -> 21 Klicka bara p? l?nkar och ?ppna bilagor om du litar p? avs?ndaren och vet att inneh?llet ?r s?kert. On Tuesday, 8 November 2022 10:12:57 PM AEDT pau...@lf... wrote: > I've read info about 21.5 in > https://docs.geotools.org/stable/userguide/welcome/upgrade.html , but > I don't understand excactly what I have to do. You need to understand what modules you were using, and update the dependencies to match. > I changed the version in the pom-file: > <properties> > <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> > <geotools.version>21.5</geotools.version> > <!--geotools.version>20.2</geotools.version--> > </properties> > ... > ... > <repository> > <id>osgeo</id> > <name>OSGeo Release Repository</name> > <url>https://repo.osgeo.org/repository/release/</url> > <snapshots><enabled>false</enabled></snapshots> > <releases><enabled>true</enabled></releases> > </repository> The bit you have included looks fine, but the bit that is missing (the dependencies) is obviously crucial. > > When the program is built I get the following errors: > 1) GeoTools cannot be resolved ClassifiedStyleCreator.java > /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview > line 54 Java Problem Line 54 in the java file: > Set<Function> funcs = > CommonFactoryFinder.getFunctions(GeoTools.getDefaultHints()); This is a symptom of the problem. I cannot fix all of your problems for you, but here is an example of it working standalone. package net.frogmouth.demo.gtupdate; import org.geotools.util.factory.GeoTools; public class Main { public static void main(String[] args) { GeoTools.getDefaultHints(); } } The corresponding maven pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:// maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.frogmouth.demo</groupId> <artifactId>gtupdate</artifactId> <version>0.1.0-SNAPSHOT</version> <packaging>jar</packaging> <repositories> <repository> <id>osgeo</id> <name>OSGeo Release Repository</name> <url>https://repo.osgeo.org/repository/release/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <dependencies> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-metadata</artifactId> <version>21.5</version> <type>jar</type> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> </project> HTH Brad |
From: Brad H. <br...@fr...> - 2022-11-08 21:17:09
|
On Tuesday, 8 November 2022 10:12:57 PM AEDT pau...@lf... wrote: > I've read info about 21.5 in > https://docs.geotools.org/stable/userguide/welcome/upgrade.html , but I > don't understand excactly what I have to do. You need to understand what modules you were using, and update the dependencies to match. > I changed the version in the pom-file: > <properties> > <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> > <geotools.version>21.5</geotools.version> > <!--geotools.version>20.2</geotools.version--> > </properties> > ... > ... > <repository> > <id>osgeo</id> > <name>OSGeo Release Repository</name> > <url>https://repo.osgeo.org/repository/release/</url> > <snapshots><enabled>false</enabled></snapshots> > <releases><enabled>true</enabled></releases> > </repository> The bit you have included looks fine, but the bit that is missing (the dependencies) is obviously crucial. > > When the program is built I get the following errors: > 1) GeoTools cannot be resolved ClassifiedStyleCreator.java > /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 54 > Java Problem Line 54 in the java file: > Set<Function> funcs = > CommonFactoryFinder.getFunctions(GeoTools.getDefaultHints()); This is a symptom of the problem. I cannot fix all of your problems for you, but here is an example of it working standalone. package net.frogmouth.demo.gtupdate; import org.geotools.util.factory.GeoTools; public class Main { public static void main(String[] args) { GeoTools.getDefaultHints(); } } The corresponding maven pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:// maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.frogmouth.demo</groupId> <artifactId>gtupdate</artifactId> <version>0.1.0-SNAPSHOT</version> <packaging>jar</packaging> <repositories> <repository> <id>osgeo</id> <name>OSGeo Release Repository</name> <url>https://repo.osgeo.org/repository/release/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <dependencies> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-metadata</artifactId> <version>21.5</version> <type>jar</type> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> </project> HTH Brad |
From: <pau...@lf...> - 2022-11-08 11:13:11
|
Hi, I've been using Java 8 and GeoTools 20.2. Now I would like to upgrade both Java and GeoTools. As I understand from Ian Turton GeoTools prefers Java 11 at most. I updated from 8 to 11. What do I have to do to be able to build the application? I think I will upgrade GeoTools step by step, starting with GeoTools version 21.5. I've read info about 21.5 in https://docs.geotools.org/stable/userguide/welcome/upgrade.html , but I don't understand excactly what I have to do. I changed the version in the pom-file: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <geotools.version>21.5</geotools.version> <!--geotools.version>20.2</geotools.version--> </properties> ... ... <repository> <id>osgeo</id> <name>OSGeo Release Repository</name> <url>https://repo.osgeo.org/repository/release/</url> <snapshots><enabled>false</enabled></snapshots> <releases><enabled>true</enabled></releases> </repository> When the program is built I get the following errors: 1) GeoTools cannot be resolved ClassifiedStyleCreator.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 54 Java Problem Line 54 in the java file: Set<Function> funcs = CommonFactoryFinder.getFunctions(GeoTools.getDefaultHints()); 2) GML cannot be resolved to a type GMLFeatureReader.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 150 Java Problem Line 150 in the Java file: GML gml = new GML(Version.GML3); 3) Hints cannot be resolved to a type MapView.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 830 Java Problem Line 830 in the Java file: Hints hints = new Hints(); 4) MapBoundsEvent cannot be resolved to a type AbstractMapPane.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 855 Java Problem Line 855 in the Java file: public void mapBoundsChanged(MapBoundsEvent event) { 5) MapLayerEvent cannot be resolved to a variable AbstractMapPane.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 821 Java Problem Line 821 in the Java file: public void layerMoved(MapLayerListEvent event) { 6) Parser cannot be resolved to a type ReadKML.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 143 Java Problem Line 143 in the Java file: Parser parser = new Parser(new KMLConfiguration()); 7) PullParser cannot be resolved to a type GMLFeatureReader.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 54 Java Problem Line 54 in the Java file: PullParser parser; 8) SLDParser cannot be resolved to a type LayerPopUpMenu.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 297 Java Problem Line 297 in the Java file: SLDParser parser = new SLDParser(CommonFactoryFinder.getStyleFactory(), sldf); 9) SLDTransformer cannot be resolved to a type JLegendPanel.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 316 Java Problem Line 316 in the Java file: SLDTransformer tx = new SLDTransformer(); 10) The hierarchy of the type JMapPane is inconsistent JMapPane.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 30 Java Problem Line 30 in the Java file: public class JMapPane extends AbstractMapPane { 11) The method addMapBoundsListener(MapBoundsListener) in the type MapContent is not applicable for the arguments (AbstractMapPane) AbstractMapPane.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 523 Java Problem Line 523 in the Java file: mapContent.addMapBoundsListener(this); 12) The method addMapLayerListListener(MapLayerListListener) in the type MapContent is not applicable for the arguments (AbstractMapPane) AbstractMapPane.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 522 Java Problem Line 522 in the Java file: mapContent.addMapLayerListListener(this); 13) Version cannot be resolved to a variable GMLFeatureReader.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 150 Java Problem Line 150 in the Java file: GML gml = new GML(Version.GML3); 14) The import org.geotools.factory.GeoTools cannot be resolved ClassifiedStyleCreator.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 13 Java Problem Line 13 in the Java file: import org.geotools.factory.GeoTools; 15) The import org.geotools.factory.Hints cannot be resolved ImageTiler_org.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/raster line 32 Java Problem Line 32 in the Java file: import org.geotools.factory.Hints; 16) The import org.geotools.GML cannot be resolved GMLFeatureReader.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 21 Java Problem Line 21 in the Java file: import org.geotools.GML; 17) The import org.geotools.map.event cannot be resolved AbstractMapPane.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 31 Java Problem Line 31 in the Java file: import org.geotools.map.event.MapBoundsEvent; 18) The import org.geotools.styling.SLDParser cannot be resolved LayerPopUpMenu.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 40 Java Problem Line 40 in the Java file: import org.geotools.styling.SLDParser; 19) The import org.geotools.styling.SLDTransformer cannot be resolved JLegendPanel.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/mapview line 35 Java Problem Line 35 in the Java file: import org.geotools.styling.SLDTransformer; 20) The import org.geotools.xml.Parser cannot be resolved ReadKML.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 18 Java Problem Line 18 in the Java file: import org.geotools.xml.Parser; 21) The import org.geotools.xml.PullParser cannot be resolved GMLFeatureReader.java /jdbcconnection5/src/main/java/org/geotools/jdbcconnection/data line 30 Java Problem Line 30 in the Java file: import org.geotools.xml.PullParser; |
From: Andrea A. <and...@ge...> - 2022-11-07 14:37:05
|
Hi Paul, my guess is that you are using an older version of GeoTools with a too recent version of Java. Indeed the stack trace states "Java 17", which is only experimentally supported in GeoTools 27 (see GEOT-6964 <https://osgeo-org.atlassian.net/browse/GEOT-6964>) and even that one requires some exports to work at all: --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED That is from the main GeoTools pom, but you might need to add more depending on the GeoTools modules you're using (each pom.xml has the eventual exports/opens needed) Cheers Andrea On Mon, Nov 7, 2022 at 12:51 PM <pau...@lf...> wrote: > Hi, > > I'm trying to do read (import) a Shape file, in the end it is imported to > my PostreSQL database but I get this exception when trying to use: > > > > FeatureCollection<SimpleFeatureType, SimpleFeature> featSrcCollection > = featSource.getFeatures(); > > > > and I also tried (with the same result): > > > > SimpleFeatureCollection featSrcCollection = > (SimpleFeatureCollection)featSource.getFeatures(); > > > > The exception I get is: > > SEVERE: Error attempting to close a mapped byte buffer : > java.nio.DirectByteBuffer > > JVM : 17.0.4.1 Eclipse Adoptium > > java.lang.reflect.InaccessibleObjectException: Unable to make public > jdk.internal.ref.Cleaner java.nio.DirectByteBuffer.cleaner() accessible: > module java.base does not "opens java.nio" to unnamed module @3e3f6a88 > > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > > at > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) > > at > java.base/java.lang.reflect.Method.setAccessible(Method.java:193) > > at > org.geotools.resources.NIOUtilities.getCleanerMethod(NIOUtilities.java:238) > > at > org.geotools.resources.NIOUtilities$1.run(NIOUtilities.java:210) > > at > org.geotools.resources.NIOUtilities$1.run(NIOUtilities.java:206) > > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:318) > > at > org.geotools.resources.NIOUtilities.clean(NIOUtilities.java:205) > > at > org.geotools.resources.NIOUtilities.clean(NIOUtilities.java:184) > > at > org.geotools.data.shapefile.dbf.DbaseFileHeader.readHeader(DbaseFileHeader.java:639) > > at > org.geotools.data.shapefile.dbf.DbaseFileReader.init(DbaseFileReader.java:205) > > at > org.geotools.data.shapefile.dbf.DbaseFileReader.<init>(DbaseFileReader.java:144) > > at > org.geotools.data.shapefile.ShapefileSetManager.openDbfReader(ShapefileSetManager.java:75) > > at > org.geotools.data.shapefile.ShapefileFeatureSource.readAttributes(ShapefileFeatureSource.java:521) > > at > org.geotools.data.shapefile.ShapefileFeatureSource.buildFeatureType(ShapefileFeatureSource.java:479) > > at > org.geotools.data.shapefile.ShapefileFeatureStore.buildFeatureType(ShapefileFeatureStore.java:137) > > at > org.geotools.data.store.ContentFeatureSource.getAbsoluteSchema(ContentFeatureSource.java:328) > > at > org.geotools.data.store.ContentFeatureSource.getSchema(ContentFeatureSource.java:297) > > at > org.geotools.data.store.ContentFeatureCollection.<init>(ContentFeatureCollection.java:70) > > at > org.geotools.data.store.ContentFeatureSource.getFeatures(ContentFeatureSource.java:546) > > at > org.geotools.data.store.ContentFeatureSource.getFeatures(ContentFeatureSource.java:106) > > at > org.geotools.jdbcconnection.data.importShape.importShapeFile(importShape.java:381) > > > > Has anyone solved this problem? > > Kind regards, > > Paul Malm > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > -- Regards, Andrea Aime == GeoServer Professional Services from the experts! Visit http://bit.ly/gs-services-us for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions Group phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 https://www.geosolutionsgroup.com/ http://twitter.com/geosolutions_it ------------------------------------------------------- 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 |
From: Ian T. <ijt...@gm...> - 2022-11-07 14:33:08
|
You are trying to use java 17, GeoTools prefers java 11 currently. Ian On Mon, 7 Nov 2022, 11:51 , <pau...@lf...> wrote: > Hi, > > I'm trying to do read (import) a Shape file, in the end it is imported to > my PostreSQL database but I get this exception when trying to use: > > > > FeatureCollection<SimpleFeatureType, SimpleFeature> featSrcCollection > = featSource.getFeatures(); > > > > and I also tried (with the same result): > > > > SimpleFeatureCollection featSrcCollection = > (SimpleFeatureCollection)featSource.getFeatures(); > > > > The exception I get is: > > SEVERE: Error attempting to close a mapped byte buffer : > java.nio.DirectByteBuffer > > JVM : 17.0.4.1 Eclipse Adoptium > > java.lang.reflect.InaccessibleObjectException: Unable to make public > jdk.internal.ref.Cleaner java.nio.DirectByteBuffer.cleaner() accessible: > module java.base does not "opens java.nio" to unnamed module @3e3f6a88 > > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > > at > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) > > at > java.base/java.lang.reflect.Method.setAccessible(Method.java:193) > > at > org.geotools.resources.NIOUtilities.getCleanerMethod(NIOUtilities.java:238) > > at > org.geotools.resources.NIOUtilities$1.run(NIOUtilities.java:210) > > at > org.geotools.resources.NIOUtilities$1.run(NIOUtilities.java:206) > > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:318) > > at > org.geotools.resources.NIOUtilities.clean(NIOUtilities.java:205) > > at > org.geotools.resources.NIOUtilities.clean(NIOUtilities.java:184) > > at > org.geotools.data.shapefile.dbf.DbaseFileHeader.readHeader(DbaseFileHeader.java:639) > > at > org.geotools.data.shapefile.dbf.DbaseFileReader.init(DbaseFileReader.java:205) > > at > org.geotools.data.shapefile.dbf.DbaseFileReader.<init>(DbaseFileReader.java:144) > > at > org.geotools.data.shapefile.ShapefileSetManager.openDbfReader(ShapefileSetManager.java:75) > > at > org.geotools.data.shapefile.ShapefileFeatureSource.readAttributes(ShapefileFeatureSource.java:521) > > at > org.geotools.data.shapefile.ShapefileFeatureSource.buildFeatureType(ShapefileFeatureSource.java:479) > > at > org.geotools.data.shapefile.ShapefileFeatureStore.buildFeatureType(ShapefileFeatureStore.java:137) > > at > org.geotools.data.store.ContentFeatureSource.getAbsoluteSchema(ContentFeatureSource.java:328) > > at > org.geotools.data.store.ContentFeatureSource.getSchema(ContentFeatureSource.java:297) > > at > org.geotools.data.store.ContentFeatureCollection.<init>(ContentFeatureCollection.java:70) > > at > org.geotools.data.store.ContentFeatureSource.getFeatures(ContentFeatureSource.java:546) > > at > org.geotools.data.store.ContentFeatureSource.getFeatures(ContentFeatureSource.java:106) > > at > org.geotools.jdbcconnection.data.importShape.importShapeFile(importShape.java:381) > > > > Has anyone solved this problem? > > Kind regards, > > Paul Malm > _______________________________________________ > GeoTools-GT2-Users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > |
From: <pau...@lf...> - 2022-11-07 11:50:22
|
Hi, I'm trying to do read (import) a Shape file, in the end it is imported to my PostreSQL database but I get this exception when trying to use: FeatureCollection<SimpleFeatureType, SimpleFeature> featSrcCollection = featSource.getFeatures(); and I also tried (with the same result): SimpleFeatureCollection featSrcCollection = (SimpleFeatureCollection)featSource.getFeatures(); The exception I get is: SEVERE: Error attempting to close a mapped byte buffer : java.nio.DirectByteBuffer JVM : 17.0.4.1 Eclipse Adoptium java.lang.reflect.InaccessibleObjectException: Unable to make public jdk.internal.ref.Cleaner java.nio.DirectByteBuffer.cleaner() accessible: module java.base does not "opens java.nio" to unnamed module @3e3f6a88 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) at org.geotools.resources.NIOUtilities.getCleanerMethod(NIOUtilities.java:238) at org.geotools.resources.NIOUtilities$1.run(NIOUtilities.java:210) at org.geotools.resources.NIOUtilities$1.run(NIOUtilities.java:206) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at org.geotools.resources.NIOUtilities.clean(NIOUtilities.java:205) at org.geotools.resources.NIOUtilities.clean(NIOUtilities.java:184) at org.geotools.data.shapefile.dbf.DbaseFileHeader.readHeader(DbaseFileHeader.java:639) at org.geotools.data.shapefile.dbf.DbaseFileReader.init(DbaseFileReader.java:205) at org.geotools.data.shapefile.dbf.DbaseFileReader.<init>(DbaseFileReader.java:144) at org.geotools.data.shapefile.ShapefileSetManager.openDbfReader(ShapefileSetManager.java:75) at org.geotools.data.shapefile.ShapefileFeatureSource.readAttributes(ShapefileFeatureSource.java:521) at org.geotools.data.shapefile.ShapefileFeatureSource.buildFeatureType(ShapefileFeatureSource.java:479) at org.geotools.data.shapefile.ShapefileFeatureStore.buildFeatureType(ShapefileFeatureStore.java:137) at org.geotools.data.store.ContentFeatureSource.getAbsoluteSchema(ContentFeatureSource.java:328) at org.geotools.data.store.ContentFeatureSource.getSchema(ContentFeatureSource.java:297) at org.geotools.data.store.ContentFeatureCollection.<init>(ContentFeatureCollection.java:70) at org.geotools.data.store.ContentFeatureSource.getFeatures(ContentFeatureSource.java:546) at org.geotools.data.store.ContentFeatureSource.getFeatures(ContentFeatureSource.java:106) at org.geotools.jdbcconnection.data.importShape.importShapeFile(importShape.java:381) Has anyone solved this problem? Kind regards, Paul Malm |
From: Emilian B. <emi...@gm...> - 2022-11-03 17:42:14
|
PS: Actually, I looked at some source code and there's no mention of "or later". So the license is specifically LGPL 2.1 with no alternatives. --emi On Thu, Nov 3, 2022 at 6:46 PM Emilian Bold <emi...@gm...> wrote: > > > Is this not covered by "any later version" ? > > Not at all. > > This is an user option: some may want the old 2.1 others 3 (or 4 or 5). By pushing the latest license version you are removing the option. > > Plus, by using only the latest version you are retroactively changing the license for existing releases. > > It's not good to have ambiguity about the licensing terms. > > A PR about license terms does not feel to me like something a first time contributor should do... It's no biggie to change some URLs in pom.xml but it would have more (legal) weight if done by somebody with some standing within the project. > > --emi > > joi, 3 nov. 2022, 18:35 Ian Turton <ijt...@gm...> a scris: >> >> >> >> On Thu, 3 Nov 2022 at 15:18, Emilian Bold <emi...@gm...> wrote: >>> >>> Hello, >>> >>> I was browsing GeoTools and I see conflicting evidence about the exact license: >>> >>> 1. https://github.com/geotools/geotools/blob/main/LICENSE.md lists LGPL v2.1 >>> 2. The GitHub README has the http://www.gnu.org/licenses/lgpl.html >>> which goes to LGPL v3 >>> 3. The website https://geotools.org/about.html correctly links to >>> https://www.gnu.org/licenses/lgpl-2.1.html >>> 4. The pom.xml (https://github.com/geotools/geotools/blob/main/pom.xml#L35 >>> ), which is part of the binary JARs, mentions >>> http://www.gnu.org/copyleft/lesser.txt which again serves LGPL v3. >> >> >> Is this not covered by "any later version" ? >>> >>> >>> Basically, you need to make sure that all link to gnu.org point >>> towards the specific version otherwise GNU will replace the version in >>> time and always serve the latest LGPL version... >>> >>> A PR for Maven, etc. should be easy, just use >>> https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt >>> >> >> We're happy to receive pull requests at any time as we are a volunteer managed project. >> >> Ian >> |
From: Emilian B. <emi...@gm...> - 2022-11-03 16:46:56
|
> Is this not covered by "any later version" ? Not at all. This is an user option: some may want the old 2.1 others 3 (or 4 or 5). By pushing the latest license version you are removing the option. Plus, by using only the latest version you are retroactively changing the license for existing releases. It's not good to have ambiguity about the licensing terms. A PR about license terms does not feel to me like something a first time contributor should do... It's no biggie to change some URLs in pom.xml but it would have more (legal) weight if done by somebody with some standing within the project. --emi joi, 3 nov. 2022, 18:35 Ian Turton <ijt...@gm...> a scris: > > > On Thu, 3 Nov 2022 at 15:18, Emilian Bold <emi...@gm...> wrote: > >> Hello, >> >> I was browsing GeoTools and I see conflicting evidence about the exact >> license: >> >> 1. https://github.com/geotools/geotools/blob/main/LICENSE.md lists LGPL >> v2.1 >> 2. The GitHub README has the http://www.gnu.org/licenses/lgpl.html >> which goes to LGPL v3 >> 3. The website https://geotools.org/about.html correctly links to >> https://www.gnu.org/licenses/lgpl-2.1.html >> 4. The pom.xml ( >> https://github.com/geotools/geotools/blob/main/pom.xml#L35 >> ), which is part of the binary JARs, mentions >> http://www.gnu.org/copyleft/lesser.txt which again serves LGPL v3. >> > > Is this not covered by "any later version" ? > >> >> Basically, you need to make sure that all link to gnu.org point >> towards the specific version otherwise GNU will replace the version in >> time and always serve the latest LGPL version... >> >> A PR for Maven, etc. should be easy, just use >> https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt >> >> > We're happy to receive pull requests at any time as we are a volunteer > managed project. > > Ian > > |
From: Ian T. <ijt...@gm...> - 2022-11-03 16:35:13
|
On Thu, 3 Nov 2022 at 15:18, Emilian Bold <emi...@gm...> wrote: > Hello, > > I was browsing GeoTools and I see conflicting evidence about the exact > license: > > 1. https://github.com/geotools/geotools/blob/main/LICENSE.md lists LGPL > v2.1 > 2. The GitHub README has the http://www.gnu.org/licenses/lgpl.html > which goes to LGPL v3 > 3. The website https://geotools.org/about.html correctly links to > https://www.gnu.org/licenses/lgpl-2.1.html > 4. The pom.xml (https://github.com/geotools/geotools/blob/main/pom.xml#L35 > ), which is part of the binary JARs, mentions > http://www.gnu.org/copyleft/lesser.txt which again serves LGPL v3. > Is this not covered by "any later version" ? > > Basically, you need to make sure that all link to gnu.org point > towards the specific version otherwise GNU will replace the version in > time and always serve the latest LGPL version... > > A PR for Maven, etc. should be easy, just use > https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt > > We're happy to receive pull requests at any time as we are a volunteer managed project. Ian |
From: Emilian B. <emi...@gm...> - 2022-11-03 15:18:04
|
Hello, I was browsing GeoTools and I see conflicting evidence about the exact license: 1. https://github.com/geotools/geotools/blob/main/LICENSE.md lists LGPL v2.1 2. The GitHub README has the http://www.gnu.org/licenses/lgpl.html which goes to LGPL v3 3. The website https://geotools.org/about.html correctly links to https://www.gnu.org/licenses/lgpl-2.1.html 4. The pom.xml (https://github.com/geotools/geotools/blob/main/pom.xml#L35 ), which is part of the binary JARs, mentions http://www.gnu.org/copyleft/lesser.txt which again serves LGPL v3. Basically, you need to make sure that all link to gnu.org point towards the specific version otherwise GNU will replace the version in time and always serve the latest LGPL version... A PR for Maven, etc. should be easy, just use https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt --emi |
From: Ruff, T. <THO...@sa...> - 2022-10-25 05:56:11
|
I'd like to contribute changes to org.geotools.process.raster.GridConvergenceAngleCalc that do two things: 1) makes the class public 2) fixes determineUpAxisDimension method and allows it to work with more projections. (I believe its approach to using AxisDirection for determining the screen up axis was incorrect.) Is there interest in a pull request? It passes existing unit tests but I intend to add additional ones. I do not have a separate utility that calculates convergence angle for points in arbitrary CRSs but if anyone does and cares to provide some test vectors that would help. Otherwise I may need to calculate them by hand. Tom Ruff ________________________________________ From: Ruff, Thomas <THO...@sa...> Sent: Friday, October 14, 2022 1:43 PM To: geo...@li... Subject: [EXTERNAL] [Geotools-gt2-users] RasterAsPointCollectionProcess Grid Convergence Calculation question Hello. I'm looking for insight on the purpose and use of org.geotools.process.raster.RasterAsPointCollectionProcess's Grid Convergence Angle calculation capability. I am interested in a capability that adds GCA attribute to all features output from RasterAsPointCollectionProcess and thought supplying a targetCRS argument would do just that but it doesn't do what I expect and left me wondering just what its intended use is. Here's how it appears to work. Presence of targetCRS argument informs the process to calculate GCA at each point after reprojecting it into the targetCRS, but only if targetCRS is effectively different than the input GridCoverage2D's CRS. Why not calculate the GCA anyway? Sure, the reprojection wouldn't be necessary but there could still be a GCA. As a follow-up question, I'd like to reuse org.geotools.process.raster.GridConvergenceAngleCalc class in a Rendering Transform since RasterAsPoint doesn't do what I need but it's package private. Is there chance I could of get this moved to public? I would also want to do some work on its determineUpAxisDimension() method to make it work with more projections. Thanks, Tom The information contained in this e-mail and any attachments from Science Applications International Corporation ("SAIC") may contain confidential and/or proprietary information, and is intended only for the named recipient to whom it was originally addressed. If you are not the intended recipient, any disclosure, distribution, or copying of this e-mail or its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by return e-mail and permanently delete the e-mail and any attachments. |
From: Bingen G. I. <bin...@ma...> - 2022-10-18 09:28:34
|
Hello, We have recently had some trouble using the RasterZonalStatistics2 raster process from Geoserver and would like to share our experience. It might be useful for someone having our same problem, or maybe be used to improve the process's code itself. The RasterZonalStatistics2 [1] process is distributed under the unsupported process-raster module in geotools. As far as I know it can't be used directly from Geoserver WPS (it's not available in the list), but can be used to build a custom WPS process. That's how we have been using it. Among other parameters, the process takes two main inputs: a raster layer, and a list of features for which to compute the statistics for. The problem we were having is that we realized that the calculated stats by the process were being affected by the extent of the raster layer. Same features, different raster extent was giving different results. After digging on the geotools code we found that the features we provided to the process were being silently discarded when building the ROI. The reason is that the code checks if the coverage and the features intersect [2], but doesn't make sure that when comparing the values the same CRS is being used. In our case the raster CRS was on degrees, and the feature on meters, so the feature was being discarded because it didn't intersect. As we were using the smallest possible extent for the raster to match the zones it took us a while to realize that the stats were being calculated for the whole raster, and not the expected zones. Maybe it's expected to provide all inputs in the same CRS for this kind of process, maybe it's a general rule that I wasn't aware of. But if not maybe one of the following improvements could be implemented: * Document in the 'RasterZonalStatistics2' process that the 'coverage' and 'zones' CRS must be the same. * Add some warning log if the provided 'zones' are being discarded because they don't interesect [2] * Make some reprojection if both parameters don't share the CRS. Not sure if that should be handled in the 'RasterZonalStatistics2' process, or in the underneath 'ZonalStatistics' operation. Thank you [1] https://github.com/geotools/geotools/blob/main/modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/RasterZonalStatistics2.java [2] https://github.com/geotools/geotools/blob/main/modules/library/coverage/src/main/java/org/geotools/coverage/processing/operation/ZonalStatistics.java#L188-L190 -- *BINGEN GALARTZA IPARRAGIRRE* magnet.coop Santa Marina 3, Oñati (20560) in...@ma... *www.magnet.coop* /This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this communication in error, please notify the sender immediately and delete it. If you are not the intended recipient, you are expressly prohibited from reading, copying, distributing, disseminating or, in any other way, using any of the information without the Magnet consent. Please note that Internet e-mail guarantees neither the confidentiality nor the proper receipt of the message sent, so that Magnet shall not be liable for any damages caused. As its integrity cannot be secured on the Internet, the Magnet liability cannot be triggered for the message content. Although the sender endeavors to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted./ |