当前位置:首页 » 服务存储 » 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。