在Oracle Spatial中增加Web Mercator投影坐标系
参考资料:
1. 最重要的参考文章,基本上就是按这个做的!!!:https://www.inf.unibz.it/dis/wiki/doku.php?id=students:minnerebner:oracle:addingsrid 。
2. 实例参考:http://www.cnblogs.com/cleverxy/archive/2012/04/28/2474563.html
步骤1是从0开始,这个应该有一些基础了,可以对照看一下里面对8801~8807、9802~9807的解释,然后再去数据库中查这些表。
3. 另外两个内容看起来比较丰富的论坛/博客:
oracle报错查询: http://www.serkey.com/oracle-incorrect-result-from-sdo-filter-bct53x.html#beuerd
将Spatial与IT结合: http://spatialdbadvisor.com/
Web Mercator投影
在ArcGIS的帮助中 http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#//003r00000038000000 第一段中有如下内容:“有两种用于仿真 Web 服务所用墨卡托投影的方法。如果墨卡托实现支持椭球体(椭圆体),则投影坐标系必须以基于球体的地理坐标系为基础。这要求必须使用球体方程。墨卡托辅助球体的实现仅具有球体方程。此外,如果地理坐标系是基于椭圆体的,它还具有一个投影参数,用于标识球体半径所使用的内容。默认值为零 (0) 时,将使用长半轴。” 乍一读有点混乱, 想起来以前看的的一篇文章 :http://hmfly.info/2012/10/17/mercator%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF/ ,其中的“Web Mercator与Web Mercator(Auxiliary Sphere)之异同” 部分,比较3785 和3857的区别。我的理解,对应到ArcGIS帮助中的那段话,应该是方法一是3785,方法二对应 3857,“它还具有一个投影参数”指的就是 “Auxiliary_Sphere_Type: 0.0” 吧。后面就不用混乱了,只考虑使用 3857.
关于坐标及投影还可以看一下ArcGIS的帮助,从椭球体、大地基准面、坐标参照系、投影坐标系慢慢逐步理清楚。
定义Web Mercator投影坐标系(链接1 )的补充说明:
1.定义椭球体:在MDSYS.SDO_ELLIPSOIDS表中增加所需的椭球体定义,其中INV_FLATTENING(扁率的倒数)设置为很大的一个数1.000E+12,表示只使用长半轴的长度。
2.定义大地基准面:在MDSYS.SDO_DATUMS表中增加大地基准面定义,其中的椭球体参数用到第1步中的定义;
3.定义地理坐标系: 在MDSYS.SDO_COORD_REF_SYSTEM表中增加坐标参照系:其中坐标系类型COORD_REF_SYS_KIND和坐标系代号COORD_SYS_ID 要与SDO_COORD_SYS中定义一致。
4.定义投影转换规则: 在mdsys.sdo_coord_ops中增加投影转换定义,给第3步的坐标参照系基础上定义Latitude of natural origin(原点纬线)、longitude of natural origin(原点经线)、False_Easting东伪偏移、False_Northing北伪偏移等参数。
5.定义投影坐标系:目标坐标系类型是笛卡尔坐标系,在前面定义的椭球体、地理坐标系和投影转换规则基础上,得到3857投影坐标系。
6. 定义8307向3857的转换。
其中涉及到不少代号和Oracle Spatial中已定义的属性项,可在官方文档中进行查找:
http://docs.oracle.com/cd/B28359_01/appdev.111/b28400/sdo_cs_concepts.htm#SPATL640
附一点中文资料:
一维坐标系:
垂直(VERTICAL):这些坐标系在对地球表面高度的建模中有着典型的应用。这个高度既可以是大地水准面高度,也可以是椭球高度(就是在 参考系中,用来近似地球表面的椭球面的高度)
二维坐标系:
地理二维(Geographic2D):这个类型的坐标系通过参照椭球来实现对地球表面经度和纬度的近似。这个类型也被称为大地坐标系。
投影(Projected):这个类型的坐标系定义了如何将一个地理二维参考系的经度和纬度投影到一个笛卡尔坐标上。就像在前面"投影坐标系"中所讨论的,你可以使用不同类别的坐标投影技术,如等积投影和等距投影。
3D坐标系:
地理三维(Geographic3D):这个类型的坐标系根据大地基准(椭球)来确定经度、纬度和椭球高度。
地心(Geocentric):这个类型的坐标系以地心为中心来确x、y、z值(而不是地理三维中的表面椭球)。
复合(Compound):这种方法把地理二维(经纬度)或投影的坐标系与基于重力、海拔等来指定高度的垂直坐标系结合起来。
本地坐标系
工程学:这些坐标系都是一些特定应用的坐标系。它们与地球表面的数据相关或无关,但是数据经常被当作是在笛卡尔坐标系中对待。
感谢所有引用链接作者的工作!
在Oracle Spatial中增加Web Mercator投影坐标系的更多相关文章
- Oracle Spatial 中的弧段及弧相关拓扑错误
1.报告说明 此报告用于验证下列问题: ORACLE SPATIAL 0.05m的最小拓扑容差值是否可以被修改 原始数据通过ARCGIS入库数据精度是否有损失 修改ORACLE SPATIAL图层的最 ...
- Oracle Spatial中SDO_Geometry说明
Oracle Spatial中SDO_Geometry说明 在ArcGIS中通过SDE存储空间数据到Oracle中有多种存储方式,分别有:二进制Long Raw .ESRI的ST_Geometry以及 ...
- Oracle Spatial中的空间索引
转自cryolite原文 Oracle Spatial中的空间索引 Oracle Spatial可对空间数据进行R-tree索引,每个空间图层(Spatial Layer)的空间索引元信息都可以在US ...
- Oracle Spatial中SDO_Geometry详细说明[转]
在ArcGIS中通过SDE存储空间数据到Oracle中有多种存储方式,分别有:二进制Long Raw .ESRI的ST_Geometry以及基于Oracle Spatial的SDO_Geometry等 ...
- 【转载】Oracle Spatial中SDO_Geometry详细说明
转载只供个人学习参考,查看请前往原出处:http://www.cnblogs.com/upDOoGIS/archive/2009/05/20/1469871.html 相关微博:oracle 创建SD ...
- 在oracle表中增加字段,并调整字段的顺序
增加字段的语句很简单,以用户身份连接oracle服务: alter table tablename add(colname coltype); # 填上表名.字段名.字段类型 修改字段顺序前,查看表中 ...
- 在oracle表中增加、修改、删除字段,表的重命名,字段顺序调整
增加字段语法:alter table tablename add (column datatype [default value][null/not null],….); 说明:alter table ...
- Web Mercator 公开的小秘密
网上已经有好多作者都不吝笔墨,写了好多有关 Web Mercator这个坐标系的前世今生.多搜罗多摄入,我们会得到很多有用的信息.今天讨论到 3758,3857,102100,900913-- 这些I ...
- Web Mercator公开的小秘密
网上已经有好多作者都不吝笔墨,写了好多有关 Web Mercator这个坐标系的前世今生.多搜罗多摄入,我们会得到很多有用的信息.今天讨论到 3758,3857,102100,900913…… 这些I ...
随机推荐
- error_reporting() 设置 PHP 的报错级别并返回当前级别
error_reporting() 设置 PHP 的报错级别并返回当前级别. 语法 error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回.下面 ...
- Django专题-AJAX
AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JS ...
- JSONP 跨域问题
JSONP跨域请求 什么是跨域: 1.域名不同 2.域名相同端口不同 js出于对安全考虑不支持跨域请求.我们可以使用JSONP解决跨域问题. 一.JSONP是什么 JSONP(JSON with ...
- 计量经济与时间序列_关于Box-Jenkins的ARMA模型的经济学意义(重要思路)
1 很多人已经了解到AR(1)这种最简单的时间序列模型,ARMA模型包括AR模型和MA模型两个部分,这里要详细介绍Box-Jenkins模型的观念(有些资料中把ARMA模型叫做Box-Jenkins模 ...
- ESLint javascript格式要求
首行缩进2个空格 eslint: indent functionhello (name) { console.log('hi', name) } 字符串使用单引号(除了避免转义) eslint: qu ...
- 关于RL78 系列的bootloader
1.充分了解芯片FLASH结构分布,对FLASH进行分区 2.熟练使用FSL库 3.调试中断映射功能 4.调试一种通信方式,UART,CAN等 5.对FLASH进行编程,执行跳转APP程序,调试一个多 ...
- 阿里云 asp.net core nginx 单机部署
1. dotnet core 安装 https://www.microsoft.com/net/download#core 安装之前要安装依赖:yum install libunwind libicu ...
- ubuntu19.10——snap错误has install-snap change in progress
使用软件商店安装时遇到问题 snap has install-snap change in progress 原因是之前的安装错误终止,使得现在的安装无法进行,解决方案: 终端输入: snap cha ...
- 【Java杂货铺】JVM#Class类结构
代码编译的结果从本地机器码转为字节码,是储存格式发展的一小步,却是编程语言的一大步.--<深入理解Java虚拟机> 计算机只认识0和1.所以我们写的编程语言只有转义成二进制本地机器码才能让 ...
- soupUI解决md5加密签名,cookie传递
问题详情: 1.接口调用需要前提状态:登录状态(cookie) 2.接口请求需要签名,签名规则为:MD5(TokenKey+apikey+timestamp+nonc) 其中 1.TokenKey.a ...