SDO_Geometry 相关学习
一、判斷某個圖層是否為SDO_Geometry存儲方式
???? select DATA_TYPE ?from SYS.ALL_TAB_COLUMNS Where Column_Name ='SHAPE' and table_name='圖層名'
???? 值等于SDO_GEOMETRY,為SDO_Geometry存儲方式;
???? 值等于ST_GEOMETRY,為ST_Geometry存儲方式;
??????剛開始時可能使用 select t.layer_config? from layers t 來查詢圖層的存儲方式,但是這種方法是有缺陷的:layer_config字段?的DEFAULT這個值是根據你建第一個FeatureClass時用的是那種存儲方式,例如你第一個FeatureClass是SDO_Geometry存儲方式,那么SDE中的所有用SDO_Geometry存儲的圖層layer_config值都為DEFAULT,而其他類型的值為非DEFAULT。當然如果你第一次FeatureClass是采用二進制的話,那么二進制就為DEFAULT,而SDO_Geometry存儲方式的layer_config字段值就為SDO_Geometry。
??? 在Before/In ArcGIS 9.2 圖層的默認存儲為二進制,即為Long Raw。ArcGIS 9.3開始ESRI使用自己的ST_Geometry存儲方式。
二、SDE數據庫中表的相關說明
????? MDRT_%表: R樹索引表;
????? GDB__%表:?系統表
三、關于SDO_Geometry中的shape類型:
CREATE TABLE mylake (
??? feature_id NUMBER PRIMARY KEY,
??? name VARCHAR2(32),
??? shape MDSYS.SDO_GEOMETRY);
中的shape為MDSYS.SDO_GEOMETRY類型,即采用的是MDSYS方案中用戶類型SDO_GEOMETRY。
Oracle 支持自定義的數據類型,你可以用數組,結構體或者帶有構造函數,功能函數的類來定義自己的對象類型。這樣的對象類型可以用于屬性列的數據類型,也可以用來創建對象表。 而Oracle Spatial也正是基于此種特性所開發的一套空間數據處理系統。
oracle自定義的用戶類型有三種:數組類型、對象類型、表類型,例如咱們用的SDO_GEOMETRY為對象類型,具體定義如下:
CREATE TYPE SDO_GEOMETRY AS OBJECT(
SDO_GTYPE NUMBER,???????????????//表示幾何實體的類型
SDO_SRID NUMBER,?????????????????//用來表示坐標系(空間參考坐標系),與幾何實體關聯
SDO_POINT MDSYS.SDO_POINT_TYPE,//使用X,Y,Z屬性值來定義對象類型,它們都是NUMBER類型,
?????????????????????????????????????????????????? ???????????????????? //如果SDO_GEOMETRY的SDO_ELEM_INFO及SDO_ORDINATES數組為
??????????????????????????????????????????????????????????????????????? ?//空則SDO_POINT為非空,X和Y值就是點幾何實體的坐標值
SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,? //使用變長NUMBER數組類型來表示。該屬性將告知如何解釋SDO_ORDINATES里邊的坐標值;
SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY?? / /存儲坐標值數組類型,形成空間對象的邊界
);
跟具體的使用可以參考如下:
1 首先創建一個數據類型
create type t_air? as object(id int ,name varchar(20));
2 創建表
create table aaa(
????????id int ,person t_air);
3 插入數據
4 查詢classPlace
select a.id ,a.persion.id,a.person.name from aaa a;
關于MDSYS用戶和方案的學習: ???? 安裝oracle自動生成的。 ???? MDSYS用戶密碼:MDSYS,在做一些關于MDSYS用戶和方案操作之前需要對其進行解鎖。 ?? ?用途:The Oracle Spatial and Oracle interMedia Locator administrator account Oracle。
?
轉載于:https://www.cnblogs.com/upDOoGIS/archive/2009/04/24/1442770.html
總結
以上是生活随笔為你收集整理的SDO_Geometry 相关学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: andorid 第一天 搭建环境(于本博
- 下一篇: Java创建cookie和删除cooki