SQL 操作 SDE for Oracle 学习(一)

本文详细介绍了一种基于Oracle11g和ArcGIS10.1的环境搭建过程,包括软件配置、测试数据使用及空间数据库管理。通过SQL语句创建、插入数据至空间表,并利用arcpy函数注册至地理数据库,最后在ArcMap中验证成果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境搭建:

(一)软件环境

  1. VMware Workstation 15 Pro
  2. Microsoft Windows XP Professional x64 Edition 版本 2003 Service Pack 2
  3. ArcGIS Desktop 10.1
  4. ArcSDE for Oracle 11g
  5. Oracle11g R2 win64 database
  6. Oracle11g R2 win32 client
  7. Python 2.7.2
  8. cx_Oracle 7.0.0

(二)测试数据

     ArcObject java 自带测试数据 C:\Program Files (x86)\ArcGIS\DeveloperKit10.1\java\samples\data\usa

    GCS_North_American_1983
    WKID: 4269 权限: EPSG

  • 点:wind.shp
  • 线:ushigh.shp
  • 面:states.shp

 

二、创建空间表

(一)SQL语句创建点图层表

import cx_Oracle

def sqlDML(sql, db):
	cr=db.cursor()
	cr.execute(sql)
	cr.close()
	db.commit()

db=cx_Oracle.connect('sde/sde@localhost/orcl')
sql = "create table TEST_WIND_SQL(  objectid  INTEGER not null,  id        INTEGER,  velocity  INTEGER,  direction INTEGER,  shape     ST_GEOMETRY)"
sqlDML(sql, db)

控制台操作如下:

SQL语句创建图层表
SQL语句创建图层表

结果:

查询结果
查询结果

二、SQL语句插入测试点数据

sql = "INSERT INTO TEST_WIND_SQL (objectid, id, velocity, direction, shape) VALUES (0, -1, -2, -3, sde.st_geometry (0.00003, 0.00051, null, null, 4269))"
sqlDML(sql, db)
SQL语句插入测试点数据
SQL语句插入测试点数据

结果:

SQL语句插入测试点数据
SQL语句插入测试点结果
查看shape字段的WKT结果
查看shape字段的WKT结果

三、使用arcpy函数注册到地理数据库

adminwksp = r"数据库连接\连接到 localhost.sde"
arcpy.AcceptConnections(adminwksp, True)
arcpy.RegisterWithGeodatabase(r"数据库连接\连接到 localhost.sde\SDE.TEST_WIND_SQL")

结果:

报错信息是因为,插入数据的时候,我把objectid设置为了0值,sde表要求必须大于等于1。

使用Arcmap Desktop 查看:

 

成功!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值