當前位置:首頁 » 服務存儲 » oracle存儲多個經緯度
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle存儲多個經緯度

發布時間: 2023-05-25 07:34:21

A. oracle 循環語句的問題

劃分區域的表有么?
應該建立一張橘戚悉劃分區域的表,表內表名經度和緯度的邊界,我舉個例子(僅為舉例,具體邊界自己掌握),假設你定義緯度為南緯10°到北緯10°,東經10°到西經10°為一個區域,那麼再這張表中,至少要有這些邊界數據,另外還要有區域編號等內容。(具體內容自己考慮,可能還需要其他內容)
然後另外一張表中,只要判斷大於小於就好了,假設一個坐標為北緯5°,東經7°,那麼就是在這個區域內。這塊就是兩次截取+判斷(不能只判斷小於,也要判斷大於,仔判這里就是大於0,小於10,其他還有大於10,小於20之類的,也可以加入北緯,東經等判斷字樣,這個就要看你表的設置了),前面輸出的是在已經建立的邊界表的區域編號就可以了,不需要循環。
用循環做,那麼就不用建立這張表,但是如果這樣的話,別人會不知道你的區域表示的是什麼,你還要挨個解釋,不是很麻煩。
個人考慮區域劃分表的內容(考慮不把東西圓乎經南北緯放在一起,與上面的例子有所不同)
區域編號 東西經 南北緯 最低緯度 最高緯度 最低經度 最高經度
1 東經 北緯 0 20 0 20
都是這樣的內容,然後你在表中存儲的是東經15度,北緯5度。
那麼就可以通過substr截取,東西經和南北緯相等,在最低和最高之間,那麼就顯示區域編號,只是截取的次數多了一點。

B. oracle資料庫中怎麼計算兩個經緯度的距離

在開發android lbs定位的時候,得到一個點(經緯度),業務要求要得到附近一公里的商家,這些商家都在本地庫中,並且還標有經度和緯度,那就是要得到這個點和資料庫中的經度和緯度的距離,距離小於1公里的就檢索!

C. oracle 怎麼生成point類型數據

首先我們需要一張表來存放經緯度坐標,那麼就根據實際情況建一張表,我這張表裡面只需要兩個欄位,一個業務渣含編號,一個shape存放經緯度即可。

CREATE TABLE TB_ST_PGIS (shape mdsys.sdo_geometry,asjbh varchar2(32));

2
接下來我們需要創建一個Oracle元數據,這里銀梁斗可以給大家推薦一篇文章可以看一下,元鋒磨數據的參數值講的比較清楚了。
insert into user_sdo_geom_metadata(table_name,COLUMN_NAME,DIMINFO,SRID) values('tb_st_pgis','shape',

mdsys.sdo_dim_array(

D. oracle 存儲過程怎樣寫多個游標

CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS
CURSOR cur1 IS SELECT 。。。 --第一個游標
CURSOR cur2 IS SELECT 。。。 --第二塌腔慎團敬個游標

BEGIN
--調用cur1
BEGIN
OPEN cur1 ;
LOOP
FETCH cur1 INTO 。。圓嫌。
EXIT WHEN cur1%NOTFOUND;
...業務邏輯
COMMIT;

END LOOP;
CLOSE cur1;

END;

--調用cur2
BEGIN
OPEN cur2 ;
LOOP
FETCH cur2 INTO 。。。
EXIT WHEN cur2%NOTFOUND;
...業務邏輯
COMMIT;

END LOOP;
CLOSE cur2;

end;
END DBP_REALCITYTRAFFICCNT;

E. 我在oracle中 插入了很多經度和緯度 想批量修改

update table1
set 經度=(substr(經度,1,3)+substr(經度,5,6))/60

SUBSTR
語法: SUBSTR(string,a[,b])
功能: 返回從字母為值a開始b個攜中碧字元長的string的一個子字元串.如果a是0,那麼它就被認為從第一個字元開始.如果是正數,返回字元是從左邊向右邊進行計算的.如果b是負數,那麼返回的字元是從string的末尾開始從右向左進行計算的.如果b不存在辯舉,那麼它將預設的設置為整個字元串.如果b小於1,那麼將返回NULL.如果a或b使用了浮點數,那麼該數值將在處理進行以前首先被卻為一個整數.
使用位置:過培拆程性語句和sql語句。

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

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

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

G. 求高手寫ORACLE存儲過程

--僅僅用於模擬你的測試數據。
CREATETABLEtest_ll(
IDINT,
ongitudeINT,
latitudeINT
);


INSERTINTOtest_ll
SELECT1,100,30FROMalUNIONALL
SELECT1,101,30FROMalUNIONALL
SELECT1,103,30FROMalUNIONALL
SELECT1,110,31FROMalUNIONALL
SELECT1,110,32FROMalUNIONALL
SELECT1,110,33FROMal;


--模擬你的函數.
(
lat1INT,lng1INT,lat2INT,lng2INT
)
RETURNINTIS
BEGIN
RETURNABS(lat1-lat2)+ABS(lng1-lng2);
END;
/


SELECT
ID,罩銷
latitude,
ongitude,
LAG(latitude,1)OVER(ORDERBYid)AS"上一行_La",
LAG(ongitude,1)OVER(ORDERBYid)AS"上一行_Ln",
getdistance(latitude,ongitude,LAG(latitude,1)OVER(ORDERBYid),LAG(ongitude,1)OVER(ORDERBYid))AStmpResult
FROM
test_ll;

IDLATITUDEONGITUDE上一行_La上一行_LnTMPRESULT
------------------------------------------------------------
130100
130101301001
1331103010112
131高亂110331102
132110311101
物念游130103321109

已選擇6行。

H. oracle資料庫查詢效率低下

執行計劃有木有,不建議用建索引的方式解決此問題,主要是欄位A還沒有達到脊野那個量野猜級,頌野型建也白建。可以考慮用HIT。