<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7601.17573"></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=499272418-19042011><FONT color=#0000ff 
size=2 face=Arial>I think you just need to install the AsText, force_2d, 
Envelope functions from the attached file (based on what you have below). 
but safe enough to install all if you want.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=499272418-19042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=499272418-19042011><FONT color=#0000ff 
size=2 face=Arial>Hope that helps,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=499272418-19042011><FONT color=#0000ff 
size=2 face=Arial>Regina</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=499272418-19042011><FONT color=#0000ff 
size=2 face=Arial><A 
href="http://www.postgis.us">http://www.postgis.us</A></FONT></SPAN></DIV><FONT 
color=#0000ff size=2 face=Arial></FONT><BR>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> 
postgis-users-bounces@postgis.refractions.net 
[mailto:postgis-users-bounces@postgis.refractions.net] <B>On Behalf Of 
</B>??<BR><B>Sent:</B> Tuesday, April 19, 2011 9:37 AM<BR><B>To:</B> PostGIS 
Users Discussion<BR><B>Subject:</B> [postgis-users] ??: ??: Postgis 2.0 and 
geoserver 2.1 rc4<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>I'm sorry that the error happened again. Here is the information in the 
postgis log and geoserver also gave a error report. </DIV>
<DIV>I am not sure whether I have installed the function right. Someone 
told me just to ran it like SQL languags... So I did like 
that...</DIV>
<DIV> </DIV>
<DIV>the information in the postgis log :</DIV>
<DIV> </DIV>
<DIV><INCLUDETAIL>
<DIV>2011-04-19 20:58:12 HKT FATAL:  the database system is starting 
up<BR>2011-04-19 20:58:13 HKT LOG:  database system is ready to accept 
connections<BR>2011-04-19 20:58:13 HKT LOG:  autovacuum launcher 
started<BR>2011-04-19 21:03:41 HKT ERROR:  relation "public.gt_pk_metadata" 
does not exist at character 15<BR>2011-04-19 21:03:41 HKT STATEMENT:  
SELECT * FROM public.GT_PK_METADATA<BR>2011-04-19 21:03:47 HKT ERROR:  
function envelope(box2d) does not exist at character 24<BR>2011-04-19 21:03:47 
HKT HINT:  No function matches the given name and argument types. You might 
need to add explicit type casts.<BR>2011-04-19 21:03:47 HKT STATEMENT:  
select AsText(force_2d(Envelope(ST_Estimated_Extent('public', 'nyc_buildings', 
'the_geom'))))<BR>2011-04-19 21:03:47 HKT ERROR:  function 
envelope(box3d_extent) does not exist at character 30<BR>2011-04-19 21:03:47 HKT 
HINT:  No function matches the given name and argument types. You might 
need to add explicit type casts.<BR>2011-04-19 21:03:47 HKT STATEMENT:  
SELECT ST_AsText(ST_Force_2D(Envelope(ST_Extent("the_geom"::geometry)))) FROM 
"public"."nyc_buildings"</DIV>
<DIV> </DIV>
<DIV>the imformation in geoserver:</DIV>
<DIV>Oops, something went wrong...<BR>Sorry, something unexpected happened on 
the server.</DIV>
<DIV>Here's an error report you can include in a JIRA bug report about this 
issue: </DIV>
<DIV>java.lang.RuntimeException: java.io.IOException: Error occured calculating 
bounds<BR> at 
org.geotools.jdbc.JDBCFeatureSource.getBoundsInternal(JDBCFeatureSource.java:476)<BR> at 
org.geotools.jdbc.JDBCFeatureStore.getBoundsInternal(JDBCFeatureStore.java:178)<BR> at 
org.geotools.data.store.ContentFeatureSource.getBounds(ContentFeatureSource.java:369)<BR> at 
org.geotools.data.store.ContentFeatureSource.getBounds(ContentFeatureSource.java:341)<BR> at 
org.geotools.data.SimpleFeatureSourceBridge.getBounds(SimpleFeatureSourceBridge.java:49)<BR> at 
org.vfny.geoserver.global.GeoServerFeatureSource.getBounds(GeoServerFeatureSource.java:529)<BR> at 
org.geoserver.catalog.CatalogBuilder.getNativeBounds(CatalogBuilder.java:463)<BR> at 
org.geoserver.web.data.resource.BasicResourceConfig$1.onSubmit(BasicResourceConfig.java:115)<BR> at 
org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:68)<BR> at 
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:143)<BR> at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)<BR> at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)<BR> at 
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)<BR> at 
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)<BR> at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)<BR> at 
org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)<BR> at 
org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)<BR> at 
org.apache.wicket.RequestCycle.request(RequestCycle.java:545)<BR> at 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)<BR> at 
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)<BR> at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)<BR> at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)<BR> at 
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:158)<BR> at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)<BR> at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)<BR> at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)<BR> at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)<BR> at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)<BR> at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)<BR> at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)<BR> at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)<BR> at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)<BR> at 
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:68)<BR> at 
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:192)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:192)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:192)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)<BR> at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)<BR> at 
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:39)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:48)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)<BR> at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)<BR> at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<BR> at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)<BR> at 
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)<BR> at 
org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)<BR> at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)<BR> at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)<BR> at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)<BR> at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)<BR> at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)<BR> at 
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)<BR> at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)<BR> at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)<BR> at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)<BR> at 
org.mortbay.jetty.Server.handle(Server.java:324)<BR> at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)<BR> at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)<BR> at 
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)<BR> at 
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)<BR> at 
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)<BR> at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)<BR> at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)<BR>Caused 
by: java.io.IOException: Error occured calculating bounds<BR> at 
org.geotools.jdbc.JDBCDataStore.getBounds(JDBCDataStore.java:1136)<BR> at 
org.geotools.jdbc.JDBCFeatureSource.getBoundsInternal(JDBCFeatureSource.java:469)<BR> ... 
154 more<BR>Caused by: org.postgresql.util.PSQLException: ERROR: function 
envelope(box3d_extent) does not exist<BR>  建议:No function matches the given 
name and argument types. You might need to add explicit type casts.<BR>  
位置:30<BR> at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)<BR> at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)<BR> at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)<BR> at 
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)<BR> at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)<BR> at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)<BR> at 
org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)<BR> at 
org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)<BR> at 
org.geotools.jdbc.JDBCDataStore.getBounds(JDBCDataStore.java:1112)<BR> ... 
155 more<BR></DIV>
<DIV> </DIV>
<DIV style="COLOR: #000">
<DIV 
style="PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial Narrow; FONT-SIZE: 12px; PADDING-TOP: 2px">------------------ 原始邮件 ------------------</DIV>
<DIV 
style="PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: #efefef; FONT-SIZE: 12px; PADDING-TOP: 8px">
<DIV id=menu_sender><B>发件人:</B> "Paragon 
Corporation"<lr@pcorp.us>;</DIV>
<DIV><B>发送时间:</B> 2011年4月18日(星期一) 晚上10:33</DIV>
<DIV><B>收件人:</B> "'PostGIS Users 
Discussion'"<postgis-users@postgis.refractions.net>; <WBR></DIV>
<DIV></DIV>
<DIV><B>主题:</B> Re: [postgis-users] ??: Postgis 2.0 and geoserver 2.1 
rc4</DIV></DIV>
<DIV> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>I suspect this is my fault since I cleared out most of the 
deprecated functions in this ticket:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial><A 
href="http://trac.osgeo.org/postgis/ticket/737">http://trac.osgeo.org/postgis/ticket/737</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>and evidentally geoserver is still using 
some.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN><SPAN class=058432114-18042011><FONT 
color=#0000ff size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>I'm guessing it is the removal of st_box2d that is posing a 
problem but can't be sure: try installing this function to see if it solves your 
problem:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial> CREATE OR REPLACE FUNCTION 
st_box2d(geometry)<BR> RETURNS box2d<BR> AS 
'$libdir/postgis-2.0','LWGEOM_to_BOX2DFLOAT4'<BR> LANGUAGE 'C' IMMUTABLE 
STRICT;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>(Note this function in its current form may change before 
release).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>If that doesn't fix it, it would be great if you look in your 
postgresql/pg_log folder at the last log file.  It should show the sql 
error it is trying to run that is failing.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>There is a legacy.sql file that also gets copied during 
install for people that need to run with old installs of applications that use 
removed functions.  This I'm testing right now to get rid of the remaining 
install bugs in it and to add a regress test for it.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>Hope that helps,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial>Regina</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial><A 
href="http://www.postgis.us/">http://www.postgis.us</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=058432114-18042011><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV><BR>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> 
postgis-users-bounces@postgis.refractions.net 
[mailto:postgis-users-bounces@postgis.refractions.net] <B>On Behalf Of 
</B>??<BR><B>Sent:</B> Monday, April 18, 2011 8:06 AM<BR><B>To:</B> PostGIS 
Users Discussion<BR><B>Subject:</B> [postgis-users] ??: Postgis 2.0 and 
geoserver 2.1 rc4<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>Thanks for your kind-hearted answer. The data from the table is the 
same.<BR>There is a sample data in geoserver's user documentation named 
nyc_buildings.sql.<BR>When we use PostgreSQL9.0、postgis 1.5 and geoserver 2.1 
rc4 to publish this data, everything goes all right.<BR>But when we change 
postgis1.5 to postgis2.0, the problem comes....<BR>There are two bouding boxes 
to fill. When we clicked Compute from data or Compute from Native bounds, the 
error happened...</DIV>
<DIV><BR>Someone says that postgis API has changed in 2.0 for bounding boxes. So 
the error happens. Do you agree with him? And if it is true, does it mean that 
we can't use postgis2.0 to publish the layer or there is a need of other tools 
to solve it? I'm looking forword to your reply. Thank you very much.<BR></DIV>
<DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV style="COLOR: #000">
<DIV 
style="PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial Narrow; FONT-SIZE: 12px; PADDING-TOP: 2px">------------------ 
原始邮件 ------------------</DIV>
<DIV 
style="PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: #efefef; FONT-SIZE: 12px; PADDING-TOP: 8px">
<DIV id=menu_sender><B>发件人:</B> "Maria Arias de 
Reyna"<marias@emergya.es>;</DIV>
<DIV><B>发送时间:</B> 2011年4月18日(星期一) 下午3:18</DIV>
<DIV><B>收件人:</B> "PostGIS Users 
Discussion"<postgis-users@postgis.refractions.net>; <WBR></DIV>
<DIV></DIV>
<DIV><B>主题:</B> Re: [postgis-users] Postgis 2.0 and geoserver 2.1 
rc4</DIV></DIV>
<DIV> </DIV>El Monday 18 April 2011, 龙龙 escribió:<BR>> Hi, I am getting 
the following error when trying to add a layer from a<BR>> postgis 2.0 
database: java.lang.RuntimeException: java.io.IOException:<BR>> Error occured 
calculating bounds at<BR>> 
org.geotools.jdbc.JDBCFeatureSource.getBoundsInternal(JDBCFeatureSource.ja<BR>> 
va:476) at<BR>> 
org.geotools.jdbc.JDBCFeatureStore.getBoundsInternal(JDBCFeatureStore.java<BR>> 
:178) at<BR>> 
org.geotools.data.store.ContentFeatureSource.getBounds(ContentFeatureSourc<BR>> 
e.java:369) at<BR>> 
org.geotools.data.store.ContentFeatureSource.getBounds(ContentFeatureSourc<BR>> 
e.java:341) at<BR>> 
org.geotools.data.SimpleFeatureSourceBridge.getBounds(SimpleFeatureSourceB<BR>> 
ridge.java:49) at<BR>> 
org.vfny.geoserver.global.GeoServerFeatureSource.getBounds(GeoServerFeatur<BR>> 
eSource.java:529) at<BR>> 
org.geoserver.catalog.CatalogBuilder.getNativeBounds(CatalogBuilder.java:4<BR>> 
63) at<BR>> 
org.geoserver.web.data.resource.BasicResourceConfig$1.onSubmit(BasicResour<BR>> 
ceConfig.java:115) at<BR>> 
org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubm<BR>> 
itLink.java:68) at<BR>> 
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitB<BR>> 
ehavior.java:143) at<BR>> 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:17<BR>> 
7) at<BR>> 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefau<BR>> 
ltAjaxBehavior.java:300) at<BR>> 
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.<BR>> 
processEvents(BehaviorRequestTarget.java:119) at<BR>> 
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(Abst<BR>> 
ractRequestCycleProcessor.java:92) at<BR>> 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1<BR>> 
250) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329) at<BR>> 
org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at<BR>> 
org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at<BR>> 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)<BR>> 
at<BR>> 
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:16<BR>> 
0) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at<BR>> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at<BR>> 
org.springframework.web.servlet.mvc.ServletWrappingController.handleReques<BR>> 
tInternal(ServletWrappingController.java:158) at<BR>> 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abstr<BR>> 
actController.java:153) at<BR>> 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(<BR>> 
SimpleControllerHandlerAdapter.java:48) at<BR>> 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer<BR>> 
vlet.java:875) at<BR>> 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ<BR>> 
let.java:809) at ....<BR>> <BR>> But this problem doesn't exist when I use 
postgis 1.5. So, is this a<BR>> postgis problem or a geoserver problem. How 
shall I deal with it?<BR><BR><BR>The data from the table is the same? <BR><BR>I 
had this error once when the geometry column wasn't correctly defined. Are 
<BR>you sure the table is defined on the geometry_columns table?<BR><BR>Can you 
look inside geoserver to see which is the exact sql sentence that is <BR>used 
there?<BR><BR>-- <BR>María Arias de Reyna Domínguez<BR>Área de 
Operaciones<BR><BR>Emergya Consultoría <BR>Tfno: +34 954 51 75 77 / +34 607 43 
74 27<BR>Fax: +34 954 51 64 73 <BR>www.emergya.es 
<BR>_______________________________________________<BR>postgis-users mailing 
list<BR>postgis-users@postgis.refractions.net<BR>http://postgis.refractions.net/mailman/listinfo/postgis-users<BR></DIV></DIV></DIV></INCLUDETAIL></DIV></BODY></HTML>