MySQL空間數(shù)據(jù)類型_第1頁
MySQL空間數(shù)據(jù)類型_第2頁
MySQL空間數(shù)據(jù)類型_第3頁
MySQL空間數(shù)據(jù)類型_第4頁
MySQL空間數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

主講教師:魏巍巍北京信息職業(yè)技術學院數(shù)據(jù)庫技術與應用MySQL空間數(shù)據(jù)類型創(chuàng)建采集任務01MySQL空間數(shù)據(jù)類型01目錄CONTENTSMySQL空間數(shù)據(jù)類型01MySQL中對空間數(shù)據(jù)的支持MySQL已經(jīng)擴展支持空間數(shù)據(jù),其功能包括:表示空間值的數(shù)據(jù)類型操作空間值的函數(shù)提高對空間列訪問速度的空間索引這些擴展使您能夠創(chuàng)建、存儲和分析地理特性,這些特性是世界上具有空間特征的事物。地理特征也被稱為幾何特征,表示為點或點的集合。

Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.點,如城鎮(zhèn)線,如道路多邊形,如地塊MySQL空間數(shù)據(jù)類型GeometryPointSurfaceGeometryCollectionLineLinearRingMultiPolygonCopyright?2017,Oracleand/or

its

affiliates.

All

rights

reserved.OpenGIS

幾何模型CurveLineStringPolygonMultiPointMultiCurveMultiLineStringMultiSurfaceMySQL空間數(shù)據(jù)類型Copyright?2017,Oracleand/or

its

affiliates.

All

rights

reserved.OpenGIS

幾何模型MySQL空間數(shù)據(jù)類型Geometry類Geometry類是根類。它及其所有后代具有以下屬性:type:可實例化類的名稱SRID:SRS標識符coordinates:SRS中零個或多個X,Y坐標對interior、exterior和boundary:分別是幾何體占用的空間、未占用的空間和兩者之間的界面MBR:最小邊界矩形或包絡線;由最小和最大x,y坐標構(gòu)成的矩形Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.最小X,Y最大X,YMinimumBoundingRectangleMySQL空間數(shù)據(jù)類型更多Geometry類屬性簡單或非簡單:如LineString、MultiPoint和MultiLineString類型關閉或未關閉:如LineString

和MultiLineString

類型空或非空:沒有坐標的幾何體為空??諑缀误w的exterior、interior和boundary為NULL,其面積為零,并且總是simple的。維度:–1如果幾何圖形為空如果幾何體沒有長度和面積,則為0如果幾何體有長度但沒有面積,則為1如果幾何體具有非零區(qū)域,則為2Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型Point類Point代表0維幾何圖形示例:世界地圖上的城市城市地圖上的郵箱屬性X:X坐標值Y:Y坐標值dimension:0沒有長度和面積boundary:NULLCopyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型Curve類Curve是點的序列。Curve類是抽象的,無法實例化。屬性:Coordinates:點的坐標dimension:1有長度,但沒有面積simple:如果曲線不經(jīng)過同一點兩次,或者起點和終點相同(在這種情況下,曲線也是閉合的)如果Curve是simple并且closed的,那么就是一個LinearRing.closed:如果起點和終點相同boundary:Curve的端點Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型LineString類Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.LineString是點之間具有線性插值的曲線。示例世界地圖上的河流城市地圖上的街道屬性coordinates:由段組成,由每個連續(xù)的點對定義LineString是:如果直線正好包含兩點如果它即是close又是simple則是LinearRingMySQL空間數(shù)據(jù)類型Surface類曲面(Surface)是表示離散區(qū)域的二維幾何圖形。Surface類是抽象的,無法實例化。你只能實例化它唯一的子類:Polygon.屬性:dimension:2boundary:表示其單個外部邊界和零個或多個內(nèi)部邊界(“孔”)的閉合曲線集。

Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.具有單一外部和無內(nèi)部邊界的曲面具有單個外部和兩個內(nèi)部邊界的曲面MySQL空間數(shù)據(jù)類型Polygon類Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.Polygon是表示多邊幾何體的平面。示例:世界地圖上的國家邊界城市地圖上的地塊屬性:boundary:單個外部、一個或多個內(nèi)部孔定義為LinearRing對象LineString對象是simple及closed無環(huán)狀交叉MySQL空間數(shù)據(jù)類型幾何圖形集合Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.GeometryCollection是一個幾何圖形,它是一個或多個相同類型的幾何圖形的集合:MultiPoint:無序點元素的集合(例如,公共汽車站)MultiLineString:由LineString元素組成的MultiCurve幾何集合(例如河流系統(tǒng))MultiPolygon:由Polygon元素組成的MultiSurface對象(例如,群島)GeometryCollectionMultiPointMultiCurveMultiSurfaceMultiLineStringMultiPolygonGeometryMySQL空間數(shù)據(jù)類型空間數(shù)據(jù)格式MySQL使用內(nèi)部機制存儲空間數(shù)據(jù)。您必須以MySQL可以轉(zhuǎn)換為內(nèi)部存儲機制的格式描述空間數(shù)據(jù)。有兩種標準空間數(shù)據(jù)格式用于表示查詢中的幾何圖形對象:Well-KnownText(WKT):用于以ASCII格式表示幾何值Well-KnownBinary(WKB):用于將幾何數(shù)據(jù)表示為二進制字符串由包含WKB值的BLOB值組成Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型將幾何對象表示為WKTPoint:

POINT(2015)有四個Point的LineString:

LINESTRING(00,1010,2025,3040)帶有一個外環(huán)一個內(nèi)環(huán)的Polygon:

POLYGON((00,100,1010,010,00),(55,75,77,57,55))帶有三個Point的MultiPoint:

MULTIPOINT((00),(2020),(6060))帶有兩個LineString的MultiLineString:

MULTILINESTRING((1010,2020),(1515,3015))帶有兩個Polygon的MultiPolygon:

MULTIPOLYGON(((00,100,1010,010,00)),((55,75,77,57,55)))帶有兩個Point及一個LineString的GeometryCollection:

GEOMETRYCOLLECTION(POINT(1010),POINT(3030),LINESTRING(1515,2020)Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型從WKT創(chuàng)建幾何體對象使用ST_GeomFromText(wkt[,srid])函數(shù)從其WKT表示和空間參考ID(可選)來創(chuàng)建任何類型的幾何體值示例:創(chuàng)建一個Point對象

mysql>SELECTST_X(ST_GeomFromText('POINT(2015)'))ASXcoord;

+--------+

|Xcoord|

+--------+

|

20|

+--------+

1rowinset(0.00sec)使用特定于類的函數(shù)創(chuàng)建特定類型的幾何圖形和幾何圖形集合:ST_PointFromText(),ST_LineFromText(),ST_PolyFromText()ST_MPointFromText(),ST_MLineFromText(),ST_MultiPolyFromText()Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型Well-KnownBinary(WKB)格式WKB使用1字節(jié)無符號整數(shù)、4字節(jié)無符號整數(shù)和8字節(jié)雙精度數(shù)(IEEE754格式)。一個字節(jié)是八位。示例:WKB值表示POINT(11):

0101000000000000000000F03F000000000000F03F它由一個21字節(jié)的序列組成。每個字節(jié)由兩個十六進制數(shù)字表示。序列由以下組件組成:

字節(jié)序號:01

WKB類型:01000000

X坐標:000000000000F03F

Y坐標:000000000000F03FCopyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL空間數(shù)據(jù)類型創(chuàng)建和填充空間列使用標準DDL語法添加和刪除空間列:

CREATETABLEgeo(gGEOMETRY);/*創(chuàng)建帶有空間列的表*/

ALTERTABLEgeoADDptPOINT;

/*為表添加一個POINT列*/

ALTERTABLEgeoDROPpt; /*從表中刪除POINT列*/通過使用轉(zhuǎn)換函數(shù)將WKT或WKB轉(zhuǎn)換為MySQL的內(nèi)部幾何格式來添加數(shù)據(jù):在INSERT語句中直接執(zhí)行轉(zhuǎn)換:

INSERTINTOgeoVALUES(ST_GeomFromText('POINT(1015)'));在INSERT之前執(zhí)行轉(zhuǎn)換:

SET@gPt=ST_GeomFromText('POINT(1015)');

INSERTINTOgeoVALUES(@gPt);使用更復雜幾何圖形的示例:

SET@gLs='LINESTRING(00,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論