在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

 

  附一点中文资料:

  SDO_COORD_OPS Table中关于坐标类型的定义:

     一维坐标系:

垂直(VERTICAL):这些坐标系在对地球表面高度的建模中有着典型的应用。这个高度既可以是大地水准面高度,也可以是椭球高度(就是在  参考系中,用来近似地球表面的椭球面的高度)

二维坐标系:

地理二维(Geographic2D):这个类型的坐标系通过参照椭球来实现对地球表面经度和纬度的近似。这个类型也被称为大地坐标系。

投影(Projected):这个类型的坐标系定义了如何将一个地理二维参考系的经度和纬度投影到一个笛卡尔坐标上。就像在前面"投影坐标系"中所讨论的,你可以使用不同类别的坐标投影技术,如等积投影和等距投影。

3D坐标系:

地理三维(Geographic3D):这个类型的坐标系根据大地基准(椭球)来确定经度、纬度和椭球高度。

地心(Geocentric):这个类型的坐标系以地心为中心来确x、y、z值(而不是地理三维中的表面椭球)。

复合(Compound):这种方法把地理二维(经纬度)或投影的坐标系与基于重力、海拔等来指定高度的垂直坐标系结合起来。

本地坐标系

工程学:这些坐标系都是一些特定应用的坐标系。它们与地球表面的数据相关或无关,但是数据经常被当作是在笛卡尔坐标系中对待。

感谢所有引用链接作者的工作!

时间: 2024-10-10 16:33:00

在Oracle Spatial中增加Web Mercator投影坐标系的相关文章

Oracle Spatial中SDO_Geometry详细说明[转]

在ArcGIS中通过SDE存储空间数据到Oracle中有多种存储方式,分别有:二进制Long Raw .ESRI的ST_Geometry以及基于Oracle Spatial的SDO_Geometry等等. <UpDooGIS原创> 关于这几种方式的各自的优缺点不是主要的探讨的方向,这些我们可以通过ArcGIS中的ArcGIS Server Help得到相关的帮助.这里主要是学习关于基于Oracle Spatial的存储方式,通过这种存储方式几何列Shape的字段类型为mdsys.sde_geo

在oracle表中增加字段,并调整字段的顺序

增加字段的语句很简单,以用户身份连接oracle服务: alter table tablename add(colname coltype); # 填上表名.字段名.字段类型 修改字段顺序前,查看表中各字段的顺序: 首先,查看表对应的id: select object_id from all_objects where owner = 'user' and object_name = 'tablename'; # 填上表的所有者.表名 然后,查看表中各字段的顺序: select obj#,col

Web Mercator 公开的小秘密

网上已经有好多作者都不吝笔墨,写了好多有关 Web Mercator这个坐标系的前世今生.多搜罗多摄入,我们会得到很多有用的信息.今天讨论到 3758,3857,102100,100913-- 这些ID又一石激起千层浪,看来整理总结下还是有点必要. Web Mercator 如何定义? 我们知道,地理数据的坐标系一般有两大类,一是地理坐标系(GCS),是经纬度单位的椭球坐标系:二是投影坐标系(PCS),是平面直角坐标系. 投影坐标系(PCS)的定义一般会包含两方面的定义信息: (1)基准面/Da

Oracle spatial与arcsde 的关系

有一些同事问过我下面这些问题: 我们用了oracle spatial sdo_geometry,是不是没用arcsde? 我们到底是使用oracle spatial还是arcsde,有点懵! 执行了create enterprise geodatabase是不是就表示使用了arcsde?那这个动作到底是做什么呢? 我们没用arcsde的服务,为什么你还说我们用了arcsde呢? …… 因为问得人很多,我打算将我的理解写下来,与大家交流,以收抛砖引玉之效. 1.什么是ARCSDE SDE的全称是s

.Net Web产品中增加自己的功能和代码?

背景: 最近有一个项目,一个朋友找了一个网上比较成熟的CMS系统(动易),让我给他增加一些功能,这个产品功能挺多,但是没有源代码.按照以前的做法,就是直接反编译他的dll,生成源代码,然后在源代码的基础上修改和完善自己的功能.但是研究了一下这个产品,bin下面的DLL非常多,有主要的,还有辅助的.如果每个dll都反编译,简直不现实. ? 用发编译工具?ILSpy打开里面几个主要的dll,发现还加壳混淆了,用De4Dot反混淆出来.里面的代码还是非常清晰,但是如果每个dll都这样搞,岂不累死. ?

ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)

原文:ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100) 对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而采用不同的数学模型对本不是椭球体的地球进行椭球体化.而投影坐标系,是对地理坐标系按照某种方式投影到平面上的,所以可以认为它是一个平面坐标系,单位自然是米或千米. 我们在做开发的时候,尤其

WGS84与WGS84 Web Mercator

两者的区别 WGS84坐标系 1.WGS84是地心坐标系,空间直角坐标系,原点与地球质心重合,为GPS采用的坐标系: 2.通过GPS可以直接获取WGS84下的坐标(B,L,H),B为纬度,L为经度,H为大地高即到WGS84椭 球面的高度: 3.我国地图采用的是北京1954或西安1980坐标系下的高斯投影坐标(x,y),也有采用北京1954或西安1980坐标系下的经纬度坐标(B,L),高程一般为海拔高度: 4.GPS的测量结果与北京54或西安80坐标相差几十米到一百多米,随区域各异: WGS84

C#用Oracle.DataAccess中连接Oracle要注意版本问题!

客户端Oracle.DataAccess.dll与服务器版本不一致时,如下修改:1.在客户端Web.config中,增加如下配置:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Oracle.DataAccess" publicKeyToken=&q

用Oracle ADF Essentials 开发Web 应用

Kevin QQ:527358657 Oracle ADF QQ 群:216731341 第一章ADF Essentials 应用开发环境的安装和设置........................................................7 准备...................................................................................................................