高手请进--Oracle的Spatial如何解析出来??

nctonny 2005-11-22 02:30:04
Oracle Spatial 使用:
1、将SDO_GEOMETRY数据类型作为数据表的一个列。
CREATE TABLE cola_markets (
mkt_id NUMBER PRIMARY KEY,
name VARCHAR2(32),
shape MDSYS.SDO_GEOMETRY);

2、填写空间元数据。
INSERT INTO USER_SDO_GEOM_METADATA
VALUES (
'cola_markets',
'shape',
MDSYS.SDO_DIM_ARRAY( -- 20X20 grid
MDSYS.SDO_DIM_ELEMENT('X', 0, 20, 0.005),
MDSYS.SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
),
NULL -- SRID
);
3、创建空间索引。
CREATE INDEX cola_spatial_idx
ON cola_markets(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
至此,空间数据表的创建才算正式完成 。

4、插入空间数据。空间数据的插入要
INSERT INTO cola_markets VALUES(
2,
'cola_b',
MDSYS.SDO_GEOMETRY(
2003, -- 2-dimensional polygon
NULL,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring)
MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)
)
);

看了篇八风不动的帖子,自己试着做的!现在不知道如何把那空间坐标提出来.
DataSet ds = new DataSet();
OracleDataAdapter da = new OracleDataAdapter();
string sConn = "user id=good;data source=HAITU;password=good" ;
OracleConnection conn = new OracleConnection(sConn);
conn.Open();
OracleCommand myCommand = conn.CreateCommand();
myCommand.CommandType = CommandType.Text ;
string sSQL ="select mkt_id,name ,shape from cola_markets where mkt_id ='1'" ;
myCommand.CommandText = sSQL ;
da.SelectCommand = myCommand;
da.Fill(ds);
ds.WriteXml(@"c:\oracle.xml");
咋不行呢??我用OracleDataReader也试了不行,用myCommand.ExecuteOracleScalar
也试了不行,请高手指点.分不够可再加.
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhqjhq 2006-01-11
  • 打赏
  • 举报
回复
http://www.mygis.com.cn/forum/list.asp?boardid=13
这边也许有你要的答案。
jhqjhq 2006-01-11
  • 打赏
  • 举报
回复
通过gis中间件就很容易提出来了。
可以用mapx。
mapxtreme2004.都可以
nctonny 2005-11-22
  • 打赏
  • 举报
回复
没人能解决??
nctonny 2005-11-22
  • 打赏
  • 举报
回复
高手还没来自己先顶!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧