sql經緯度距離
Ⅰ 怎麼樣用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 *從'表名,其中
選擇*從
Ⅸ 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),首先新建一張表,裡麵包含經緯度。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。