Hi all,
I have very big shapefiles on my local disk.
I created my own ‘generalizer’ that reads in a shapefile (eg. a line layer) and throws away some points if they are too close too eachother.
In this way, I can greatly reduce the amount of data (which is what I want). I don’t throw away features, only intermediate points. Even all start/end points of lines are kept,… only intermediate points are thrown away.
The problem is that when I place my generalized file in the goeserver database and I try to get the corresponding GML, I get the error underneath.
It looks like he checks for closed line strings?? But I don’t need closed lines (polylines) because the data prepresents roads (lines).
If I open the shp, shx, dbf file in the ESRI free SHP explorer, he recognises the layer and displays as type a line layer (which is OK)
When I try to open it, it displays the layer (ok) but when i display/enable it, I don’t see any data (although if I display it with geotools, it is there correctly!)
I think there is an internal problem that geoserver cannot translate my file to GML.
Does any one have some feedback concerning my problem?
Thanks a lot in advane,
Jeroen
Belgium
-
UNCAUGHT EXCEPTION: java.lang.IllegalArgumentException: points must form a closed linestring at com.vividsolutions.jts.geom.LinearRing.validateConstruction(Unknown Source) at com.vividsolutions.jts.geom.LinearRing.(Unknown Source) at com.vividsolutions.jts.geom.GeometryFactory.createLinearRing(Unknown Source) at com.vividsolutions.jts.geom.GeometryFactory.createLinearRing(Unknown Source) at org.geotools.data.shapefile.shp.PolygonHandler.read(PolygonHandler.java:178) at org.geotools.data.shapefile.shp.ShapefileReader$Record.shape(ShapefileReader.java:74) at org.geotools.data.shapefile.ShapefileDataStore$Reader.read(ShapefileDataStore.java:377) at org.geotools.data.FIDFeatureReader.readFeature(FIDFeatureReader.java:117) at org.geotools.data.FIDFeatureReader.next(FIDFeatureReader.java:89) at org.geotools.data.ReTypeFeatureReader.next(ReTypeFeatureReader.java:109) at org.geotools.data.DefaultFeatureResults.getCount(DefaultFeatureResults.java:208) at org.vfny.geoserver.responses.wfs.FeatureResponse.execute(FeatureResponse.java:299) at org.vfny.geoserver.responses.wfs.FeatureResponse.execute(FeatureResponse.java:193) at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:280) at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:195) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.vfny.geoserver.servlets.wfs.WfsDispatcher.doResponse(WfsDispatcher.java:159) at org.vfny.geoserver.servlets.wfs.WfsDispatcher.doGet(WfsDispatcher.java:112) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.thalys.localys.web.tools.gzip.GZIPFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666) at java.lang.Thread.run(Thread.java:534)