国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

MysqlorMongodbLBS快速實現方案

來源:懂視網 責編:小采 時間:2020-11-09 15:16:59
文檔

MysqlorMongodbLBS快速實現方案

MysqlorMongodbLBS快速實現方案:前兩篇文章: 查找附近的xxx 球面距離以及Geohash方案探討 (http://www.wubiao.info/372) 微信、陌陌 架構方案分析 (http://www.wubiao.info/401) 探討了,LBS查找附近的XXX;其中包括了,Mysql自定義存儲函數方案,以及通過GeoHash、red
推薦度:
導讀MysqlorMongodbLBS快速實現方案:前兩篇文章: 查找附近的xxx 球面距離以及Geohash方案探討 (http://www.wubiao.info/372) 微信、陌陌 架構方案分析 (http://www.wubiao.info/401) 探討了,LBS查找附近的XXX;其中包括了,Mysql自定義存儲函數方案,以及通過GeoHash、red

前兩篇文章: 查找附近的xxx 球面距離以及Geohash方案探討 (http://www.wubiao.info/372) 微信、陌陌 架構方案分析 (http://www.wubiao.info/401) 探討了,LBS查找附近的XXX;其中包括了,Mysql自定義存儲函數方案,以及通過GeoHash、redis自建索引方案

前兩篇文章:

查找附近的xxx 球面距離以及Geohash方案探討 (http://www.wubiao.info/372)

微信、陌陌 架構方案分析 (http://www.wubiao.info/401)

探討了,LBS查找附近的XXX;其中包括了,Mysql自定義存儲函數方案,以及通過GeoHash、redis自建索引方案。

============================================================================================

今天分享兩種,利用GeoHash封裝成內置數據庫函數的簡易方案;

A:Mysql 內置函數方案,適合于已有業務,新增加LBS功能,增加經緯度字段方可,避免數據遷移

B:Mongodb 內置函數方案,適合中小型應用,快速實現LBS功能,性能優于A(推薦)

============================================================================================

方案A: (MySQL Spatial)

1、先簡歷一張表:(MySQL 5.0 以上 僅支持 MyISAM 引擎)

1

2

3

4

5

6

7

8

9

CREATETABLEaddress (

addressCHAR(80)NOTNULL,

address_loc POINT NOTNULL,

PRIMARYKEY(address)

);

空間索引:

1

ALTERTABLEaddress ADDSPATIALINDEX(address_loc);

插入數據:(注:此處Point(緯度,經度) 標準寫法)

1

2

3

INSERTINTOaddress VALUES('Foobar street 12', GeomFromText('POINT(30.620076 104.067221)'));

INSERTINTOaddress VALUES('Foobar street 13', GeomFromText('POINT(31.720076 105.167221)'));

查詢: 查找(30.620076,104.067221)附近 10 公里

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

SELECT *

FROM address

WHERE MBRContains

(

LineString

(

Point

(

30.620076 + 10 / ( 111.1 / COS(RADIANS(104.067221))),

104.067221 + 10 / 111.1

),

Point

(

30.620076 - 10 / ( 111.1 / COS(RADIANS(104.067221))),

104.067221 - 10 / 111.1

)

),

address_loc

)

============================================================================================

方案B:

1、先建立一張簡單的表user,兩條數據如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

{

"_id": ObjectId("518b1f1a83ba88ca60000001"),

"account":"simplephp1@163.com",

"gps": [

104.067221,

30.620076

]

}

{

"_id": ObjectId("518b1dae83ba88d660000000"),

"account":"simplephp6@163.com",

"gps": [

104.07958,

30.653936

]

}

其中,gps為二維數組,分別為經度,緯度

(注:此處必須按照(經度,緯度)順序存儲。我們平時表示經緯度,都是(緯度,精度),此處這種方式有木有很親民)

2、使用之前,先建立二維索引

//建立索引 最大范圍在經度-180~180

1

db.user.ensureIndex({"gps":"2d"},{"min":-180,"max":180})

//刪除索引

1

db.user.dropIndex({"gps":"2d"})

3、Mongodb有兩中方式可以查找附近的XXX;其中方案2)會返回距離(推薦)

1)標準查詢,為地球經緯度查詢內置;參數一為查詢條件利用$near查找附近,參數二$maxDistance為經緯弧度(1° latitude = 111.12 kilometers)即 1/111.12,表示查找附近一公里。

1

db.user.find({ gps :{ $near : [104.065847, 30.657554] , $maxDistance : 1/111.12} })

2)執行命名方式,模擬成一個圓球;參數一指定geoNear方式和表名;參數二坐標,參數三是否為球形,參數四弧度(弧度=弧長/半徑 一千米的弧度1000/6378000),參數五指定球形半徑(地球半徑)

1

db.runCommand({geoNear:'user', near:[104.065847, 30.657554], spherical:true, maxDistance:1000/6378000, distanceMultiplier:6378000});

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MysqlorMongodbLBS快速實現方案

MysqlorMongodbLBS快速實現方案:前兩篇文章: 查找附近的xxx 球面距離以及Geohash方案探討 (http://www.wubiao.info/372) 微信、陌陌 架構方案分析 (http://www.wubiao.info/401) 探討了,LBS查找附近的XXX;其中包括了,Mysql自定義存儲函數方案,以及通過GeoHash、red
推薦度:
標簽: 快速 實現 lbs
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产短视频精品一区二区三区 | 国产在线每日更新 | 亚洲精品在线免费看 | 亚洲人成网站999久久久综合 | 99国产牛牛视频在线网站 | 五十路完熟交尾 | 欧美亚洲日本国产 | 欧美国产精品va在线观看 | 久草综合网 | 欧美一区二区视频 | 国产午夜免费视频 | 欧美在线观看一区二区三区 | 亚洲欧美在线视频 | 亚洲欧美第一 | 唯美清纯另类亚洲 | 国产一区二区三区精品视频 | 国产精品第5页 | 精品国产一级在线观看 | 99久久精品国产一区二区小说 | 在线国产日韩 | 精品在线免费播放 | 中国特黄毛片 | 国产在线精品99一卡2卡 | 欧美一区二区三区视频 | 国产在线观看精品一区二区三区91 | 日韩综合第一页 | 欧洲97色综合成人网 | 精品久久久久久久久中文字幕 | 免费精品国产日韩热久久 | 亚洲视频一区二区 | 精品久久久久久久中文字幕 | 国产免费小视频在线观看 | 日韩欧美电影在线观看 | 国产成人久久精品激情 | 久久精品无码一区二区日韩av | 国内偷拍第一页 | 欧美在线综合 | 欧美日韩国产在线 | 九九九国产 | 国产一区 在线播放 | 欧美综合视频 |