3

以 oracle 空间数据 (SDO_GEOMETRY) 表示的多边形。多边形由地理坐标形成,可以是不规则的。

4

2 回答 2

6

下面的函数返回GEOMETRY它也适用于任何多边形的区域,包括带孔的多边形。

SELECT SDO_GEOM.SDO_AREA(<geometry_column_name>, <tolerance_value>) 
FROM   <table_name>;

WhereTOLERANCE_VALUE用于将精度级别与空间数据相关联。请参阅此处了解更多详细信息。

于 2014-01-28T05:10:08.073 回答
1

此外,您可以指定返回结果的单位:

select state, county, sdo_geom.sdo_area(geom, 0.005, 'unit=sq_mile')
from us_counties;

返回以平方英里为单位的面积。如果您未指定任何单位,则如果几何采用大地坐标,则结果将以平方米为单位,投影时坐标系的距离单位为平方。这通常也是平方米,因为大多数预测以米为单位(但不是全部:一些美国预测以英尺为单位)。

我建议始终指定一个明确的单位,即使您想要平方米。这使您的代码更具可读性并消除了任何歧义。

您可以在此处找到可用的面积单位:

select distinct short_name, unit_of_meas_name 
from sdo_units_of_measure 
where unit_of_meas_type = 'area'; 

返回

SHORT_NAME           UNIT_OF_MEAS_NAME
-------------------- ------------------------------
ACRE                 Acre
HECTARE              Hectare
PERCH                Perch
ROOD                 Rood
SQ_KM                Square Kilometer
SQ_KILOMETER         Square Kilometer
SQ_M                 Square Meter
SQ_METER             Square Meter
SQ_CM                Square Centimeter
SQ_CENTIMETER        Square Centimeter
SQ_MM                Square Millimeter
SQ_MILLIMETER        Square Millimeter
SQ_MILE              Square Mile
SQ_FT                Square Foot
SQ_FOOT              Square Foot
SQ_IN                Square Inch
SQ_INCH              Square Inch
SQ_YARD              Square Yard
SQ_CH                Square Chain
SQ_CHAIN             Square Chain
SQ_LI                Square Link
SQ_LINK              Square Link
SQ_ROD               Square Rod
SQ_SURVEY_FOOT       Square Survey Feet
USER-SQ-HALF-METER   USER-SQ-HALF-METER

25 rows selected.
于 2014-01-29T08:55:11.750 回答