2016-08-29 1 views
0

J'obtiens l'erreur lors de l'utilisation Geo Tiff pour vectorisation mon imageCausée par: java.lang.IllegalStateException: ne peut pas localiser le point intérieur pour le polygone

//vectorization 
System.out.println("vectorization starts"); 
GridCoverage2D srcCoverage = new GeoTiffReader(new File("E:/output/sometiffile.TIFF")).read(new GeneralParameterValue[]{policy, gridsize, useJaiRead}); 
SimpleFeatureCollection fc = RasterToVectorProcess.process(srcCoverage, 0, cov.getEnvelope(), Collections.singletonList(0.0d), true, null); 
System.out.println("process ends"); 
MapContext map = new DefaultMapContext(); 
map.setTitle("raster to vector conversion"); 
Style style = SLD.createPolygonStyle(Color.BLUE, Color.CYAN, 1.0f); 
map.addLayer(fc, style); 
JMapFrame.showMap(map); 
System.out.println("vectorization ends"); 

Sortie

vectorization starts 
adding... 
adding... 
adding... 
adding... 
adding... 
adding... 
adding... 
Exception in thread "main" org.geotools.process.ProcessException: java.lang.IllegalStateException: Can't locate interior point for polygon 
    at org.geotools.process.raster.RasterToVectorProcess.convert(RasterToVectorProcess.java:385) 
    at org.geotools.process.raster.RasterToVectorProcess.process(RasterToVectorProcess.java:310) 
    at com.rgb.PixelExtractor.extract(PixelExtractor.java:347) 
    at com.rgb.RGBSpliter.main(RGBSpliter.java:92) 
Caused by: java.lang.IllegalStateException: Can't locate interior point for polygon 
    at org.geotools.process.raster.RasterToVectorProcess.assembleFeatures(RasterToVectorProcess.java:452) 
    at org.geotools.process.raster.RasterToVectorProcess.convert(RasterToVectorProcess.java:380) 
    ... 3 more 
+0

Il semblerait que votre image contienne une fonctionnalité trop petite. Wild devinez: essayez de réduire la taille de la grille. – talex

+0

Copie possible de [Exception dans le thread "principal" org.geotools.process.ProcessException: java.lang.IllegalStateException: Impossible de localiser le point intérieur pour le polygone] (http://stackoverflow.com/questions/39117354/exception-in -thread-main-org-geotools-processus-processexception-java-lang-ille) –

+0

J'ai inversé le lien dupliqué @DenisKurochkin car celui-ci, au moins, a une réponse, quand l'autre n'avait aucune activité. – Tunaki

Répondre

0

J'ai oublié de ajouter des bandes

SimpleFeatureCollection fc = RasterToVectorProcess.process(srcCoverage, 3, cov.getEnvelope(), Collections.singletonList(0.0d), true, null);