⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editfeatureclass.java.svn-base

📁 aresde 空间数据开发 例子
💻 SVN-BASE
字号:
import java.io.IOException;

import com.esri.arcgis.datasourcesGDB.SdeWorkspaceFactory;
import com.esri.arcgis.geodatabase.ComplexEdgeFeature;
import com.esri.arcgis.geodatabase.FeatureClass;
import com.esri.arcgis.geodatabase.FeatureCursor;
import com.esri.arcgis.geodatabase.IComplexEdgeFeature;
import com.esri.arcgis.geodatabase.IComplexEdgeFeatureProxy;
import com.esri.arcgis.geodatabase.IFeatureBuffer;
import com.esri.arcgis.geodatabase.IFeatureDataset;
import com.esri.arcgis.geodatabase.IFeatureWorkspace;
import com.esri.arcgis.geodatabase.IWorkspaceEdit;
import com.esri.arcgis.geometry.IGeometryCollection;
import com.esri.arcgis.geometry.IMultipoint;
import com.esri.arcgis.geometry.IPoint;
import com.esri.arcgis.geometry.IPointCollection;
import com.esri.arcgis.geometry.IPolyline;
import com.esri.arcgis.geometry.Multipoint;
import com.esri.arcgis.geometry.Path;
import com.esri.arcgis.geometry.Point;
import com.esri.arcgis.geometry.Polyline;
import com.esri.arcgis.system.AoInitialize;
import com.esri.arcgis.system.EngineInitializer;
import com.esri.arcgis.system.PropertySet;
import com.esri.arcgis.system.esriLicenseProductCode;


public class EditFeatureClass {
	
	public static void edit() throws Exception{
		com.esri.arcgis.system.PropertySet propSet = new PropertySet();
		
		//连接参数
		propSet.setProperty("SERVER", "192.168.1.220");
		propSet.setProperty("INSTANCE", "5151");
		//propSet.setProperty("DATABASE", "sde");
		propSet.setProperty("USER", "sde");
		propSet.setProperty("PASSWORD", "sde");
		propSet.setProperty("VERSION", "SDE.DEFAULT");
		
		SdeWorkspaceFactory swf=new SdeWorkspaceFactory();
		
		
		//连接SDE
		IFeatureWorkspace ifw=(IFeatureWorkspace)swf.open(propSet, 0);
		//IComplexEdgeFeature cef=new IComplexEdgeFeatureProxy(ifw.openFeatureClass("Bus_Layer"));
		//ComplexEdgeFeature cef=new ComplexEdgeFeature(ifw.openFeatureClass("testComplex"));
		
		
		FeatureClass fcl=new FeatureClass(ifw.openFeatureClass("testDatasetTest1214"));
		//FeatureClass fcl=new FeatureClass(cef);
		
		/*IWorkspaceEdit iwe=(IWorkspaceEdit)ifw;
		iwe.startEditing(true);
		iwe.startEditOperation();*/
		
		
		
		//从FeatureClass中得到指针
		FeatureCursor fc=new FeatureCursor(fcl.insert(true));
		//得到一个缓冲,所有写操作都在缓冲中执行
		IFeatureBuffer fb=fcl.createFeatureBuffer();
		//IFeatureBuffer fb=cef.getAsIFeatureBuffer();
		//iwe.
		
		
		IPoint from=new Point();
		IPoint to=new Point();
		IPoint ed=new Point();
		from.putCoords(100, 100);
		to.putCoords(100, 400);
		ed.putCoords(100,50);

		IPolyline p=new Polyline();
		
		IPointCollection igc=(IPointCollection)p;
		igc.addPoint(from, null, null);
		igc.addPoint(to, null, null);
		igc.addPoint(ed, null, null);
		
		p=(IPolyline)igc;
		
		
		/*Multipoint im= new Multipoint();
		im.addPoint(inPoint, before, after)*/
		//p.
		//igc.removePoints(igc.getPointCount(), 1);
		//System.out.println(p.getToPoint().getX()+"  "+p.getToPoint().getY());
		
		fb.setShapeByRef(p);
		fc.insertFeature(fb);
		
		
		fc.flush();
		

		/*cef.setShapeByRef(p);
		cef.store();*/
		
		/*iwe.stopEditOperation();
		iwe.stopEditing(true);*/
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) throws IOException{
		EngineInitializer.initializeEngine();
		final AoInitialize aoInit =new AoInitialize();
		try{
			aoInit.initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
			
			edit();
			
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			aoInit.shutdown();
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -