📄 editfeatureclass.java.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 + -