Web Toolbar by Wibiya

2013年3月6日 星期三

<學承電腦講師專欄>SQL空間資料

<學承電腦講師專欄>大家都知道,人口越稠密的都會區比如台灣的台北鄰近我們的上海東京和香港,交通就越繁忙,越容易塞車,試想,如果我搭公車,可以馬上在站牌或網路上知道何時搭車,司機也可以透過電腦的建議,在不影響行車安全下,加速或減速,適度保持和前一輛公車的距離,如此不僅讓乘客更有效運用時間,也可以讓載客率增加;或者為什麼我們可以透過PDAgooglemaps功能了解如何從甲地到乙地,但您可能會說這些和SQL Server有什麼關係呢?SQL Server新版中有個新功能-空間資料(Spatial)』。

<H2>空間資料可以表示幾何物件的實體位置和形狀的資訊,也可以是更複雜的物件,比如飯店、河川或道路;其資料儲存方式首度支援GPS,而資料類型包括geographygeometry資料類型,當然也支援CLR資料類型</H2>

<H2><br>geography資料類型會儲存球體(比如地球)資料,GPS經緯度座標,geographygeometry資料類型很類似,但儲存和資料操作方式不盡相同,整理如下: <br>
<br>在平面上,會使用和座標相同的度量單位測量距離和區域範圍;使用geometry資料類型時,(1,2)(4,6)之間的距離為5個單位(不管使用那種單位) <br>

<br>在球體(如地球)系統中,使用經緯度提供座標,但一般長度和區域範圍會使用公尺和平方公尺來測量,但是這樣的測量取決於geography執行個體的空間參考識別碼(SRID),geography資料型態常用的度量單位為公尺<br>
<br>在平面系統中,多邊形的環狀方向無所謂,比如,多邊形((0,0),(10,0),(0,20),(30,0))((30,0),(0,20),(10,0),(0,0))是相同的。OGC(開放式地理空間協會,Open Geospatial Consortium)並沒有規定環形的順序,SQL Server也沒有強制規定環形順序<br>
<br>在球體系統中,如果環形或多邊形沒有方向的話,將沒有任何意義,或會造成混淆,比如地球的北回歸線或南回歸線,如果使用geography資料類型儲存空間執行個體,就必須指定此環形的方向和正確的位置<br>

<br>SQL Servergeogrphy資料類型的使用限制: <br>
<br>每個geogrphy執行個體必須納入單一半球,也就是如果大於半球的實體將無法儲存<br>
<br>當來自OGC已知的文字(Well-Know Text,WKT)或二進位(Well-Know Binary,WKB)表示法的任何geogrphy執行個體大於半球時,會回傳ArgumentException<br>
<br>需要二個geogrphy執行個體輸入geogrphy資料類型方法(比如STUnion()STDifference()STSymDifference()),將會在這些方法的結果無法納入單一半球時,回傳null;如果輸出超過單一半球時,STBuffer()回傳null<br>

<br>:目前市面主要資料庫中,有支援『空間資料』功能的:SQL ServerMySQLOracle<br></H2>


學承電腦官方網站 http://www.pccenter.com.tw/

沒有留言:

張貼留言