Hi:
   Thanks you.
   I use querylayer module like below in sld:
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
     xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
     xmlns="http://www.opengis.net/sld";
     xmlns:ogc="http://www.opengis.net/ogc";
     xmlns:xlink="http://www.w3.org/1999/xlink";
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  <NamedLayer>
    <Name>CropCoverage</Name>
    <UserStyle>
      <Title>Crop Coverage</Title>
      <FeatureTypeStyle>
        <Transformation>
          <ogc:Function name="ras:CropCoverage">
            <ogc:Function name="parameter">
              <ogc:Literal>coverage</ogc:Literal>
            </ogc:Function>
             <ogc:Function name="parameter">
              <ogc:Literal>cropShape</ogc:Literal>
              <ogc:Function name="collectGeometries">
                <ogc:Function name="queryCollection">
                  <ogc:Literal>BpGeo:city</ogc:Literal>
                   <ogc:Literal>geom</ogc:Literal>
                   <ogc:Literal>INCLUDE</ogc:Literal>
                </ogc:Function>
               </ogc:Function>
             </ogc:Function>
          </ogc:Function>
        </Transformation>
        <Rule>
          <Name>rule1</Name>
          <RasterSymbolizer>
        </RasterSymbolizer>
      </Rule>
    </FeatureTypeStyle>
  </UserStyle>
</NamedLayer>
</StyledLayerDescriptor>Geoserver throw below error info?? 06 ???? 17:37:41 
ERROR [geoserver.ows] - org.geoserver.platform.ServiceException: Error 
rendering coverage on the fast path  at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:344)
 at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:259)
 at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:132)
 at org.geoserver.wms.GetMap.executeInternal(GetMap.java:504)    at 
org.geoserver.wms.GetMap.run(GetMap.java:248)        at 
org.geoserver.wms.GetMap.run(GetMap.java:119)        at 
org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:320) at 
sun.reflect.GeneratedMethodAccessor219.invoke(Unknown Source)        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)      at 
java.lang.reflect.Method.invoke(Unknown Source)      at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
   at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at 
org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:34)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at 
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:62)
    at 
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:36)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at 
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:80) 
     at 
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:55) 
     at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at 
org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:55)  
     at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
     at com.sun.proxy.$Proxy66.getMap(Unknown Source)        at 
sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source)        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)      at 
java.lang.reflect.Method.invoke(Unknown Source)      at 
org.geoserver.ows.Dispatcher.execute(Dispatcher.java:845)    at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:275)      at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
    at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
    at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
      at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
   at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:654)       at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
      at 
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)
  at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)
  at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)  
  at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)
  at 
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)
       at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
     at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
  at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
       at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
      at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
  at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
     at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
  at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
     at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
  at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
     at 
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
     at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
  at 
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
   at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
  at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at 
org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:83)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
     at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
  at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
 at 
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)
        at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
  at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
     at 
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at 
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)
        at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
  at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:83)  
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)        
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)   
     at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)      at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
   at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
      at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)   at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)   
     at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:532)  at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
   at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
   at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
     at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
     at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)   
     at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
  at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
     at org.eclipse.jetty.server.Server.handle(Server.java:369)      at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
       at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
      at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
       at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)     
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)        
at 
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
     at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
        at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
  at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
     at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source)Caused by: 
org.geoserver.platform.ServiceException: 
java.security.InvalidParameterException: Could not convert the value 
CoverageDimensionCustomizerReader.GridCoverageWrapper["result", 
GeneralEnvelope[(9449477.4274269, 2066702.52340555), (1.4583999884674001E7, 
6490346.10153324)], DefaultProjectedCRS["WGS 84 / Pseudo-Mercator"]]??   
CoverageDimensionCustomizerReader.WrappedSampleDimension([-Infinity ... 
Infinity])?? Image=RenderedOp["ImageRead"] into the expected type interface 
org.geotools.feature.FeatureCollection for parameter features  at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:1055)
        at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:342)
 ... 114 moreCaused by: java.security.InvalidParameterException: Could not 
convert the value 
CoverageDimensionCustomizerReader.GridCoverageWrapper["result", 
GeneralEnvelope[(9449477.4274269, 2066702.52340555), (1.4583999884674001E7, 
6490346.10153324)], DefaultProjectedCRS["WGS 84 / Pseudo-Mercator"]]??   
CoverageDimensionCustomizerReader.WrappedSampleDimension([-Infinity ... 
Infinity])?? Image=RenderedOp["ImageRead"] into the expected type interface 
org.geotools.feature.FeatureCollection for parameter features      at 
org.geotools.process.function.ProcessFunction.evaluateInputs(ProcessFunction.java:232)
       at 
org.geotools.process.function.ProcessFunction.evaluate(ProcessFunction.java:137)
     at 
org.geotools.process.function.ParameterFunction.evaluate(ParameterFunction.java:104)
 at 
org.geotools.process.function.ParameterFunction.evaluate(ParameterFunction.java:120)
 at 
org.geotools.process.function.ProcessFunction.evaluateInputs(ProcessFunction.java:174)
       at 
org.geotools.process.function.ProcessFunction.evaluate(ProcessFunction.java:137)
     at 
org.geotools.renderer.lite.RenderingTransformationHelper.applyRenderingTransformation(RenderingTransformationHelper.java:185)
        at 
org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:1008)
        ... 115 more06 ???? 17:37:41 DEBUG [geoserver.filters] - Compressing 
output for mimetype: application/vnd.ogc.se_xml;charset=UTF-806 ???? 17:37:41 
DEBUG [filter.GeoServerSecurityContextPersistenceFilter$1] - 
SecurityContextHolder now cleared, as request processing completed06 ???? 
17:37:41 INFO [geoserver.filters] - 0:0:0:0:0:0:0:1 "GET 
/geoserver/BpGeo/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fjpeg&TRANSPARENT=true&LAYERS=BpGeo%3Aresult&STYLES&SRS=EPSG%3A3857&WIDTH=768&HEIGHT=662&BBOX=8267947.0000347905%2C1045709.6087514455%2C15773601.01425077%2C7515427.001213657"
 took 16ms






------------------ ???????? ------------------
??????: "Andrea Aime";<[email protected]>;
????????: 2016??1??6??(??????) ????4:43
??????: "????????"<[email protected]>; 
????: "geoserver-users"<[email protected]>; 
????: Re: [Geoserver-users] [SPAM] How to use gs:Query in sld??



Hi,gs:Query cannot be used in rendering transformation. As already suggested, 
chaining transformations
in SLD was not included in the original development and testing, it's there 
mostly as an accident, but needs
more development to actually work (see 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
 ).


In any case, what you're trying to do is known as cross layer filtering, which 
has limited support
in this module:
http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html

Limited as in, it will work only with small amounts of data, it's memory bound 
(for a more general,
not memory bound approach based on spatial joins against spatial databases, we 
are again looking
for funding or contributions, see the above link).


Cheers
Andrea








On Wed, Jan 6, 2016 at 9:20 AM, ???????? <[email protected]> wrote:
Hi:
   I want to use gs:Query in sld to cropCoverage.  
   Below sld  is not work;
   SLD:
   <?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
     xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
     xmlns="http://www.opengis.net/sld";
     xmlns:ogc="http://www.opengis.net/ogc";
     xmlns:xlink="http://www.w3.org/1999/xlink";
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  <NamedLayer>
    <Name>CropCoverage</Name>
    <UserStyle>
      <Title>Crop Coverage</Title>
      <FeatureTypeStyle>
        <Transformation>
          <ogc:Function name="gs:CropCoverage">


            <ogc:Function name="parameter">
              <ogc:Literal>coverage</ogc:Literal>
            </ogc:Function>


             <ogc:Function name="parameter">
              <ogc:Literal>cropShape</ogc:Literal>
              <ogc:Function name="gs:CollectGeometries">
                <ogc:Function name="gs:Query">
                  <ogc:Literal>BpGeo:city</ogc:Literal>
                   <ogc:Literal>geom</ogc:Literal>
                   <ogc:Literal>INCLUDE</ogc:Literal>
                </ogc:Function>
               </ogc:Function>
             </ogc:Function>
            
          </ogc:Function>
        </Transformation>
        <Rule>
          <Name>rule1</Name>
          <RasterSymbolizer>
        </RasterSymbolizer>
      </Rule>
    </FeatureTypeStyle>
  </UserStyle>
</NamedLayer>
</StyledLayerDescriptor>



------------------------------------------------------------------------------
 
_______________________________________________
 Geoserver-users mailing list
 [email protected]
 https://lists.sourceforge.net/lists/listinfo/geoserver-users
 





-- 
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==




Geosolutions' Winter Holidays from 24/12 to 6/1




Ing. Andrea Aime 

@geowolf
Technical Lead


GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549


http://www.geo-solutions.it
http://twitter.com/geosolutions_it



AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i 
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo 
?? consentito esclusivamente al destinatario del messaggio, per le finalit?? 
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne 
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di 
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro 
sistema. Conservare il messaggio stesso, divulgarlo anche in parte, 
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalit?? diverse, 
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the 
attention and use of the named addressee(s) and may be confidential or 
proprietary in nature or covered by the provisions of privacy act (Legislative 
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in 
accord with its purpose, any disclosure, reproduction, copying, distribution, 
or either dissemination, either whole or partial, is strictly forbidden except 
previous formal approval of the named addressee(s). If you are not the intended 
recipient, please contact immediately the sender by telephone, fax or e-mail 
and delete the information in this message that has been received in error. The 
sender does not give any warranty or accept liability as the content, accuracy 
or completeness of sent messages and accepts no responsibility  for changes 
made after they were sent or for other risks which arise as a result of e-mail 
transmission, viruses, etc.



-------------------------------------------------------
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to