版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
在我們超市項目的實施過程中,超市經營者提出了這樣一個要求:要給距離門店5公里范圍內的、從線上下單的客戶提供的服務。要想解決這個問題,就需要用到空間數據了。MySQL2幾何類型是一個通用的空間數據類型,你可以把點類型、線類型和多邊形類型數據的值賦予幾何類型數據。但是點類型、線類型和多邊形類型數據則不具備這種通用性,你只能賦予它們各自類型數據的值。幾何集類型數據可以保存點類型數據、線類型數據和多邊形類型數據值的集合。多點類型、多線類型和多多邊形類型則分別只能保存點類型數據、線類型數據和多邊形類型數據值的集合。點類型數據的屬性有2種:坐標空間中的X軸的值(比如地理坐標中的經度值);坐標空間中的Y軸的值(比如地理坐標中的緯度值)點類型數據的維度是0MySQL個比較常用的空間函數ST_Distance_Sphere()、MBRContains()、MBRWithin()和ST_Distance_SphereST_Distance_SphereST_Distance_Sphere(g1,g2):g1g222g1MBRContains()和MBRWithinMBRContainsMBRWithin邊界矩形(MBR,MinimumBoundingRectangle)。最小邊界矩形是指以二維坐標表示的若干二維形狀(例如點、直線、多邊形)的最大范圍,即以給定的二維形狀各頂點中的最大橫坐標、最小橫坐標、最大縱坐標、最小縱坐標決定的邊界的矩形。MBRContains(g1,g2):如果幾何圖形g1的最小邊界矩形包含了幾何圖形g2的最小邊界矩形,則返回1,否則返回0。MBRWithin(g1,g2):與MBRContains(g1,g2)函數正好相反,MBRWithin(g1,g2)表示,如果幾何圖形g1的最小邊界矩形,包含在幾何圖形g2的最小邊界矩形之內,則返回1,否則返回0。WKTST_GeomFromText(WKT,SRID示,返回用WKT形式和SRID指定的參照系表達的幾何圖形。這里的WKT是一種文本標記語言,用來表示幾何對象。SRID(SpatialReferenceIdentifier)0SRID這家超市有很多門店,該怎么計算是否應該呢?如果應該,應該從哪家門店與客戶的距離在5公里以內,則提示不能送貨。mysql>CREATETABLE->->branchidSMALLINTPRIMARY->branchnameVARCHAR(50)NOT->addressGEOMETRYNOTNULLSRID66->7QueryOK,0rowsaffected(0.07這里需要注意一下,我這里的address字段,定義的空間數據類型是GEOMETRY,SRID4326GEOMETRY面創(chuàng)建索引。SRID值為4326,表示采用地心坐標系,這樣計算出來的距離才比較準確。當然,你完全可以使用空間數據類型POINT,也能達到同樣的效果。代碼代碼1mysql>INSERTINTOdemo.mybranch 1,'西直門店',ST_GeomFromText('POINT(39.938099116.350266)', 2,'東直門店',ST_GeomFromText('POINT(39.941143116.433769)', 3,'崇文門店',ST_GeomFromText('POINT(39.896877116.416977)',5678->(4,'五道口店',ST_GeomFromText('POINT(39.9921116.34584)',->(5,'清河店',ST_GeomFromText('POINT(39.743378116.332878)',QueryOK,5rowsaffected(0.03Records:Duplicates:Warnings:結果顯示,數據插入成功了。這里有2第一,我是用門店的經度和緯度值,來表示門店的地理位置。要獲得門店的地理位置,你可以通過地圖數據獲得,但是這樣做成本比較高。還有一種辦法,就是通過大廠提供的免費的API接口獲取,比如地圖API,這樣比較簡單。第二,WKT格式表達一個點的時候,在關鍵字PINT后面的括號中,要先寫這個點的緯度,后寫這個點的經度。這與一般的習慣相反,不要搞錯。而且,經度值與緯度值之間用空格隔開,而不是用逗號。假設我們獲取到客戶所在位置的地理坐標為:緯度是39.994671,經度是116.330788,那么,我們就可以通過下面的SQL語句查詢到這個位置與各個門店的距離:1mysql>SELECT6 1|西直門 |6505.8595896770787 2|東直門 |10604.078544471868 3|崇文門 |13123.767795556019 4|五道口 |1313.74175297137410 5|清河 |27943.11445883402511 125rowsinset(0.00店的球面最短距離只有1313米,也就是1.3公里,滿足的條件。其他門店的最短距離都在5公里以上。因此,應該從五道口店。到這里,超市經營者的要求就221CREATETABLE表名(字段名GEOMETYNOTNULLSRID4326,SPATIALINDEX(1ALTERTABLE表名ADDSPATIALINDEX(空間數據字段名1CREATESPATIALINDEX索引名ON表名(空間數據字段名這里要提醒你注意的是:空間索引與普通索引不同,必須要用關鍵字SPATIAL,而且,創(chuàng)建空間索引的空間數據字段不能為空。空間索引創(chuàng)建一個R樹索引,支持區(qū)域掃描,對提123mysql>CREATESPATIALINDEXindex_addressONQueryOK,0rowsaffected,1warning(0.04Records:Duplicates:Warnings:MySQLWHEREMBRContainsmysqlSET@poly ->'>40.016712'>40.016712'>39.907024'>39.907024'>40.016712的區(qū)域,MySQL就會提示的地理位置數據。代代123456789mysql>SELECTbranchid,branchnameFROM->WHERE+++|branchid|branchname+||++1|4|++||+2rowsinset(0.002代代12345678mysql>INSELECT*FROM->WHERE++++++|id|select_type||partitions|+|++1|++++++|possible_keys|+|mybranch||range|index_address|+++++1rowinset,1warning(0.00結果顯示,我們創(chuàng)建的索引起了作用,MySQL總之,MySL為空間數據提供了一套完整的解決方案。從空間數據類型到空間函數,再到空間索引,可以讓我們像處理普通數據那樣,來、處理和查詢空間數據。這樣一來,開發(fā)基于空間數據的應用就十分方便了。MySQLPOINT,空間數據處理函數ST_Distance_Sphere()、MBRContains()、MBRWithin()和ST_GeomFromText(),MySL的空間數據是非常有用的數據類型,通過各種空間數據處理函數,可以開發(fā)出路徑規(guī)劃、線路導航、自動駕駛等各種應用。雖然現在還存在數據量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律法規(guī)經濟與施工-二級注冊建筑師《法律、法規(guī)、經濟與施工》押題密卷3
- 長春版語文三年級上冊教案
- 老年人用藥提醒助手
- 海洋生物醫(yī)藥產業(yè)布局
- 2024屆遼寧省本溪某中學高考化學押題試卷含解析
- 2024高中物理第三章傳感器章末質量評估含解析粵教版選修3-2
- 2024高中語文第5單元莊子蚜第2課鵬之徙于南冥訓練含解析新人教版選修先秦諸子蚜
- 2024高中語文第五課言之有“理”第3節(jié)有話“好好說”-修改蹭訓練含解析新人教版選修語言文字應用
- 2024高中語文綜合閱讀訓練2含解析新人教版選修先秦諸子蚜
- 2024高考化學一輪復習第9章化學實驗基礎第29講化學實驗基礎知識和技能精練含解析
- 2025年高考歷史復習之小題狂練300題(選擇題):秦漢時期(20題)
- 鉆機安全操作規(guī)程(3篇)
- 2025年產業(yè)園區(qū)運營與管理企業(yè)組織結構及部門職責
- 巖土工程勘察.課件
- 第五章 無土育苗技術
- 福建省福州三牧中學2024-2025學年七年級上學期期中生物試題(無答案)
- 2024統(tǒng)戰(zhàn)工作總結
- 銀行營業(yè)網點詐騙、冒領等突發(fā)事件應急預案
- 《數字信號處理(第2版)》本科全套教學課件
- 2024-2025學年上海市楊浦區(qū)四年級數學第一學期期末教學質量檢測試題含解析
- 2024年江蘇蘇州中考語文作文分析-面對石頭
評論
0/150
提交評論