#GEOtools
New in Free SEO/GEO Tools: A YMYL/EEAT Detector/Scanner Tool

www.reddit.com/r/SEO_tool_d...

#Reddit #Weblinkr #rseo #GEOtools #FreeSEOtools
From the SEO_tool_dev community on Reddit: EEAT/YMYL Detector: Is Your Website in EEAT or YMYL?
Explore this post and more from the SEO_tool_dev community
www.reddit.com
October 18, 2026 at 5:17 PM
Yeah the legislators don't understand how this stuff works. I'm in VA but the geotools think my landline ISP places me in MD (which I think is technically less restrictive for some things?)
October 6, 2026 at 12:11 PM
WFS-GetFeature Request error: Unable to retype FeatureReader (origional does not cover requested type)
I am running a WFS-GetFeature-Request via a proxy-Script on GeoServer. The response sent to GeoServer seems to be fine, see xml-head in the first logs. Part of the xml-head: 402660.625 5826432.222 402683.488 5826400.459 402703.851 5826407.183 402689.885 5826448.839 402662.799 5826439.763 402660.625 5826432.222 12 1601 222 12160100200222______ 1253.00 jar:file:/D:/geoserver/GeoServer%202.21.2/webapps/geoserver/WEB-INF/lib/gt-xsd-gml3-27.2.jar!/org/geotools/gml3/v3_2/gml.xsd 09 Jan 15:35:05 INFO [xsd.impl] - https://isk.geobasis-bb.de/schema/NAS/6.0/schema/iso/19139/20070417/gco/gco.xsd 09 Jan 15:35:05 DEBUG [geotools.xsd] - Could not resolve schema location: ../gco/basicTypes.xsd to physical location. 09 Jan 15:35:05 DEBUG [geotools.xsd] - Could not locate schema for: ../gco/basicTypes.xsd. 09 Jan 15:35:05 INFO [xsd.impl] - https://isk.geobasis-bb.de/schema/NAS/6.0/schema/iso/19139/20070417/gmd/gmd.xsd 09 Jan 15:35:05 DEBUG [geotools.xsd] - Could not resolve schema location: ../gmd/metadataApplication.xsd to physical location. 09 Jan 15:35:05 DEBUG [geotools.xsd] - Could not locate schema for: ../gmd/metadataApplication.xsd. 09 Jan 15:35:05 DEBUG [xsd.impl] - schema specified by parser configuration not found, supplementing... 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}AX_Flurstueck. Checking if containing type declares a single particle. 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}lebenszeitintervall. Checking if containing type declares a single particle. 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}lebenszeitintervall. Performing lookup by ignoring namespace 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}lebenszeitintervall. Creating a mock element declaration and parsing anyways... 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}AA_Lebenszeitintervall. Checking if containing type declares a single particle. This is the error message: 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}zeigtAuf. Checking if containing type declares a single particle. 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}zeigtAuf. Performing lookup by ignoring namespace 09 Jan 15:35:05 DEBUG [xsd.impl] - Could not find declaration for: {http://www.adv-online.de/namespaces/adv/gid/6.0}zeigtAuf. Creating a mock element declaration and parsing anyways... 09 Jan 15:35:05 DEBUG [xsd.impl] - Parsing unknown attribute: {http://www.w3.org/1999/xlink}href 09 Jan 15:35:05 DEBUG [internal.parsers] - First feature parsed. 09 Jan 15:35:05 INFO [geoserver.servlets] - OutputStream was successfully aborted. 09 Jan 15:35:05 ERROR [geoserver.ows] - org.geoserver.platform.ServiceException: error:Translator error at org.geoserver.wfs.xml.GML2OutputFormat.encode(GML2OutputFormat.java:250) at org.geoserver.wfs.xml.GML2OutputFormat.write(GML2OutputFormat.java:261) at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:199) at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1018) at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1459) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:73) at org.geoserver.ows.HTTPHeadersCollector.doFilter(HTTPHeadersCollector.java:48) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70) at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:194) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70) at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:43) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:39) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:81) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:71) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:75) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:54) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:49) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.lang.Thread.run(Unknown Source) Caused by: javax.xml.transform.TransformerException: Translator error at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:123) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:101) at org.geoserver.wfs.xml.GML2OutputFormat.encode(GML2OutputFormat.java:247) ... 108 more Caused by: java.lang.IllegalArgumentException: Unable to retype FeatureReader (origional does not cover requested type) at org.geotools.data.ReTypeFeatureReader.typeAttributes(ReTypeFeatureReader.java:126) at org.geotools.data.ReTypeFeatureReader.(ReTypeFeatureReader.java:98) at org.geotools.data.wfs.WFSFeatureSource.getReaderInternal(WFSFeatureSource.java:306) at org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:626) at org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:173) at org.geoserver.feature.RetypingFeatureCollection.features(RetypingFeatureCollection.java:47) at org.geoserver.feature.RetypingFeatureCollection.features(RetypingFeatureCollection.java:31) at org.geotools.data.crs.ForceCoordinateSystemFeatureResults.openIterator(ForceCoordinateSystemFeatureResults.java:93) at org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:66) at org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:50) at org.geoserver.security.decorators.SecuredFeatureCollection.features(SecuredFeatureCollection.java:40) at org.geoserver.security.decorators.SecuredSimpleFeatureCollection.features(SecuredSimpleFeatureCollection.java:75) at org.geotools.feature.collection.DecoratingSimpleFeatureCollection.features(DecoratingSimpleFeatureCollection.java:93) at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:572) at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:1044) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:285) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:119) ... 110 more Is there a way to surpass this? I am using GeoServer 2.21.2.
gis.stackexchange.com
September 12, 2026 at 8:10 PM
Ian Turton, an OSGeo founding member and GeoTools co-founder, receives 2026 Sol Katz Award in recognition for his decades of community contributions and mentorship in open-source geospatial software.

https://www.osgeo.org/foundation-news/ian-turton-receives-the-2026-sol-katz-award/
Ian Turton receives the 2026 Sol Katz Award - OSGeo
Ian has been a member of our community from the very beginning, as an original voting member who gathered in Chicago in February 2006 to establish OSGeo. He also is a co-founder of GeoTools, the Java library that is the … Continued
www.osgeo.org
September 5, 2026 at 8:00 AM
Summing mulitple GridCoverage Objects using GeoTools?
I'm working in Java and GeoTools to process some ASCII rasters. At present, I'm trying to get the rasters summed onto one large grid. I've tried a couple of methods but I seem to be having some performance degradation. (These are manually copied so apologies for typos) I initially tried: Operatons op = new Operations(null); GridCoverage2D sum = initialise(); for (GridCoverage2D grid : grid){ sum = op.add(sum, grid); } This rattled through seemly quickly but when I try to access the sum it takes ages, so I assume these operations are conducted lazily. I then tried to add a writer in between to access the grid so it's calculated on the fly. Operatons op = new Operations(null); GridCoverage2D sum = initialise(); for (GridCoverage2D grid : grid){ sum = op.add(sum, grid); GridCoverageWriter writer = new ArcGridWriter(File.createTempFile(...)) writer.write(sum); } Which improved things a little. I then thought doing a recursive sum might help, but I'm getting continuously slower results still and hammering a single processor. Are there any ways of increasing the speed of these operations or am I approaching this in the wrong way? The grids are approximately 4000x4000. At the moment summing 6 grids takes 5 minutes, 8 takes about 15, and 10 takes approaching half an hour. The grids are generated using a FORTRAN model that I don't have access to and there could be up to approaching 100 grids being added together. I have resampled the grids so they all fall in the same envelope. The only problem with the first approach is the runtime, but I was wondering if there would be a more efficient way of doing it.
gis.stackexchange.com
September 2, 2026 at 8:09 PM
Creation of tiled grid in Java with GeoTools
I am trying to create a grid using GeoTools in JAVA, covering specific area with resolution 50 m (distance between two points). To do so I have two points: the most northwestern (let's call it NW) and the most southeastern one. I created a table and put the NW point in tab[0][0]. Starting from tab[0][0] using the Geodetic Calculator (link to the doc) I am calculating the next points and putting them in right place into my table. Here is the code I developed: public void createGrid(double granularity) { logger.info(GridManager.class + " creation of grid called"); int defaultCellID = 0; float defaultSigLevel = -1000; /* __ __ __ __ __ * |NW|__|__|__|NE| * |__|__|__|__|__| * |__|__|__|__|__| * |SW|__|__|__|SE| */ // mind, this is lon/lat Point2D.Double nePoint = new Point2D.Double(); nePoint.setLocation(sePoint.getX(), nwPoint.getY()); Point2D.Double swPoint = new Point2D.Double(); swPoint.setLocation(nwPoint.getX(), sePoint.getY()); // calculations of a width of the grid this.gc.setStartingGeographicPoint(nwPoint); this.gc.setDestinationGeographicPoint(nePoint); double d = this.gc.getOrthodromicDistance(); int width = (int) Math.ceil(d / granularity); // calculations of a height of the grid this.gc.setDestinationGeographicPoint(swPoint); d = this.gc.getOrthodromicDistance(); int height = (int) Math.ceil(d / granularity); // grid creation grid = new TileCartesian[height][width]; grid[0][0] = new TileCartesian((float) nwPoint.getY(), (float) nwPoint.getX(), defaultSigLevel, defaultCellID, 0, 0); double dist; for (int i = 0; i < height; i++) { this.gc.setStartingGeographicPoint(grid[i][0].getLon(),grid[i][0].getLat()); dist = granularity; for (int j = 1; j < width; j++) { this.gc.setDirection(90 /* azimuth */, dist); Point2D.Double p = (Point2D.Double) this.gc .getDestinationGeographicPoint(); grid[i][j] = new TileCartesian((float) p.getY(), (float) p.getX(), defaultSigLevel, defaultCellID, i, j); dist += granularity; } if (i != height-1) { this.gc.setDirection(180 /* azimuth */, granularity); Point2D.Double p = (Point2D.Double) this.gc .getDestinationGeographicPoint(); grid[i+1][0] = new TileCartesian((float) p.getY(), (float) p.getX(), defaultSigLevel, defaultCellID, i+1, 0); } } logger.info(GridManager.class + " Grid created"); } My problem is that the most SE point of the calculated grid is far from the assumed one. And when I am exporting the result to GeoTIFF this cause deformation. I really do not know how to solve this problem. Maybe there exists any other way to create such a grid, but I couldn't find any solution which would fit my needs.
gis.stackexchange.com
August 25, 2026 at 9:11 AM
Equal Earth Projection in Google Earth Engine
I'm trying to get a gobal visualization similar to what NASA does. They are probably using popular Equal Earth projection (EPSG:8857), but this fails in GEE. In order to implement this projection, I tried following this guide. It mentions that a base projection must be supported by GeoTools, which is the case. However, mentioned approach failed with this wkt definition: var countries = ee.FeatureCollection("USDOS/LSIB_SIMPLE/2017"); var countries_image = ee.Image().byte().paint(countries).visualize({palette: 'black'}); var aoiBounds = ee.Geometry.Rectangle([-179.0, -89.0, 179.0, 89.0], 'EPSG:4326', false); var equalearth_wkt = ' \ PROJCS["WGS 84 / Equal Earth Greenwich", \ GEOGCS["GCS_WGS_1984", \ DATUM["WGS_1984", \ SPHEROID["WGS_1984",6378137,298.257223563]], \ PRIMEM["Greenwich",0], \ UNIT["Degree",0.0174532925199433]], \ PROJECTION["EqualArea"], \ PARAMETER["False_Easting",0], \ PARAMETER["False_Northing",0], \ PARAMETER["Central_Meridian",0], \ UNIT["Meter",1], \ AUTHORITY["EPSG","8857"]]'; var proj_equalarea = ee.Projection(equalearth_wkt); var countries_equalarea = countries_image.reproject({ crs: proj_equalarea, scale: 10000 }); print('Projected image (Equal Area) URL:', countries_equalarea.getThumbURL({ region: aoiBounds, dimensions: '400' }) ); This returns an error: Projection: The CRS of a map projection could not be parsed. Here's a link to the full code. Am I doing something wrong, or there's no support for Equal Area projection in GEE, despite support in underlying GeoTools?
gis.stackexchange.com
August 24, 2026 at 3:02 AM
GeoTools Hands Attackers SQL Keys While Bureaucrats Polish Rubber Stamps
PANIC 67% | Lag 0.0h | GeoTools gt-jdbc-postgis can allow SQL injection through jsonArrayContains on PostGIS 12 and newer w
#AfterShockIndex
READ MORE
August 22, 2026 at 12:42 AM
CVE-2026-76904 - org.geotools.jdbc:gt-jdbc-postgis
The GeoTools library can insert untrusted data into database queries when using the jsonArrayContains function with PostGIS version 12 or newer. This could…

Too many irrelevant or confusing CVEs? Use stackflag.com

#geotools #Java #CVE #infosec
CVE-2026-76904: GeoTools lets attackers run SQL via jsonArrayContains
The GeoTools library can insert untrusted data into database queries when using the jsonArrayContains function with PostGIS version 12 or newer.
stackflag.com
August 21, 2026 at 11:20 PM
🚨 CVE-2026-76904 — CVSS 9.8 CRITICAL

GeoTools is an open source Java library that provides tools for geospatial data. Starting in version 30.5 a...

🔎 https://stemshop.top/cve/CVE-2026-76904

#CVE #CyberSecurity #InfoSec
August 21, 2026 at 10:07 PM
🔴 CVE-2026-76904 - Critical (9.8)

GeoTools is an open source Java library that provides tools for geospatial data. Starting in vers...

https://www.thehackerwire.com/vulnerability/CVE-2026-76904/

#infosec #cybersecurity #CVE #vulnerability #security #patchstack
August 21, 2026 at 10:00 PM
GeoServer 3.0.1. / GeoTools 35.1 release fixes critical vulnerability (PoC)
URL: geoserver.org/announcement...
Classification: Critical, Solution: Official Fix, Exploit Maturity: Proof-of-Concept, CVSSv3.1: 9.8
GeoServer 3.0.1 Release
geoserver.org
August 18, 2026 at 5:11 AM
I tested the 3 best (and underrated) generative engine optimization checker tools to improve AI search visibility.

Find them here at AISO Blog. aiso.blog/geo-checker-...

#aisoblog #geochecker #geotools #seo #seotools #SEOGEO #GenerativeAI #GenerativeEngineOptimization
I Tested the 3 Best (& Underrated) GEO Checker Tools in 2026
I tested 3 underrated GEO checker tools you can actually use to analyze how well your content is optimized for generative AI platforms.
aiso.blog
January 28, 2026 at 7:24 AM
#GetCoordinatesOnline is in a very early stage of development. But we already have important functionality. We can place several points on the map, get their coordinates and export them to #GeoJSON.

#WebGIS #WebMapping #GeoTools
May 5, 2025 at 6:46 PM
GeoTools: Geographic Tools as Coordinates, Kinematics and Geodesic utilities for GIS. github.com/ThalesGroup/...
GitHub - ThalesGroup/GeoTools: Geographic Tools as Coordinates, Kinematics and Geodesic utilities for GIS.
Geographic Tools as Coordinates, Kinematics and Geodesic utilities for GIS. - ThalesGroup/GeoTools
github.com
July 9, 2025 at 7:04 AM
It was an absolute pleasure and privilege to work with @ianturton for several years. Snap up a core #geoserver/#GeoTools contributor! https://mapstodon.space/@ianturton/114415115217587200
Ian Turton (@ianturton@mapstodon.space)
0 Posts, 1.04K Following, 922 Followers ·
mapstodon.space
April 28, 2025 at 10:51 AM
"Twitter replacement" isn't the right term (my bad), more "opportunity to execute on what Twitter could have been" (fwiw, i am still optimistic that forthcoming Bluesky + geotools may allow me to build some of the stuff I've always wanted to make -- neighborhood zeitgeist, etc)
July 9, 2025 at 12:36 PM
CVE-2024-36401: OSGeo GeoServer GeoTools Eval Injection Vulnerability dev.to/freedom_code...
CVE-2024-36401: OSGeo GeoServer GeoTools Eval Injection Vulnerability
OSGeo GeoServer GeoTools contains an improper neutralization of directives in dynamically evaluated code vulnerability due to unsafely evaluating property names as XPath expressions. This allows unaut...
dev.to
July 15, 2025 at 8:48 AM
#geology #datascience #osgeo🚨If you use OSGeo GeoServer GeoTools, it contains an improper neutralization of directives in dynamically evaluated code vulnerability due to unsafely evaluating property names as XPath expressions. This allows unauthenticated attackers to conduct remote code […]
Original post on mastodon.social
mastodon.social
July 15, 2024 at 2:58 PM