當前位置:首頁 » 編程語言 » sql經緯度距離

sql經緯度距離

發布時間: 2022-09-11 10:24:12

Ⅰ 怎麼樣用my sql計算5公里內的經緯度

這個有點難了。你看下 這篇帖子
http://bbs.csdn.net/topics/392218241

Ⅱ 經緯度與距離的換算

經緯度與距離的換算有以下兩種方法:

1、二維轉換

二維轉換方法是將平面坐標(東坐標和北坐標)從一個坐標系統轉換到另一個坐標系統。在轉換時不計算高程參數。該轉換方法需要確定4個參數(2個向東和向北的平移參數,1個旋轉參數和1個比例因子)。如果要保持GPS測量結果獨立並且有地方地圖投影的信息,那麼採用三維轉換方法最合適。

2、三維轉換

該方法基本操作步驟是利用公共點,也就是同時具有WGS84直角坐標和地方坐標的直角坐標的點位,一般需要3個以上重合點,通過布爾莎模型(或其他模型)進行計算,得到從一個系統轉換到另一個系統中的平移參數、旋轉參數和比例因子。

坐標轉換分類

1、大地坐標(BLH)對平面直角坐標(XYZ)

常規的轉換應先確定轉換參數,即橢球參數、分帶標准(3度,6度)和中央子午線的經度。橢球參數就是指平面直角坐標系採用什麼樣的橢球基準,對應有不同的長短軸及扁率。畫到直角坐標系可以寫為(x+z*acosθ,y+z*asinθ)a,θ為參數。

2、北京54全國80及WGS84坐標系的相互轉換

一種國際上採用的地心坐標系。坐標原點為地球質心,其地心空間直角坐標系的Z軸指向BIH (國際時間)1984.O定義的協議地球極(CTP)方向,X軸指向BIH 1984.0的零子午面和CTP赤道的交點,Y軸與Z軸、X軸垂直構成右手坐標系,稱為1984年世界大地坐標系統。

3、任意兩空間坐標系的轉換

由於測量坐標系和施工坐標系採用不同的標准,要進行精確轉換,必須知道至少3個重合點(即為在兩坐標系中坐標均為已知的點。採用布爾莎模型進行求解。

Ⅲ sql (mysql)實現查詢某一個經緯度周圍500米距離的餐館,資料庫存放所有餐館的經緯度。

mysql兩點間距,你也自己弄成函數

公式如下,單位米:
第一點經緯度:lng1 lat1
第二點經緯度:lng2 lat2
round(6378.138*2*asin(sqrt(pow(sin(
(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*
pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

例如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
juli
FROM store_info
ORDER BY juli DESC
LIMIT 316

Ⅳ sql語句怎麼寫算坐標經緯度之間的距離

declare @x1 float
declare @x2 float
declare @y1 float
declare @y2 float
set @x1 = 5
set @x2 = 10
set @y1 = 5
set @y2 = 10
select power(power((@x1-@x2),2)+power((@y1-@y2),2),0.5)

Ⅳ sql語句怎麼寫算坐標經緯度之間的距離我是mysql資料庫。 請詳細點!謝謝!

給大家一條語句能執行的地方
SELECT id, ( 6371* acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY id LIMIT 20 資料庫中查找 距離 37,-122 距離 小於25公里的 經緯度
以前看GOOGLE 地圖 API 開發時候的一篇文章裡面有 給分 給分

Ⅵ 怎樣計算兩個經緯度之間的距離 百度百科

地球赤道上環繞地球一周走一圈共 40075.04公里,而一圈分成360°,每1°(度)有60'。每一度一秒在赤道上的長度計算如下:

40075.04km/360°=111.31955km

111.31955km/60'=1.8553258km=1855.3m

每一分又有60秒,每一秒就代表 1855.3m/60=30.92m,任意兩點距離計算公式為:

d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}(A點經度,緯度分別為λA和ΦA,B點的經度、緯度分別為λB和ΦB,d為距離)。

地球上所有地方的緯度一分的距離都是約等於1.86公里,也就是一度等於1.86*60=111公里。不同緯度處的經度線上的一分的實際長度是不同的,219國道基本在東經29-38度之間,29度處的一分經線長約1.63公里,38度處的一分經線長約1.47公里。


(6)sql經緯度距離擴展閱讀:

在地球儀上,由經線和緯線就組成了經緯網;如果把經緯網地球儀展開,就形成了一幅平面的地圖。確定位置,在航空、航天、航海以及氣象等方面都有作用。「船在海上遇到危險時,如何去營救」等等,都要用到經緯網地圖。

經度 :為了區分地球上的每一條經線,人們給經線標注了度數,這就是經度。經度每15度1個時區。 實際上經度是兩條經線所在平面之間的夾角。國際上規定,把通過英國首都倫敦格林威治天文台原址的那一條經線定為0°經線,也叫本初子午線。

從0°經線算起,向東、向西各分作180°,以東的180°屬於東經,習慣上用「E」作代號,以西的180°屬於西經,習慣上用「W」作代號。東經180°和西經的180°重合在一條經線上,那就是東西180°經線。緯度:從赤道向北量度為「北緯」(N);向南量度為「南緯」(S)。

在地圖上判讀經度時應注意:從西向東,經度的度數由小到大為東經度;從西向東,經度的度數由大到小,為西經度;除0°和180°經線外,其餘經線都能准確區分是東經度還是西經度

Ⅶ 如何計算經緯度之間的距離

計算經緯度之間的距離方法如下:

計算地球上經緯度之間的距離d,已知地球上兩點的經度、緯度:(X1,Y1), (X2,Y2),其中X1,X2為經度,Y1,Y2為緯度;

視計算程序需要轉化為弧度(*3.1415926/180)地球半徑為R=6371.0 km,則兩點距離d=R*arcos[cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2)]。

假設在中國某地,桿影最短時是中午13點20分,且桿長與影長之比為1,則可知該地是北緯45°(tgα=1),東經100°(從120°里1小時減15°,4分鍾減1°)桿長與影長之比需查表求α。再算兩至日經度的演算法不變 緯度在北半球冬至α+23.5°,夏至α-23.5°在任意一天加減修正值即可。

(7)sql經緯度距離擴展閱讀

經緯分度:

經度分為360度,每15度1個時區,其中0度的叫本初子午線,是第一個進入新一天的地方,然後向西每過1個時區就相差1小時。例如是早上5點,那麼向西一個時區就是早上4點,再過1個時區就是早上3點,依此類推,向東則相反,一直到本初子午線。

緯度赤道的緯度為0°,將行星平分為南半球和北半球。緯度是指某點與地球球心的連線和地球赤道面所成的線面角,其數值在0至90度之間。位於赤道以北的點的緯度叫北緯,記為N,位於赤道以南的點的緯度稱南緯,記為S。

緯度數值在0至30度之間的地區稱為低緯地區,緯度數值在30至60度之間的地區稱為中緯地區,緯度數值在60至90度之間的地區稱為高緯地區。

Ⅷ oracle 根據已知的點的經緯度查詢數據中距離該點500米的經緯度點,用sql怎麼查呢

猜猜你的資料庫列大致的格式為:經度,緯度,餐廳。 。 。 估計經緯度應該有精確的控制,你可以根據需要設置查詢 1。矩形(簡單):減去經度,緯度和一個固定值的減法運算的一個固定值,條件是在這個范圍內 2設置。圓(復雜):經度和平方和的平方根的緯度,條件設置 在此范圍內的資料庫的估計要大,所以輸出音量加一個限制是必要 SQL,甲骨文 SELECT TOP 10 *從'表名,其中
選擇*從

限M,N,其中
>從一開始就M,取n個

Ⅸ sql (mysql)怎麼實現查詢某一個經緯度周圍500米距離的餐館,資料庫存放所有餐館的經緯度

回答的有點晚,正好我做到相關的項目了,希望能幫到其他人.

餐館申請時候通過填寫的地址取得經緯度存入資料庫,下面是查詢某個經緯度附近500米的

$user_lat='41.749034'; //傳過來的緯度
$user_lng='123.46017';//傳過來的經度
$store_mod=db("store"); //資料庫
$storelist=$store_mod->query("SELECT
*,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((".$user_lat."*PI()/180-【store_latitude】*PI()/180)/2),2)+COS(".$user_lat."*PI()/180)*COS(【store_latitude】*PI()/180)*POW(SIN((".$user_lng."*PI()/180-【store_longitude】*PI()/180)/2),2)))*1000)
AS distance FROM store HAVING 【搜索條件如 state=1】 distance<【周圍距離多少米 如
500】 ORDER BY distance ASC");
var_mp($storelist);
【】sql語句中括弧的store_latitude,store_longitude為你資料庫存的商家經緯度的欄位名,其餘的為注釋

Ⅹ sql怎麼將一系列點經緯度坐標匹配到某市

ORACLE獲取數據,根據定位的數據,計算用戶的經緯度。
根據經緯度計算地球上兩點之間的距離的SqlServer函數,單位是千米。mysql距離計算,單位m,以及排序lon經度,lat緯度,一般地圖上顯示的坐標順序為,緯度在前(范圍-90~90),經度在後(范圍-180~180),首先新建一張表,裡麵包含經緯度。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

熱點內容
ps3游戲下載解壓 發布:2025-01-12 15:55:46 瀏覽:595
視頻點播伺服器搭建區域網 發布:2025-01-12 15:46:44 瀏覽:87
unit長安豪華版有哪些配置 發布:2025-01-12 15:45:05 瀏覽:84
資料庫表的分區 發布:2025-01-12 15:39:29 瀏覽:368
u點家庭伺服器網關設置有什麼用 發布:2025-01-12 15:33:15 瀏覽:152
王者歸來java 發布:2025-01-12 15:27:13 瀏覽:67
安卓手機為什麼卡又發熱 發布:2025-01-12 15:23:18 瀏覽:570
如何驗證root密碼是否正確 發布:2025-01-12 15:23:15 瀏覽:591
socketftp伺服器端 發布:2025-01-12 15:19:55 瀏覽:235
胸椎腰椎壓縮性骨折 發布:2025-01-12 15:18:30 瀏覽:475