在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 ...
随机推荐
- Druid数据库连接池获取连接阻塞(转载)
一. 背景 17年公司有个项目组在南京做项目的时候,开发框架用的是spring boot ,数据库连接池用的是druid,但老是遇到socket read timeout的错误,不得已放 ...
- react-native屏幕适配
写一个屏幕适配类文件AdapterUtil.js,这样避免每次进行单位换算 "use strict" import {Dimensions, StatusBar, Platform ...
- Django专题-ugettext_lazy
标准翻译 使用函数 ugettext() 来指定一个翻译字符串. 作为惯例,使用短别名 _ 来引入这个函数以节省键入时间. 在下面这个例子中,文本 "Welcome to my site&q ...
- Django的View(视图层)
目录 Django的View(视图层) 一.JsonResponse 二.后端接收前端的文件 三. FBV和CBV(源码分析) 四.settings.py配置文件源码分析 五. 请求对象(HttpRe ...
- Android音视频处理之基于MediaCodec合并音视频
Android提供了一个MediaExtractor类,可以用来分离容器中的视频track和音频track,下面的例子展示了使用MediaExtractor和MediaMuxer来实现视频的换音: p ...
- Python笔记_第四篇_高阶编程_GUI编程之Tkinter_4.布局
1. 绝对布局: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win. ...
- Windows10配置Jmeter环境
注:在安装Jmeter之前,请先检查下电脑有没有装JDK:[Win+R]然后输入cmd->进入命令行界面,输入java -version 出现以下信息就是此电脑已安装了JDK.由于jmeter要 ...
- Proe5.0导出PDF至配置文件的相关方法,VC++
定义文件bcsMessage.txt PLM PLM PLM # login login 测试 # Active messagebox menu Active messagebox menu 激活菜单 ...
- Fabric不支持对同一个数据的并发事务处理
Fabric不支持对同一个数据的并发事务处理,也就是说, 如果我们同时运行了invoke(一),invoke(二),那么只会第一条Transaction成功, 而第二条失败.因为在Committer节 ...
- Linux mint OS
Linux mint OS Ctrl+Alt left or right : # Change workspace Goldendict + Goldendict-wordnet # Dict for ...