在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 ...
随机推荐
- uWSGI调整buffer-size
https://uwsgi-docs.readthedocs.io/en/latest/Options.html#buffer-size buffer-size argument: required_ ...
- The flower(寻找出现m次以上,长度为k的子串)
链接:https://ac.nowcoder.com/acm/contest/3665/B来源:牛客网 题目描述 Every problem maker has a flower in their h ...
- SALESGROSSSALES_成本_利润
//获取成本GETCOST_TMP:NoConcatenateLOAD T_SAL_OUTSTOCK.LE_ID, [T_SAL_OUTSTOCK.LCY CODE], T_SAL_OUTSTOCK. ...
- 提高WiFi上网速度
https://jingyan.baidu.com/article/1876c852aa668c890b1376c4.html http://www.coozhi.com/youxishuma/you ...
- JIT Debug Info 简介
原总结debug调试dump转储文件JITprocdumpJIT Debugging 前言 在上一篇介绍 JIT Debugging 的文章 -- 你需要了解的JIT Debugging 中,我们了解 ...
- h5 移动端在阻止touchstart的默认事件时报错
h5 移动端在阻止touchstart的默认事件时报错 解决办法, 可以添加 *{ touch-action: none;}即可消除错误
- Golang 热编译rizla 插件
今天在写gin接口的时候,每次添加或修改个接口都需要重启项目才能测试,感觉很麻烦. 因为beego有bee工具,bee run启动项目fsnotify会监控文件变动,经查发现在iris项目中有个插件支 ...
- 17.3.13---join函数
1-----Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成 ...
- ubuntu 深度学习cuda环境搭建,docker-nvidia 2019-02
ubuntu 深度学习cuda环境搭建 ubuntu系统版本 18.04 查看GPU型号(NVS 315 性能很差,比没有强) 首先最好有ssh服务,以下操作都是远程ssh执行 lspci | gre ...
- ubuntu16.04更换 apt-get 阿里源
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties deb ht ...