淺談MySQL中的Geometry類

今天小編和大家分享的是MySQL中的Geometry類,Geometry是層次結構的根類。它是一種非實例化類,但具有很多屬性,這些屬性對由任何Geometry子類創建的所有幾何值來說是共同的。下面介紹了這些屬性(尤其是具有自己特殊屬性的子類)。

Geometry屬性

 

Geometry值具有下述屬性:

 

·         type(類型)。每個geometry屬於層次結構中可實例化類之一。

 

·         SRID,或空間參考ID。該值確定了用於描述定義幾何對象的座標空間的空間座標系統。

 

MySQL中,SRID值僅是與geometry值相關的整數值。所有計算均是在歐幾里得幾何系(平面)中進行的。

 

·         它在其空間座標系統中的coordinates(座標),表示爲雙精度數值(8字節)。所有的非空幾何對象至少包含一對座標(XY)。空幾何對象不含座標。

 

座標與SRID相關。例如,在不同的座標系內,兩個對象之間的距離會有所不同,即使這兩個對象具有相同的座標也同樣。這是因爲,平面座標系中的距離和地心座標系(地球表面上的座標)中的距離是不同的事項。

 

·         interior(內部)、boundary(邊界)和exterior(外部)。

 

每個幾何對象均佔據空間中的某一位置。幾何對象的exterior(外部)指的是未被該對象佔據的所有空間。其interior(內部)指的是被該對象佔據的空間。其boundary(邊界)指的是幾何對象內部和外部之間的界面。

 

·         MBR(最小邊界矩形)或包絡面。這是一種邊界幾何值,由最小和最大座標(X,Y)構成。

 

·                ((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))

·         無論值是簡單的或非簡單的。類型(LineStringMultiPointMultiLineString)的幾何值或是簡單的,或是非簡單的。每個類型決定了其自己的簡單或非簡單聲明。

 

·         無論值是封閉的或非封閉的。類型(LineStringMultiPoint)的幾何值或是封閉的,或是非封閉的。每個類型決定了其自己的封閉或非封閉聲明。

 

·         無論值是空的或非空的。如果沒有任何點,幾何對象是空的。空幾何對象的內部、外部和邊界未定義(也就是說,它們由Null值表示)。空的幾何對象定義爲總是簡單的,面積爲0

 

·         dimension(維數)。幾何對象的維數爲−1012

 

o        −1用於空幾何對象。

 

o        0用於無長度、無面積的幾何對象。

 

o        1用於具有非0長度和0面積的幾何對象。

 

o        2用於具有非0面積的幾何對象。

 

Point對象的維數爲0LineString對象的維數爲1Polygon對象的維數爲2MultiPointMultiLineStringMultiPolygon對象的維數與構成它們的元素的維數相同。

 

轉載請註明出處:  程序員之家 http://www.sunxin.org
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章