关于oracle空间坐标处理

本文主要探讨了在GIS工作中遇到的空间坐标处理问题,包括通过Oracle空间函数和OpenLayer获取空间面积的方法,解决大量坐标导入异常的策略,以及如何读取和处理空间坐标数据。涉及到的关键技术包括Oracle的SDO_GEOMETRY类型、Java的JGeometry库以及SQL操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为最近在做GIS相关的工作,在工作过程中出现了很多的关于对空间坐标处理的问题,下面来记录一下:

一、已知空间坐标数据,获取当前空间坐标数据的面积:

获取空间面积存在两个方面,

一种是java通过oracle的空间函数进行获取

通过oracle空间坐标的:

SDO_GEOM.SDO_AREA函数进行获取。
SDO_GEOM.SDO_AREA(     
  geom  IN SDO_GEOMETRY,      
  dim   IN SDO_DIM_ARRAY       
  [, unit  IN VARCHAR2]      
) RETURN NUMBER;

or

SDO_GEOM.SDO_AREA(     
  geom  IN SDO_GEOMETRY,      
  tol   IN NUMBER       
  [, unit  IN VARCHAR2]      
) RETURN NUMBER;

函数的使用根据不同参数可以采取不同的使用方式,其中参数geom为空间坐标数据,参数dim为集合维度数组,tol为公差值,unit为单位,一版默认不填写

例如:

select SDO_GEOM.SDO_AREA(geom,0.05) area from tableNmae

第二种是通过将图层进行发布之后,通过openlayer的方式获取

通过openlayer的方式获取面积需要获取到图形的经纬度,然后进行计算,因为我这边使用的是

EPSG:4326,因为我们需要获取的单位是常规的平方米,所以需要进行转化,示例代码:
var sphere = new ol.Sphere(6378137);
console.log(Math.abs(sphere.geodesicArea(feature
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值