根据oracle空间数据(SDO_GEOMETRY)的多边形。多边形由地理坐标形成,并且可以是不规则的。
答案 0 :(得分:6)
以下函数返回GEOMETRY
的区域,它也适用于包括带孔的多边形的任何多边形。
SELECT SDO_GEOM.SDO_AREA(<geometry_column_name>, <tolerance_value>)
FROM <table_name>;
其中TOLERANCE_VALUE
用于将精度级别与空间数据相关联。有关详细信息,请参阅here。
答案 1 :(得分: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.