x86_64-pc-linux-gnu上的PostgreSQL 8.4.19,由GCC gcc-4.4.real编译 (Ubuntu 4.4.3-4ubuntu5.1)4.4.3,64位
POSTGIS =" 1.4.0" GEOS =" 3.1.0-CAPI-1.5.0" PROJ ="相对。 9月23日4。7。1 2009" USE_STATS
我有一个简单选择的程序:
overlappingArea float8;
select ST_Area(st_intersection(table1.geometry, fable2.geometry)) into overlappingArea;
函数ST_Area的返回值应为float8
这是为了给我两个多边形之间的交集。
我进入变量 overlapArea 的值是 2.37783222019061e-05
我用它来获取table1的值超过表2:
select
(overlappingArea / st_area(table1.geometry)) * 100
into pctOverlappingAreaAB;
它有效!问题是当我做一个简单的,如果那样
if (overlappingArea > 0.10 ) then ....
它总是返回false,如果我尝试截断这样的值:
trunc(overlappingArea)
我得到0为什么?