PIXNET Logo登入

流風羽的部落格

跳到主文

歡迎光臨流風羽在痞客邦的小天地

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 09 週五 201121:38
  • Oracle Spatial Column 詮釋資料註冊




若要使用 Oracle Spatial 的比對函式
 
必須要建立 Spatial Index

 

但在建立 Spatial Index 時


 

該 Spatial Column 必須已註冊在 USER_SDO_GEOM_METADATA 這個 Table 之中

 

其中欄位有

     Table_name - 表格名稱

     Column_name - 欄位名稱

     Diminfo - Spatial 欄位

     SRID - 坐標系統 (可為 NULL)

 

若無相對應的資料 則在建立 Spatial Index 時會發生錯誤

 

P.S. ALL_SDO_GEOM_METADATA 這個 Table 紀錄所有 USER 註冊的資料


(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(70)

  • 個人分類:Oracle Spatial
▲top
  • 9月 09 週五 201121:30
  • Oracle Spatial Geometry 比對




如何操作 Oracle Spatial Geometry 來達到比對的效果
 

可使用 SDO_RELATE() 這個函式

 

使用方式如下

 

select *

from tbl_test a

where MDSYS.SDO_RELATE(a.geom, MDSYS.SDO_GEOMETRY('POINT(215277 2682575)'), 'mask=CONTAINS querytype=window') = 'TRUE'

 

SELECT 出 tbl_test 中 geom 這個 spatial column 包含 (215277, 2682575) 這個點位的所有資料

其中 

mask=CONTAINS 表示包含

querytype=window 表示第二個 Geometry 可使用函式建立 若為 join 則第二個 Geometry 必須也是 spatial column


原文網址

http://download.oracle.com/docs/html/A85337_01/sdo_oper.htm


(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(108)

  • 個人分類:Oracle Spatial
▲top
  • 9月 09 週五 201119:40
  • 建立 Oracle Spatial Index




要使用 Oracle Spatial 函式進行比對時

 

必須先針對該 Geometry 欄位建立 Oracle Spatial Index

 

語法如下

 

CREATE INDEX <YOUR INDEX NAME> ON <YOUR SPATIAL TABLE>(<YOUR SPATIAL COLUMN>)

INDEXTYPE IS MDSYS.SPATIAL_INDEX;

 


使用範例

 


CREATE INDEX tbl_test_sindx ON tbl_test(geom)

INDEXTYPE IS MDSYS.SPATIAL_INDEX;


 

其中 tbl_test_sindx 為 Index 名稱

tbl_test 為 Table 名稱

geom 為 Geometry 欄位名稱

 

P.S. 若建立時發生錯誤 可參照 http://snowdaily.pixnet.net/blog/post/79392821



(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(120)

  • 個人分類:Oracle Spatial
▲top
  • 9月 09 週五 201111:28
  • 建立 Oracle Spatial Geometry 資料




利用 SDO_GEOMETRY() Constructors
可產出 Oracle Spatial Geometry 資料

 

大致使用方式有三

SDO_GEOMETRY(wkt CLOB, srid NUMBER DEFAULT NULL);

SDO_GEOMETRY(wkt VARCHAR2, srid NUMBER DEFAULT NULL);

SDO_GEOMETRY(wkb BLOB, srid NUMBER DEFAULT NULL);

 

使用範例 - 建立 Polygon Geometry

SELECT SDO_GEOMETRY('POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))') FROM DUAL;

 

原文網址

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14255/sdo_objrelschema.htm#CBBDAFFA



WKT格式可參考

http://snowdaily.pixnet.net/blog/post/79246719


(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(1) 人氣(185)

  • 個人分類:Oracle Spatial
▲top
  • 8月 23 週二 201110:51
  • Oracle Spatial Geometry Column Control




使用後置操作 Oracle Spatial Column 
必須先給予所在 Table 一個別名

才可以使用 Function 操作


範例

SELECT a.geom.SDO_ORDINATES

FROM TABLE a



若未給予別名直接操作會發生錯誤


(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(34)

  • 個人分類:Oracle Spatial
▲top
  • 8月 23 週二 201110:39
  • Oracle Spatial 取得 Geometry 四角坐標












SDO_GEOM.SDO_MAX_MBR_ORDINATE



Returns the maximum value for the specified ordinate (dimension) of the minimum bounding rectangle of a geometry object.












SDO_GEOM.SDO_MIN_MBR_ORDINATE



Returns the minimum value for the specified ordinate (dimension) of the minimum bounding rectangle of a geometry object.





利用以上兩個 Function 可利用 Geometry Column 得到所要的四角座標



使用方法


SDO_GEOM.SDO_MAX_MBR_ORDINATE(


     [geom] IN SDO_GEOMETRY,


     [ordinate_pos] IN NUMBER


     ) RETURN NUMBER;



說明

     [geom] - Geometry Column

     [ordinate_pos] - 坐標位置; 1 即是 X; 2 即是 Y


使用範例

     SDO_GEOM.SDO_MAX_MBR_ORDINATE(geo, 1);


SDO_GEOM.SDO_MIN_MBR_ORDINATE 使用方法一樣



取得四角坐標範例

SELECT 

SDO_GEOM.SDO_MIN_MBR_ORDINATE(a.geom, 1) as XMIN,
SDO_GEOM.
SDO_MIN_MBR_ORDINATE(a.geom, 2) as YMIN,
SDO_GEOM.
SDO_MAX_MBR_ORDINATE(a.geom, 1) as XMAX,
SDO_GEOM.
SDO_MAX_MBR_ORDINATE(a.geom, 2) as YMAX
from TABLE a



參考網址

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14255/sdo_objgeom.htm


(繼續閱讀...)
文章標籤

流風羽 發表在 痞客邦 留言(0) 人氣(170)

  • 個人分類:Oracle Spatial
▲top
1

部落格廣告

部落格廣告

個人資訊

流風羽
暱稱:
流風羽
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (5,213)使用Asp.net C#連接PostgreSQL Server
  • (776)度分秒 轉換成 經緯度
  • (685)jQuery Plugin ColorBox 自訂關閉
  • (652)不須 Google 密鑰使用 Google AJAX Search API
  • (638)Python 2.x 資料夾目錄建立
  • (468)SQL Server 2008 R2 安裝失敗問題
  • (403)將點陣列轉為 Geometry 資料
  • (288)下載檔案時 替換檔案名稱
  • (282)HTML5 Canvas 範例(繪製影像)
  • (195)Flex 使用 POST 傳值

文章分類

toggle Technology (30)
  • jQuery (2)
  • HTML5 (9)
  • Oracle Spatial (6)
  • Android (3)
  • PHP (2)
  • IIS (2)
  • Google API (3)
  • MapServer (4)
  • ASP.NET (11)
  • iOS (1)
  • OpenLayers (3)
  • Flex (13)
  • Eclipse (2)
  • Oracle (6)
  • C# (5)
  • Design Pattern (3)
  • PostgreSQL (3)
  • Python (8)
  • .NET MVC (3)
  • Other (1)
  • DB (1)
  • Javascript (6)
  • Action Script 3 (1)
  • QGIS (7)
  • Linux (2)
  • SQL Server (5)
  • Java (2)
  • VirtualBox (1)
  • Ruby on Rails (2)
  • GIS (3)
  • 未分類文章 (1)

最新文章

  • [SQL Server] 關於 Store Procedure 中使用 sp_executesql 執行 T-SQL 陳述式
  • [.NET Entity Framework] 找不到 Entity Key ???
  • [.NET MVC 4] 使用 ValidateAntiForgery 防止CSRF跨網站請求偽造攻擊
  • [.NET MVC] 使用多國語系
  • [iOS] Create APNs Key for PHP
  • [SQL Server] 解決資料庫還原版本向下相容的問題
  • [Javascript] 引用外部 js 檔時利用屬性傳遞參數
  • [SQL Server] Bak 檔案還原資料庫
  • [Android] 將 Bitmap 轉為指定格式圖片並儲存至 SDCard
  • [Android] 由 Extends View Class 關閉 App

最新留言

  • [17/06/12] 訪客 於文章「Oracle exp & imp 使用方...」留言:
    感謝您的教學...
  • [14/10/24] 小吳 於文章「HTML5 Canvas 範例(繪製圓形...」留言:
    借我複製玩玩喔,謝謝...
  • [14/07/01] 訪客 於文章「將 .ui 佈局檔轉換成 .py Pyt...」留言:
    於 PyQt4 目錄下輸入 pyuic4 -o [outPu...
  • [13/08/20] 路人 於文章「Oracle String 自動補零...」留言:
    是LPAD...
  • [13/03/12] aliceispig 於文章「Flex 等於運算符(==) 及 全等運...」留言:
    === 是代表 型別 值 全都相等 == 是代表值相等 ...
  • [12/10/01] Rami 於文章「利用 QT-Designer 製作程式佈...」留言:
    感謝分享~給了我很大的幫助~...
  • [12/02/20] 初學者 於文章「Flex 下載檔案...」留言:
    請問我要如何呼叫這段程式...
  • [11/09/09] 家豪 陳 於文章「建立 Oracle Spatial Ge...」留言:
    我要給你訂正一下 標題的 Special 是錯誤的........
  • [11/09/01] 楊哲偉 於文章「Flex 使用 POST 傳值...」留言:
    您好,我是FLEX的新手 看完這段程式有些問題想問 其中va...

文章精選

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣: