在进行前台数据展示操作时,有时需要对经纬度格式进行重新的格式化操作

一般我们处理的方式可以有一下几种:

1.前台格式化方法处理相关的数据

2.后台相关代码进行数据的格式化

3.通过数据库函数对数据库字段进行格式化的操作

以上方法的实现都大致上在方法上是类似的,实现效果的话就见仁见智了,看具体项目的需要了。

这里简单做了个第3中方法的实现方式:(后续如果有需要再做补充)

create or replace function GETEARTH(lontitude in NUMBER,lattitude in NUMBER) RETURN VARCHAR2
/******************************************************************************NAME:       GETEARTH参数: 经度纬度PURPOSE:    根据传入的经纬度坐标(十进制)进行,返回经纬度(度分秒)字符串Author:  DIY_Liu******************************************************************************/ISsqlStr VARCHAR2(1200);lon VARCHAR2(600);lat VARCHAR2(600);coordinate VARCHAR2(128);coordinateStr VARCHAR2(128);BEGIN--处理经度换算lon := 'SELECT TO_CHAR(ABS(FLOOR(' || lontitude || '))) ' || '||''°''||' ||'replace(lpad(TO_CHAR(FLOOR((' || lontitude || ' - FLOOR(' || lontitude ||'))*60)),2),'' '',''0'')' || '||''′''||' || 'TO_CHAR(Round(((' || lontitude ||' - FLOOR(' || lontitude || '))*60 - FLOOR((' || lontitude ||' - FLOOR(' || lontitude ||'))*60))*60,2)) || ''″'' as lon , 1 as con  FROM dual ';--处理纬度换算lat := 'SELECT TO_CHAR(ABS(FLOOR(' || lattitude || '))) ' || '||''°''||' ||'replace(lpad(TO_CHAR(FLOOR((' || lattitude || ' - FLOOR(' || lattitude ||'))*60)),2),'' '',''0'')' || '||''′''||' || 'TO_CHAR(Round(((' || lattitude ||' - FLOOR(' || lattitude || '))*60 - FLOOR((' || lattitude ||' - FLOOR(' || lattitude ||'))*60))*60,2)) || ''″'' as lat , 1 as con  FROM dual ';sqlStr :=  'select s1.lon || '','' || s2.lat from  ('|| lon || ') s1 LEFT JOIN  ' || '('|| lat || ') s2 ON s1.con=s2.con ' ;  EXECUTE IMMEDIATE sqlStrINTO coordinate;IF FLOOR(lontitude) > 0  and  FLOOR(lattitude) > 0 THENcoordinateStr := replace('E' || replace(coordinate,',',' N'),'′.','′0.');--sqlStr :=  'select s1.lon || ''E,'' || s2.lat || ''N'' from  ('|| lon || ') s1 LEFT JOIN  ' || '('|| lat || ') s2 ON s1.con=s2.con' ;END IF;IF FLOOR(lontitude) > 0  and  FLOOR(lattitude) < 0 THENcoordinateStr := replace('E' ||  replace(coordinate,',',' S'),'′.','′0.');--sqlStr :=  'select s1.lon || ''E,'' || s2.lat || ''S'' from  ('|| lon || ') s1 LEFT JOIN  ' || '('|| lat || ') s2 ON s1.con=s2.con' ;END IF;IF FLOOR(lontitude) < 0  and  FLOOR(lattitude) > 0 THENcoordinateStr := replace('W' || replace(coordinate,',',' N'),'′.','′0.');--sqlStr :=  'select s1.lon || ''W,'' || s2.lat || ''N'' from  ('|| lon || ') s1 LEFT JOIN  ' || '('|| lat || ') s2 ON s1.con=s2.con' ;END IF;IF FLOOR(lontitude) < 0  and  FLOOR(lattitude) < 0 THENcoordinateStr := replace('W' || replace(coordinate,',',' S'),'′.','′0.');--sqlStr :=  'select s1.lon || ''W,'' || s2.lat || ''S'' from  ('|| lon || ') s1 LEFT JOIN  ' || '('|| lat || ') s2 ON s1.con=s2.con' ;END IF;RETURN(coordinateStr);EXCEPTIONWHEN OTHERS THENcoordinateStr := 'error calculate';RETURN coordinateStr;END GETEARTH;

经纬度格式化转换-数据库函数方式相关推荐

  1. 《iOS取证实战:调查、分析与移动安全》一3.4 数据存储方式

    3.4 数据存储方式 iPhone上的数据以很多方式进行存储.下面的小节涵盖了每一个数据存储的形式以供审查者了解潜在的证据如何定位或恢复. 内部存储: SQLite 数据库文件: 属性列表: 网络: ...

  2. SpringMVC的数据转换、格式化和数据校验

    目录 一.数据转换 1.ConversionService 2.自定义类型转换器 (1)案例一 (2)案例二 二.处理静态资源 三.关于 mvc:annotation-driven 四.@InitBi ...

  3. 高效的数据压缩编码方式 Protobuf

    高效的数据压缩编码方式 Protobuf github地址 目录 ProtocolBuffers 是什么 为什么要发明 ProtocolBuffers proto3 定义 Message 分配字段编号 ...

  4. printf 规定数据输出方式

    功能 c语言中产生格式化输出的函数(定义在 stdio.h 中).向终端输出(显示器等) 用法 int printf(const char *format,[argument]); format 参数 ...

  5. PG中的几种数据类型转换方式

    PG中的几种数据类型转换方式 1.通过格式化函数进行转换 函数 返回类型 描述 示例 to_char(timestamp,text) text 把时间戳转换成字符串 to_char(current_t ...

  6. C语言之字符串探究(六):sprintf——把格式化的数据写入某个字符缓冲区

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  7. 如何读出烧录程序.bin的数据_如何改变程序搜索数据的方式?使用Redis进行搜索...

    当用户在文本编辑器或者文字处理软件中搜索一个单词或者句子的时候,软件就会对文件进行扫描并寻找那个单词或者句子.如果读者曾经使用过Linux.Unix或者OS X的grep程序,或者曾经使用过Windo ...

  8. js实现格式化JSON数据方法

    前言: 最近做的项目中遇到个需要在前端页面中将某个设备需要的数据格式展示出来,方便用户配置.一开始单纯的将数据格式写入到pre标签中, 但是通过pre标签写入的数据格式在代码可视化上不是很优雅.由于上 ...

  9. java学习笔记——springmvc 之 数据自定义转换器 数据格式化 JSR303数据校验返回与接收JSON(@RequestBody 和 @ResponseBody)

    九.数据绑定流程分析 1.提出问题 日期字符串格式的表单参数,提交后转换为Date类型 <!--    解决问题: 1.数据类型转换 2.数据格式 3.数据校验 --> BirthDay ...

  10. 高德地图、使用vue-amap实现地图的点击地址和经纬度的转换并显示

    高德地图.使用vue-amap实现地图的点击地址和经纬度的转换并显示 ❤ vue-amap安装和使用 基于 Vue 2.0 和高德地图 ElementUI ❤ 1.npm 安装 npm install ...

最新文章

  1. 3.4 改进集束搜索-深度学习第五课《序列模型》-Stanford吴恩达教授
  2. 核心动画与UIView的区别
  3. Makefile中怎么使用Shell if判断
  4. android的辅助代码,跟App相关的Android辅助类
  5. ELK下es的分词器analyzer
  6. 全媒体平台可以适度超前
  7. php中生成图片代码,用PHP代码在网页上生成图片
  8. excel两列数据对比找不同_数据相差太大在Excel图表对比柱形图,那是你不会次坐标设置!...
  9. 谷歌浏览器所有页面都崩溃,设置都崩溃
  10. rails分页(kaminari)
  11. 手机如何快速转换图片格式?改图片格式手机如何操作?
  12. 鹿晓亮:基于大数据云计算的语音识别深度平台
  13. 研究杜比视界和HDR近两个月后的各种经验和故事
  14. NR modulation 4-AM
  15. windows PHP 5 版本的下载
  16. echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向
  17. excel查找空值快捷键_CTRL+G,EXCEL中你必须要学会的快捷键
  18. java火焰评测_JAVA性能分析之使用火焰图
  19. Qt TCP文件传输工具 源码分享
  20. CentOS6.5X86_64系统定制文档详细版

热门文章

  1. CCS导入工程时报错“overlaps the location of another project”解决办法
  2. vue-amap的使用
  3. 修改远程端口后登录不上的解决办法[作者:Jackie]
  4. Ubantu16.04.6下使用petalinux2020.1定制Linux系统
  5. 009 Ubuntu安装Google浏览器
  6. js之JSON格式用法和序列化JSON.stringify(value, replacer, space)以及反序列化JSON.parse(string)
  7. c语言测试你的性格,著名人格测试:五张图看出你的性格
  8. 湘潭大学c语言大作业难过吗,C语言程序设计参考答案(湘大出版社)
  9. Informix 常用函数一
  10. VVC系列(三)xCompressCTU、xCompressCU和xCheckModeSplit解析