读书人

insertFeatureClass的三种形式

发布时间: 2012-12-23 11:28:15 作者: rapoo

insertFeatureClass的三种方式

 private IFeatureClass insertFeature_one( IFeatureClass fclass, IFeature feature){         try {        IFeatureBuffer pFeatBuf = fclass.createFeatureBuffer();        IFeature pFeat = (IFeature) pFeatBuf;         pFeat.setShapeByRef(feature.getShape());IFeatureCursor pFeatCur = fclass.IFeatureClass_insert(true);pFeatCur.insertFeature(pFeatBuf);pFeatCur.flush();} catch (AutomationException e) {e.printStackTrace();} catch (IOException e){e.printStackTrace();}return fclass;    }        private IFeatureClass insertFeature_second(IFeatureClass fclass, IFeature feature){        try {        IFeature pFeature = fclass.createFeature();        pFeature.setShapeByRef(feature.getShape());        pFeature.store();} catch (AutomationException e) {e.printStackTrace();} catch (IOException e){e.printStackTrace();}return fclass;    }        private IFeatureClass insertFeatures( IFeatureClass fclass, List<IFeature> features){        try {        IFeatureBuffer pFeatBuf = null;        IFeatureCursor pFeatCur = null;        for(int i=0; i<features.size(); i++){        pFeatBuf = fclass.createFeatureBuffer();        pFeatCur = fclass.IFeatureClass_insert(true);            IFeature pFeat = (IFeature) pFeatBuf;             pFeat.setShapeByRef(features.get(i).getShape());    pFeatCur.insertFeature(pFeatBuf);    if(i/100 == 0){    pFeatCur.flush();    }        }        pFeatCur.flush();} catch (AutomationException e) {e.printStackTrace();} catch (IOException e){e.printStackTrace();}return fclass;    }

读书人网 >编程

热点推荐