Oracle Spatial构建自定义投影坐标系
之前项目换过服务器,移植数据库时候并没有正确完整的移植自定义的投影坐标系,结果就报出莫名其妙的一些错误,比如unable to transform rectangle due to: ORA-13199: SRID does not exist。
因为在移植坐标系的时候仅仅只是将MDSYS.SDO_CRS_CS表中对应的SRID记录转存,一开始我也以为定义坐标系只要在这个表中插入数据即可,但发现事实并非如此。自定义投影坐标系是应该在视图MDSYS.SDO_COORD_REF_SYSTEM插入数据,通过触发器MDSYS.SDO_CRS_INSERT_TRIGGER在表MDSYS.SDO_COORD_REF_SYS插入相同的数据,并且在MDSYS.SDO_CRS_CS表中插入SRID记录。
在向视图MDSYS.SDO_COORD_REF_SYSTEM中插入数据之前,首先需要知道你的转换参数,并将转换参数插入表MDSYS.Sdo_Coord_Op_Param_Vals中,下面给出一个实例:
--PROJCS[ -- "Xian 1980 / 3-degree Gauss-Kruger CM 118.83E", -- GEOGCS [ -- "Xian 1980", -- DATUM [ -- "Xian 1980 (EPSG ID 6610)", -- SPHEROID ["Xian 1980 (EPSG ID 7049)", 6378140, 298.257]], -- PRIMEM [ "Greenwich", 0.000000 ], -- UNIT ["Decimal Degree", 0.01745329251994328]], -- PROJECTION ["Transverse Mercator"], -- PARAMETER ["Latitude_Of_Origin", 0], -- PARAMETER ["Central_Meridian", 118.8333], -- PARAMETER ["Scale_Factor", 1], -- PARAMETER ["False_Easting", 500000], -- PARAMETER ["False_Northing", 0], -- UNIT ["Meter", 1]] -- 首先,基础地理坐标系是Xian 1980, 它的EPSG ID为6610 -- 然后找到与计算PROJECTION["Transverse Mercator"]ESPG等式 select coord_op_method_id, legacy_name from sdo_coord_op_methods where not legacy_name is nullorder by coord_op_method_id; --结果显示 --COORD_OP_METHOD_ID LEGACY_NAME ------------------------------------------- -- 9802 Lambert Conformal Conic -- 9803 Lambert Conformal Conic (Belgium 1972) -- 9805 Mercator -- 9806 Cassini -- 9807 Transverse Mercator -- 9829 Polar Stereographic ------------- --根据PROJECTION ["Transverse Mercator"],选择9807 --建立坐标转换规则,编号96170insert into MDSYS.SDO_COORD_OPS(COORD_OP_ID,COORD_OP_NAME,COORD_OP_TYPE,SOURCE_SRID,TARGET_SRID,COORD_TFM_VERSION,COORD_OP_VARIANT,COORD_OP_METHOD_ID,UOM_ID_SOURCE_OFFSETS,UOM_ID_TARGET_OFFSETS,INFORMATION_SOURCE,DATA_SOURCE,SHOW_OPERATION,IS_LEGACY,LEGACY_CODE,REVERSE_OP,IS_IMPLEMENTED_FORWARD,IS_IMPLEMENTED_REVERSE) VALUES(96170,'3-degree Gauss-Kruger CM 118.83E (EPSG OP 96170)', 'CONVERSION',NULL,NULL,NULL,NULL,9807,NULL,NULL,'EPSG','EPSG',1,'FLASE',NULL,1,1,1);--看看需要添加哪些参数 select use.parameter_id ||':'||use.legacy_param_name fromsdo_coord_op_param_use use where use.coord_op_method_id=9807 --结果: -- 8801:Latitude_Of_Origin -- 8802:Central_Meridian -- 8805:Scale_Factor -- 8806:False_Easting -- 8807:False_Northing --检查一下完全吻合啊!!!!! --现在查查经常使用的单位: select UOM_ID ||':'||UNIT_OF_MEAS_NAME from sdo_units_of_measure where uom_id in (9001,9101,9102,9201) order by uom_id; --结果 -- 9001:metre -- 9101:radian -- 9102:degree -- 9201:unity--现在,插入参数 -- 8801:Latitude_Of_Origin insert into MDSYS.Sdo_Coord_Op_Param_Vals(COORD_OP_ID,COORD_OP_METHOD_ID,PARAMETER_ID,PARAMETER_VALUE,PARAM_VALUE_FILE_REF,UOM_ID ) VALUES(96170,9807,8801,0,NULL,9102 ); -- 8802:Central_Meridian insert into MDSYS.SDO_COORD_OP_PARAM_VALS(COORD_OP_ID,COORD_OP_METHOD_ID,PARAMETER_ID,PARAMETER_VALUE,PARAM_VALUE_FILE_REF,UOM_ID) VALUES(96170,9807,8802,118.833333333333,NULL,9102 ); -- 8805:Scale_Factor insert into MDSYS.SDO_COORD_OP_PARAM_VALS(COORD_OP_ID,COORD_OP_METHOD_ID,PARAMETER_ID,PARAMETER_VALUE,PARAM_VALUE_FILE_REF,UOM_ID) VALUES(96170,9807,8805,1,NULL,9201 ); -- 8806:False_Easting insert into MDSYS.SDO_COORD_OP_PARAM_VALS(COORD_OP_ID,COORD_OP_METHOD_ID,PARAMETER_ID,PARAMETER_VALUE,PARAM_VALUE_FILE_REF,UOM_ID) VALUES(96170,9807,8806,500000,NULL,9001 ); -- 8807:False_Northing insert into MDSYS.SDO_COORD_OP_PARAM_VALS(COORD_OP_ID,COORD_OP_METHOD_ID,PARAMETER_ID,PARAMETER_VALUE,PARAM_VALUE_FILE_REF,UOM_ID) VALUES(96170,9807,8807,0,NULL,9001 ); --现在建立投影坐标系。首先要确定GEOG_CRS_DATUM_ID和COORD_SYS_ID。 --GEOG_CRS_DATUM_ID是地理坐标系对应的datum_id --select datum_id from sdo_coord_ref_sys where srid=4610 --GEOG_CRS_DATUM_ID为6610 --CORD_SYS_ID是4530,CORD_SYS_NAME为Cartesian 2D CS. Axes: northing, easting (X,Y). Orientations: north, east. UoM: m. --现在开始建立投影坐标系 insert into MDSYS.SDO_COORD_REF_SYSTEM(SRID,COORD_REF_SYS_NAME,COORD_REF_SYS_KIND,COORD_SYS_ID,DATUM_ID,GEOG_CRS_DATUM_ID,SOURCE_GEOG_SRID,PROJECTION_CONV_ID,CMPD_HORIZ_SRID,CMPD_VERT_SRID,INFORMATION_SOURCE,DATA_SOURCE,IS_LEGACY,LEGACY_CODE,LEGACY_WKTEXT,LEGACY_CS_BOUNDS,IS_VALID,SUPPORTS_SDO_GEOMETRY) VALUES(9992010,'Xian 1980 / 3-degree Gauss-Kruger CM 118.83E','PROJECTED',4530,NULL,6610,4610,96170,NULL,NULL,'EPSG','EPSG','FALSE',NULL,NULL,NULL,'TRUE','TRUE');
转载于:https://www.cnblogs.com/cleverxy/archive/2012/04/28/2474563.html
Oracle Spatial构建自定义投影坐标系相关推荐
- ArcMap 自定义投影坐标系
作为内业数据矢量化人员,最头疼的事情莫过于拿到的工程dwg文件的坐标是当地的坐标系,对于如何将地方坐标系数据矢量化成可供前端展示的wgs84坐标,火星坐标以及百度坐标,感到无从下手,我也摸索了很长时间 ...
- ArcMap自定义投影坐标系
1.新建Shapefile文件 [1]启动ArcMap,新建空白地图文档: [2]打开[目录]窗口.单击[标准工具条]->[目录],弹出[目录]窗口,拖放[目录]窗口停靠在ArcMap右侧: [ ...
- oracle spatial(一)开端
如今的互联网时代,貌似人和人之间,商业活动之间的交流受地理位置的限制越来越小.但实质上,互联网使数字世界和地理世界联系的越来越紧密.跟踪业务的组成部分和分析它们已成为更为重要的事情.地理空间位置信息是 ...
- 投影坐标系单位oracle,在Oracle Spatial中增加Web Mercator投影坐标系
参考资料: 1. 最重要的参考文章,基本上就是按这个做的!!!:https://www.inf.unibz.it/dis/wiki/doku.php?id=students:minnerebner:o ...
- Arcgis中地理坐标系转投影坐标系(自定义地理坐标转换)
一般情况下,图层的坐标点由经纬度表示,单位为度,这是地理坐标系(地理坐标系是地球椭球体上的坐标,用经纬度表示).但是当需要计算距离.面积等属性的时候,坐标点的单位必须是长度单位,这是投影坐标系(投影坐 ...
- 【gis技术】arcgis如何新增自定义的中央子午线投影坐标系
arcgis自带了很多投影坐标系 比如cgcs2000的三度带 六度带等,但是有时候我们的数据是它没有的,比如118度中央子午线投影 如何自定义呢? 定义投影时,选择117后右击->复制并修改 ...
- ORACLE SPATIAL介绍
一. ORACLE SPATIAL 简介 ORACLE SPATIAL 是Oracle 的支持GIS数据存储的空间数据处理系统,是 Oracle 数据库强大的核心特性,包含了用于存储矢量数据类型.栅格 ...
- 2020FME博客大赛——解放大脑 经纬度坐标自动重投影至常用投影坐标系
作者:崔欣 单位:中国石油天然气管道工程有限公司 摘要:非测绘专业以及学艺不精的测绘人员对经纬度.投影带.带号.假东.假北.比例因子.高斯克吕格3度分带投影.高斯克吕格6度分带投影.墨卡托投影.通用横 ...
- oracle spatial 论文,oraclespatial在实际应用中的六大功能体现
oraclespatial在实际应用中的六大功能体现 Oracle Spatial在实际的应用中不但具有传统的GIS所有相关特性,而且Oracle Spatial还具有关系数据库的相关特性,就是这些特 ...
最新文章
- iOS 项目中用到的一些开源库和第三方组件
- win10 系统安装 服务器失败怎么回事,Win10正式版安装出现问题怎么办
- 基于360搜图爬取图片
- SpringBoot高级-消息-RabbitMQ安装测试
- Debian 9.6.0 + OpenMediaVault 4.x : U盘作系统盘时遇到的问题
- c# 联合halcon 基于相关性 模板匹配_机器视觉之halcon入门(5)-字符识别exe生成...
- java调用FFmpeg及mencoder转换视频为FLV并截图
- ORACLE RAC如何增加节点
- 【科研论文】基于HTTP协议的嵌入式远程监控系统的研究
- [原创]性能测试工程师试题
- (转)江南愤青丨丨监管办法之后,网贷一地鸡毛(2016年)
- 智能实验室-全能优化(Guardio) 4.3.0.730
- python中的颜色及其编码
- Oracle脱库脚本
- Excel修改默认分页符(仅仅在特定行后可插入分页符)
- 易班自动打卡+钉钉机器人消息提醒
- autojs免root脚本引擎开发的QQ空间说说点赞源码
- 掌握python机器学习-读书笔记8 (抽样回归算法)
- 如何把自己的电脑配置成外网可访问的服务器?
- 网狐荣耀6701,6801(系列十)手机端热更新
热门文章
- ssm radis mysql_从零开始搭建框架SSM+Redis+Mysql(一)之摘要
- 华为鸿蒙运行视频,某游戏在华为鸿蒙运行,被识别成使用安卓模拟器
- 华为atn980传输设备_注册开发者超200万!华为HMS加速全球布局,打造全场景智慧体验...
- java增加final,Java8增加功能--Effectively final 功能
- 属于窄带噪声的是热噪声_时钟201系列: 非相位噪声的情况 (第一篇)
- linux 启动脚本sleep后不执行_JMeter多脚本间的启动延时
- 5g信号云端服务器,随着5G万物互联的到来,云服务器迎来新机遇
- 线性代数--矩阵、向量
- C:内存中供用户使用的存储空间
- Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)