oracle spatial之基礎知識之三

liqilin0429發表於2012-02-21

點:可以用來儲存實體的位置座標

線串:用來存貯某一路段的位置及形狀

多邊形:用來儲存城市的邊界,商業區等

複雜的幾何體: 多重多邊形

 

點事最簡單的幾何體

一個線串連線多個不同的點

元素陣列描述了SDO_GEOMETRY物件的形狀和位置。這個元素組構成了SDO_GEOMETRY物件。

 

SQL> conn spatial/spatial@QILIN

已連線。

SQL> desc sdo_geometry;

 名稱                                      是否為空? 型別

 ----------------------------------------- -------- ---------------------------

 

 SDO_GTYPE                                          NUMBER

 SDO_SRID                                           NUMBER

 SDO_POINT                                          MDSYS.SDO_POINT_TYPE

 SDO_ELEM_INFO                                      MDSYS.SDO_ELEM_INFO_ARRAY

 SDO_ORDINATES                                      MDSYS.SDO_ORDINATE_ARRAY

 

SDO_GTYPE 屬性:表示幾何體實際形狀的型別(點,線串,多邊形,集合,多重點,多重線串或多重多邊形)

SDO_SRID 屬性:指定空間參考系的ID

 

SDO_GTYPE是一個4位的數字,結構為D00T。第一位和最後一位根據幾何體的維數和形狀採用不同的值。第二位和第三位通常被設定成0

 

DD00T中用來儲存幾何體物件的維度。可以表示從2維到4維的空間物件

SDO_GTYPE中的T規定了幾何體的型別和形狀

 

在一個特定的基礎上,通過 座標來定位地球表面上的資料,被稱為大地座標系或是大地空間參考系

 

等積投影保留了物體的面積,但是方向和距離都不再被保持。

等距投影在測量由投影區域中心到遠處目的的距離有較大優勢

 

通過選擇合適的投影技術和三維參考基準,地球表面的位置能夠在二維平面中表示,這種使用特定基準和合適投影的參考,被稱為投影座標系或是投影空間參考系

 

SQL> desc mdsys.cs_srs;

 名稱                                      是否為空? 型別

 ----------------------------------------- -------- ----------------------------

 

 CS_NAME                                  VARCHAR2(80)

 SRID                                       NOT NULL NUMBER(38)

 AUTH_SRID                                NUMBER(38)

 AUTH_NAME                               VARCHAR2(256)

 WKTEXT                                  VARCHAR2(2046)

 CS_BOUNDS                               MDSYS.SDO_GEOMETRY

 WKTEXT3D                                VARCHAR2(4000)

 

EPSG座標系的型別:

SQL> select distinct coord_ref_sys_kind from sdo_coord_ref_sys;

COORD_REF_SYS_KIND

------------------------

PROJECTED

GEOGRAPHIC2D

GEOCENTRIC

VERTICAL

ENGINEERING

COMPOUND

GEOGENTRIC

GEOGRAPHIC3D

 

已選擇8行。

 

一維座標系

二維座標系

3D座標系

本地座標系

 

SQL> select sdo_cs.find_proj_crs(41155,'FALSE') epsg_srid from dual;

EPSG_SRID

--------------------------------------------------------------------

SDO_SRID_LIST(32041)

SDO_PINT僅能夠儲存三個座標。也就是說 在資料是三維或是低於三維的時候才合適。對於四維的點,只能使用SDO_ELEM_INFOSDO_ORDINATES的屬性

SDO_POINT屬性

SQL> desc sdo_point_type;

 名稱                                      是否為空? 型別

 ----------------------------------------- -------- ---------------------------

 

 X                                                  NUMBER

 Y                                                  NUMBER

 Z                                                  NUMBER

 

SDO_ORDINATES存貯幾何體中所有元素的頂點,而SDO_ELEM_INFO儲存的是上述元素的型別和在SDO_ORDINATES中的起始地址

 

SRID對應於一個大地座標系的時候,你不能指定園或弧。園和弧只在投影或本地座標系中有效。在大地座標系中,可以通過增加圓周上點的密度和用SDO_UTIL.ARC_DENSIFY函式把這些點表示為線性多邊形來近似表示圓和弧。

 

Mapinfo 地圖在ORACLE中的儲存和管理方式

ORACLE 為管理空間資料庫提供了物件管理模式SDO(SPATIAL DATA OBJECT),同時提供優秀的空間索引機制

 

   MDSYSORACLE SPATIAL的管理使用者

   MDSYS方案中,表SDOGEOM-METADATA-TABLE 儲存所有上傳到ORACLE中的MAPINFO地圖資訊,

                 SDO-INDEX-METADATA-TABLE儲存與索引相關的資訊

上傳到ORACLE 中的每一個地圖由兩個表表示,

一個與該地圖空間索引方式相關的表,叫做索引表

另一個用來儲存地圖屬性資料和空間資料,稱為資料表

 

MAPX控制元件有兩種方式訪問ORACLE中的空間資料,一種為ODBC方式,一種為OCI方式。

ODBC方式的缺點是通用介面,速度慢,需要配置資料來源DNS.

OCI方式的優點是底層介面,速度快。

 

一個典型的 MapInfo表是由5檔案組成

n       TAB確定表的結構,如欄位名、排序、長度和型別

n       DAT包含表中每一個欄位的資料

n       MAP描述圖形物件

n       ID聯接表和圖形資料的對照表檔案

n       IND包含表中索引欄位資訊,索引欄位可以利用查詢> 查詢命令

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20976446/viewspace-716849/,如需轉載,請註明出處,否則將追究法律責任。

相關文章