写道
SDEDBManager .java
package com.digitalchina.arcgis.common;
import java.util.Calendar;
import com.esri.sde.sdk.client.SeConnection;
import com.esri.sde.sdk.client.SeCoordinateReference;
import com.esri.sde.sdk.client.SeDelete;
import com.esri.sde.sdk.client.SeException;
import com.esri.sde.sdk.client.SeInsert;
import com.esri.sde.sdk.client.SeLayer;
import com.esri.sde.sdk.client.SeRow;
import com.esri.sde.sdk.client.SeShape;
public class SDEDBManager {
private static String server = "192.168.1.200";
private static String instance ="5151";
private static String database = "ORCL";
private static String username = "sde";
private static String password = "sde";
public static SeConnection getConn() {
SeConnection conn = null;
if (conn == null) {
try {
conn = new SeConnection(server, instance, database, username,password);
} catch (SeException ex) {
ex.printStackTrace();
}
}
return conn;
}
public static void main(String args[]){
new SDEDBManager().delete("camera");
//new SDEDBManager().insertOnePoint();
}
public void insert(){
SeConnection conn=getConn();
if(conn!=null){
try{
SeInsert insert =new SeInsert(conn);
insert.intoTable("PT", new String[]{"SHAPE","NAME","VISITTIME","FCC","FROMTIME","TOTIME","SUBTYPES" });
insert.setWriteMode(true);//开启buffer
SeLayer layer=new SeLayer(conn,"PT","SHAPE");
SeCoordinateReference cr =layer.getCoordRef();
for(int i=0;i<10;i++){
SeRow row =insert.getRowToSet();
SeShape shape=new SeShape(cr);
String wkt="POINT("+i+" "+i+")";
shape.generateFromText(wkt);
row.setShape(0, shape);
row.setNString(1, "名称"+i);
row.setDouble(2, 20.0);
row.setNString(3, "D31");
row.setTime(4,Calendar.getInstance());
row.setTime(5,Calendar.getInstance());
row.setInteger(6, new Integer(2));
insert.execute();
}
insert.flushBufferedWrites();
insert.close();
}catch(SeException e){
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SeException e){
e.printStackTrace();
}
}
}
}
public void delete(String tableName){
SeConnection conn=getConn();
if(conn!=null){
try{
SeDelete delete = new SeDelete(conn);
delete.fromTable(tableName, "OBJECTID>0");
}catch(SeException e){
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SeException e){
e.printStackTrace();
}
}
}
}
public void insertOnePoint(){
SeConnection conn=getConn();
if(conn!=null){
try{
SeInsert insert =new SeInsert(conn);
insert.intoTable("FIRE", new String[]{"SHAPE","NAME", "FROMTIME","TOTIME","SUBTYPES" });
insert.setWriteMode(true);//开启buffer
SeLayer layer=new SeLayer(conn,"HOSPITAL","SHAPE");
SeCoordinateReference cr =layer.getCoordRef();
SeRow row =insert.getRowToSet();
SeShape shape=new SeShape(cr);
String wkt="POINT(-122.43644 37.76927)";
shape.generateFromText(wkt);
row.setShape(0, shape);
row.setNString(1, "FIRE CENTER");
row.setTime(2,Calendar.getInstance());
row.setTime(3,Calendar.getInstance());
row.setInteger(4, new Integer(2));
insert.execute();
insert.flushBufferedWrites();
insert.close();
}catch(SeException e){
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SeException e){
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
ArcSDE连接Oracle配置 ArcSDE连接Oracle配置 ArcSDE连接Oracle配置
arcsde 操作oracle的操作原理
ArcSDE for Oracle是Arcgis连接Oracle数据库的中间件,这是连接Oracle11g的版本
ArcSDE For Oracle 10g 的安装文件
汇总了当前网络上比较流行的arcsde及oracle安装配置教程,资料齐全,绝对好东东。
ArcSDE for Oracle 安装详解(单机及分布式)
arcsde10.1 for oracle 11g百度云下载链接,包括ArcSDE_Windows_101.iso,server101.ecp,ArcSDE10.1安装.pdf等等内容
ArcSDE 10.2 FOR Oracle10g、11g安装包,Windows平台的。
ArcSDE和Oracle Spatial的定位不同
这个就不要分啦!希望帮助到需要的人~破解文件也上传了,大家可以在我上传的资源里找到
arcgis,arcsde,oracle安装配置手册word文档,内有详细的安装以及配置过程截图,并且该方法经过长期实践,行之有效。在64位操作系统中,也可以按照该方法安装。
自己用arcsde连接oracle时,做的笔记
ArcSDE vs Oracle Spatial ,空间数据存储的比较与分析
ArcSDE for Oracle 10g 安装及配置教程
ArcSDE for Oracle linux安装配置文档
ArcSDE远程连接Oracle数据库安装方法
图解Arcmap中数据导入到ArcSDE+Oracle
本教程细讲解了arcsde for oracle的存储机制,以及如何配置对sde进行优化和直接sql查询
讲了ArcSDE+Oracle的配置方法,对ArcSDE管理员很有帮助。